summaryrefslogtreecommitdiff
path: root/simplejson/tests/test_dump.py
diff options
context:
space:
mode:
authorBob Ippolito <bob@redivi.com>2012-12-29 12:41:55 -0800
committerBob Ippolito <bob@redivi.com>2012-12-29 12:41:55 -0800
commit16ae2381fc14d4e91fa3af5d82e01eda6929572e (patch)
tree4e5c2554bc5083a1a107e706050e99121e35a759 /simplejson/tests/test_dump.py
parent83a493db6a8b859ec7b10fa85365dd3fdf144c68 (diff)
downloadsimplejson-16ae2381fc14d4e91fa3af5d82e01eda6929572e.tar.gz
more coverage, decimal key coercion
Diffstat (limited to 'simplejson/tests/test_dump.py')
-rw-r--r--simplejson/tests/test_dump.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/simplejson/tests/test_dump.py b/simplejson/tests/test_dump.py
index 9f1e826..04cfc67 100644
--- a/simplejson/tests/test_dump.py
+++ b/simplejson/tests/test_dump.py
@@ -1,5 +1,5 @@
from unittest import TestCase
-from simplejson.compat import StringIO, long_type
+from simplejson.compat import StringIO, long_type, b
import simplejson as json
class TestDump(TestCase):
@@ -8,6 +8,29 @@ class TestDump(TestCase):
json.dump({}, sio)
self.assertEquals(sio.getvalue(), '{}')
+ def test_constants(self):
+ for c in [None, True, False]:
+ self.assert_(json.loads(json.dumps(c)) is c)
+ self.assert_(json.loads(json.dumps([c]))[0] is c)
+ self.assert_(json.loads(json.dumps({'a': c}))['a'] is c)
+
+ def test_stringify_key(self):
+ items = [(b('bytes'), 'bytes'),
+ (1.0, '1.0'),
+ (10, '10'),
+ (True, 'true'),
+ (False, 'false'),
+ (None, 'null'),
+ (long_type(100), '100')]
+ for k, expect in items:
+ self.assertEquals(
+ json.loads(json.dumps({k: expect})),
+ {expect: expect})
+ self.assertRaises(TypeError, json.dumps, {json: 1})
+ self.assertEquals(
+ json.loads(json.dumps({json: 1}, skipkeys=True)),
+ {})
+
def test_dumps(self):
self.assertEquals(json.dumps({}), '{}')