Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / lib / simplejson / tests / test_check_circular.py @ 545

History | View | Annotate | Download (917 Bytes)

1
from unittest import TestCase
2
import simplejson as json
3

    
4
def default_iterable(obj):
5
    return list(obj)
6

    
7
class TestCheckCircular(TestCase):
8
    def test_circular_dict(self):
9
        dct = {}
10
        dct['a'] = dct
11
        self.assertRaises(ValueError, json.dumps, dct)
12

    
13
    def test_circular_list(self):
14
        lst = []
15
        lst.append(lst)
16
        self.assertRaises(ValueError, json.dumps, lst)
17

    
18
    def test_circular_composite(self):
19
        dct2 = {}
20
        dct2['a'] = []
21
        dct2['a'].append(dct2)
22
        self.assertRaises(ValueError, json.dumps, dct2)
23

    
24
    def test_circular_default(self):
25
        json.dumps([set()], default=default_iterable)
26
        self.assertRaises(TypeError, json.dumps, [set()])
27

    
28
    def test_circular_off_default(self):
29
        json.dumps([set()], default=default_iterable, check_circular=False)
30
        self.assertRaises(TypeError, json.dumps, [set()], check_circular=False)