Mercurial > cpython-lru_cache-weakref
diff Lib/json/tests/test_float.py @ 80598:e092ff374721 2.7
#16559: Add more tests for the json module. Patch by Serhiy Storchaka.
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Mon, 26 Nov 2012 19:22:58 +0200 |
| parents | 5b0fecd2eba0 |
| children |
line wrap: on
line diff
--- a/Lib/json/tests/test_float.py Sun Nov 25 20:35:23 2012 -0800 +++ b/Lib/json/tests/test_float.py Mon Nov 26 19:22:58 2012 +0200 @@ -17,6 +17,21 @@ self.assertEqual(self.loads(self.dumps(num)), num) self.assertEqual(self.loads(unicode(self.dumps(num))), num) + def test_out_of_range(self): + self.assertEqual(self.loads('[23456789012E666]'), [float('inf')]) + self.assertEqual(self.loads('[-23456789012E666]'), [float('-inf')]) + + def test_allow_nan(self): + for val in (float('inf'), float('-inf'), float('nan')): + out = self.dumps([val]) + if val == val: # inf + self.assertEqual(self.loads(out), [val]) + else: # nan + res = self.loads(out) + self.assertEqual(len(res), 1) + self.assertNotEqual(res[0], res[0]) + self.assertRaises(ValueError, self.dumps, [val], allow_nan=False) + class TestPyFloat(TestFloat, PyTest): pass class TestCFloat(TestFloat, CTest): pass
