summaryrefslogtreecommitdiff
path: root/simplejson/tests/test_raw_json.py
diff options
context:
space:
mode:
Diffstat (limited to 'simplejson/tests/test_raw_json.py')
-rw-r--r--simplejson/tests/test_raw_json.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/simplejson/tests/test_raw_json.py b/simplejson/tests/test_raw_json.py
new file mode 100644
index 0000000..1dfcc2c
--- /dev/null
+++ b/simplejson/tests/test_raw_json.py
@@ -0,0 +1,47 @@
+import unittest
+import simplejson as json
+
+dct1 = {
+ 'key1': 'value1'
+}
+
+dct2 = {
+ 'key2': 'value2',
+ 'd1': dct1
+}
+
+dct3 = {
+ 'key2': 'value2',
+ 'd1': json.dumps(dct1)
+}
+
+dct4 = {
+ 'key2': 'value2',
+ 'd1': json.RawJSON(json.dumps(dct1))
+}
+
+
+class TestRawJson(unittest.TestCase):
+
+ def test_normal_str(self):
+ self.assertNotEqual(json.dumps(dct2), json.dumps(dct3))
+
+ def test_raw_json_str(self):
+ self.assertEqual(json.dumps(dct2), json.dumps(dct4))
+ self.assertEqual(dct2, json.loads(json.dumps(dct4)))
+
+ def test_list(self):
+ self.assertEqual(
+ json.dumps([dct2]),
+ json.dumps([json.RawJSON(json.dumps(dct2))]))
+ self.assertEqual(
+ [dct2],
+ json.loads(json.dumps([json.RawJSON(json.dumps(dct2))])))
+
+ def test_direct(self):
+ self.assertEqual(
+ json.dumps(dct2),
+ json.dumps(json.RawJSON(json.dumps(dct2))))
+ self.assertEqual(
+ dct2,
+ json.loads(json.dumps(json.RawJSON(json.dumps(dct2)))))