summaryrefslogtreecommitdiff
path: root/simplejson/tests/test_errors.py
blob: e0b958c7818dc67c80896b7290653c2d1362394a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from unittest import TestCase

import simplejson as json

class TestErrors(TestCase):
    def test_string_keys_error(self):
        data = [{'a': 'A', 'b': (2, 4), 'c': 3.0, ('d',): 'D tuple'}]
        self.assertRaises(TypeError, json.dumps, data)

    def test_decode_error(self):
        err = None
        try:
            json.loads('{}\na\nb')
        except json.JSONDecodeError, e:
            err = e
        else:
            self.fail('Expected JSONDecodeError')
        self.assertEquals(err.lineno, 2)
        self.assertEquals(err.colno, 1)
        self.assertEquals(err.endlineno, 3)
        self.assertEquals(err.endcolno, 2)

    def test_scan_error(self):
        err = None
        try:
            json.loads('{"asdf": "')
        except json.JSONDecodeError, e:
            err = e
        else:
            self.fail('Expected JSONDecodeError')
        self.assertEquals(err.lineno, 1)
        self.assertEquals(err.colno, 9)