summaryrefslogtreecommitdiffstats
path: root/Lib/test/json_tests/test_dump.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-08-08 12:03:45 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2013-08-08 12:03:45 (GMT)
commit66f2ea042acf792bf6ff432f409628e1cec99e43 (patch)
tree9d7e5a24d3f26eeeb63a0f00fa4758b5dde8d099 /Lib/test/json_tests/test_dump.py
parent0d2d2b83935a516235f4dbce25aefad789d088cf (diff)
downloadcpython-66f2ea042acf792bf6ff432f409628e1cec99e43.zip
cpython-66f2ea042acf792bf6ff432f409628e1cec99e43.tar.gz
cpython-66f2ea042acf792bf6ff432f409628e1cec99e43.tar.bz2
#18273: move the tests in Lib/test/json_tests to Lib/test/test_json and make them discoverable by unittest. Patch by Zachary Ware.
Diffstat (limited to 'Lib/test/json_tests/test_dump.py')
-rw-r--r--Lib/test/json_tests/test_dump.py49
1 files changed, 0 insertions, 49 deletions
diff --git a/Lib/test/json_tests/test_dump.py b/Lib/test/json_tests/test_dump.py
deleted file mode 100644
index 237ee35..0000000
--- a/Lib/test/json_tests/test_dump.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from io import StringIO
-from test.json_tests import PyTest, CTest
-
-from test.support import bigmemtest, _1G
-
-class TestDump:
- def test_dump(self):
- sio = StringIO()
- self.json.dump({}, sio)
- self.assertEqual(sio.getvalue(), '{}')
-
- def test_dumps(self):
- self.assertEqual(self.dumps({}), '{}')
-
- def test_encode_truefalse(self):
- self.assertEqual(self.dumps(
- {True: False, False: True}, sort_keys=True),
- '{"false": true, "true": false}')
- self.assertEqual(self.dumps(
- {2: 3.0, 4.0: 5, False: 1, 6: True}, sort_keys=True),
- '{"false": 1, "2": 3.0, "4.0": 5, "6": true}')
-
- # Issue 16228: Crash on encoding resized list
- def test_encode_mutated(self):
- a = [object()] * 10
- def crasher(obj):
- del a[-1]
- self.assertEqual(self.dumps(a, default=crasher),
- '[null, null, null, null, null]')
-
-
-class TestPyDump(TestDump, PyTest): pass
-
-class TestCDump(TestDump, CTest):
-
- # The size requirement here is hopefully over-estimated (actual
- # memory consumption depending on implementation details, and also
- # system memory management, since this may allocate a lot of
- # small objects).
-
- @bigmemtest(size=_1G, memuse=1)
- def test_large_list(self, size):
- N = int(30 * 1024 * 1024 * (size / _1G))
- l = [1] * N
- encoded = self.dumps(l)
- self.assertEqual(len(encoded), N * 3)
- self.assertEqual(encoded[:1], "[")
- self.assertEqual(encoded[-2:], "1]")
- self.assertEqual(encoded[1:-2], "1, " * (N - 1))