summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Ippolito <bob@redivi.com>2012-12-30 19:14:34 -0800
committerBob Ippolito <bob@redivi.com>2012-12-30 19:14:34 -0800
commit5ed2285e1d88f8075d47b10f941e7581d78828ff (patch)
tree3c0039494a0c1f085adde3910213eda9d68acb13
parent09d9f45b80a225808a33ca1a86e8a8ba40180b17 (diff)
downloadsimplejson-5ed2285e1d88f8075d47b10f941e7581d78828ff.tar.gz
more coverage for skipkeys
-rw-r--r--simplejson/tests/test_dump.py27
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({}), '{}')