diff --git a/CHANGELOG.md b/CHANGELOG.md index 6713db68e99805f980556b3b5dd0543ab01a13c9..d78e50d8ebdf89c71512502b8f602d827a0e8875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ Changelog is kept at [GitHub](https://github.com/Dronehub/minijson/releases), here's only the changelog for the version in development -# v1.7 +# v2.0 -* I totally forgot about booleans! +* fixed a bug with serializing uint32a +* major refactor + * backwards compatible 100% diff --git a/minijson.pyx b/minijson.pyx index 3408cbfbdf39b9be6df3e627a054944bf1c6e3ce..fa54d2a15dffa36f305eae1cd42394386257b205 100644 --- a/minijson.pyx +++ b/minijson.pyx @@ -359,8 +359,8 @@ cpdef int dump(object data, cio: io.BytesIO) except -1: cio.write(b'\x0C') cio.write(STRUCT_L.pack(data)[1:]) return 4 - elif 0 <= data <= 0xFFFFFFFF: # unsigned int, type 6 - cio.write(b'\x06') + elif 0 <= data <= 0xFFFFFFFF: # unsigned int, type 4 + cio.write(b'\x04') cio.write(STRUCT_L.pack(data)) return 5 else: diff --git a/setup.py b/setup.py index 3c79f247a10b8de1dec72299bbc6d57b4a6b1cad..3bb138ec0df96e3e78268ac0782750044a2c5b12 100644 --- a/setup.py +++ b/setup.py @@ -20,6 +20,6 @@ extensions = [Extension("minijson", ["minijson.pyx"], define_macros=macros), ] -setup(version='1.7', +setup(version='2.0rc1', ext_modules=cythonize(extensions), ) diff --git a/tests/test_minijson.py b/tests/test_minijson.py index 3b275d9ff24fbb426e8b8160b87011af8d857820..e50c4a662e803b157d02898f68bbcb74f49d6580 100644 --- a/tests/test_minijson.py +++ b/tests/test_minijson.py @@ -97,7 +97,10 @@ class TestMiniJSON(unittest.TestCase): self.assertSameAfterDumpsAndLoads(-0x7FFF) self.assertSameAfterDumpsAndLoads(-0xFFFF) self.assertSameAfterDumpsAndLoads(0x1FFFF) - self.assertSameAfterDumpsAndLoads(0xFFFFFFFF) + b = dumps(0xFFFFFFFF) + print('Serialized to %s' % (b, )) + c = loads(b) + self.assertEqual(0xFFFFFFFF, c) self.assertSameAfterDumpsAndLoads(0x1FFFFFF) self.assertRaises(EncodingError, lambda: dumps(0xFFFFFFFFF))