MCPcopy Create free account
hub / github.com/simplejson/simplejson / TestErrors

Class TestErrors

simplejson/tests/test_errors.py:8–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6from simplejson.compat import text_type, b
7
8class TestErrors(TestCase):
9 def test_string_keys_error(self):
10 data = [{'a': 'A', 'b': (2, 4), 'c': 3.0, ('d',): 'D tuple'}]
11 try:
12 json.dumps(data)
13 except TypeError:
14 err = sys.exc_info()[1]
15 else:
16 self.fail('Expected TypeError')
17 self.assertEqual(str(err),
18 'keys must be str, int, float, bool or None, not tuple')
19
20 def test_not_serializable(self):
21 try:
22 json.dumps(json)
23 except TypeError:
24 err = sys.exc_info()[1]
25 else:
26 self.fail('Expected TypeError')
27 self.assertEqual(str(err),
28 'Object of type module is not JSON serializable')
29
30 def test_decode_error(self):
31 err = None
32 try:
33 json.loads('{}\na\nb')
34 except json.JSONDecodeError:
35 err = sys.exc_info()[1]
36 else:
37 self.fail('Expected JSONDecodeError')
38 self.assertEqual(err.lineno, 2)
39 self.assertEqual(err.colno, 1)
40 self.assertEqual(err.endlineno, 3)
41 self.assertEqual(err.endcolno, 2)
42
43 def test_scan_error(self):
44 err = None
45 for t in (text_type, b):
46 try:
47 json.loads(t('{"asdf": "'))
48 except json.JSONDecodeError:
49 err = sys.exc_info()[1]
50 else:
51 self.fail('Expected JSONDecodeError')
52 self.assertEqual(err.lineno, 1)
53 self.assertEqual(err.colno, 10)
54
55 def test_error_is_pickable(self):
56 err = None
57 try:
58 json.loads('{}\na\nb')
59 except json.JSONDecodeError:
60 err = sys.exc_info()[1]
61 else:
62 self.fail('Expected JSONDecodeError')
63 s = pickle.dumps(err)
64 e = pickle.loads(s)
65

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…