summaryrefslogtreecommitdiffstats
path: root/pyload/lib/simplejson/tests/test_tuple.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/lib/simplejson/tests/test_tuple.py')
-rw-r--r--pyload/lib/simplejson/tests/test_tuple.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/pyload/lib/simplejson/tests/test_tuple.py b/pyload/lib/simplejson/tests/test_tuple.py
new file mode 100644
index 000000000..a6a991005
--- /dev/null
+++ b/pyload/lib/simplejson/tests/test_tuple.py
@@ -0,0 +1,51 @@
+import unittest
+
+from simplejson.compat import StringIO
+import simplejson as json
+
+class TestTuples(unittest.TestCase):
+ def test_tuple_array_dumps(self):
+ t = (1, 2, 3)
+ expect = json.dumps(list(t))
+ # Default is True
+ self.assertEqual(expect, json.dumps(t))
+ self.assertEqual(expect, json.dumps(t, tuple_as_array=True))
+ self.assertRaises(TypeError, json.dumps, t, tuple_as_array=False)
+ # Ensure that the "default" does not get called
+ self.assertEqual(expect, json.dumps(t, default=repr))
+ self.assertEqual(expect, json.dumps(t, tuple_as_array=True,
+ default=repr))
+ # Ensure that the "default" gets called
+ self.assertEqual(
+ json.dumps(repr(t)),
+ json.dumps(t, tuple_as_array=False, default=repr))
+
+ def test_tuple_array_dump(self):
+ t = (1, 2, 3)
+ expect = json.dumps(list(t))
+ # Default is True
+ sio = StringIO()
+ json.dump(t, sio)
+ self.assertEqual(expect, sio.getvalue())
+ sio = StringIO()
+ json.dump(t, sio, tuple_as_array=True)
+ self.assertEqual(expect, sio.getvalue())
+ self.assertRaises(TypeError, json.dump, t, StringIO(),
+ tuple_as_array=False)
+ # Ensure that the "default" does not get called
+ sio = StringIO()
+ json.dump(t, sio, default=repr)
+ self.assertEqual(expect, sio.getvalue())
+ sio = StringIO()
+ json.dump(t, sio, tuple_as_array=True, default=repr)
+ self.assertEqual(expect, sio.getvalue())
+ # Ensure that the "default" gets called
+ sio = StringIO()
+ json.dump(t, sio, tuple_as_array=False, default=repr)
+ self.assertEqual(
+ json.dumps(repr(t)),
+ sio.getvalue())
+
+class TestNamedTuple(unittest.TestCase):
+ def test_namedtuple_dump(self):
+ pass