diff options
author | Bob Ippolito <bob@redivi.com> | 2012-12-30 19:14:34 -0800 |
---|---|---|
committer | Bob Ippolito <bob@redivi.com> | 2012-12-30 19:14:34 -0800 |
commit | 5ed2285e1d88f8075d47b10f941e7581d78828ff (patch) | |
tree | 3c0039494a0c1f085adde3910213eda9d68acb13 | |
parent | 09d9f45b80a225808a33ca1a86e8a8ba40180b17 (diff) | |
download | simplejson-5ed2285e1d88f8075d47b10f941e7581d78828ff.tar.gz |
more coverage for skipkeys
-rw-r--r-- | simplejson/tests/test_dump.py | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/simplejson/tests/test_dump.py b/simplejson/tests/test_dump.py index 04cfc67..e8c6054 100644 --- a/simplejson/tests/test_dump.py +++ b/simplejson/tests/test_dump.py @@ -1,7 +1,12 @@ from unittest import TestCase -from simplejson.compat import StringIO, long_type, b +from simplejson.compat import StringIO, long_type, b, binary_type, PY3 import simplejson as json +def as_text_type(s): + if PY3 and isinstance(s, binary_type): + return s.decode('ascii') + return s + class TestDump(TestCase): def test_dump(self): sio = StringIO() @@ -26,10 +31,24 @@ class TestDump(TestCase): self.assertEquals( json.loads(json.dumps({k: expect})), {expect: expect}) + self.assertEquals( + json.loads(json.dumps({k: expect}, sort_keys=True)), + {expect: expect}) self.assertRaises(TypeError, json.dumps, {json: 1}) - self.assertEquals( - json.loads(json.dumps({json: 1}, skipkeys=True)), - {}) + for v in [{}, {'other': 1}, {b('derp'): 1, 'herp': 2}]: + for sort_keys in [False, True]: + v0 = dict(v) + v0[json] = 1 + v1 = dict((as_text_type(key), val) for (key, val) in v.items()) + self.assertEquals( + json.loads(json.dumps(v0, skipkeys=True, sort_keys=sort_keys)), + v1) + self.assertEquals( + json.loads(json.dumps({'': v0}, skipkeys=True, sort_keys=sort_keys)), + {'': v1}) + self.assertEquals( + json.loads(json.dumps([v0], skipkeys=True, sort_keys=sort_keys)), + [v1]) def test_dumps(self): self.assertEquals(json.dumps({}), '{}') |