6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
7 """ |
7 """ |
8 |
8 |
9 from logilab.common.testlib import TestCase, unittest_main |
9 from logilab.common.testlib import TestCase, unittest_main |
10 |
10 |
11 from cubicweb.utils import make_uid, UStringIO, SizeConstrainedList |
11 import simplejson |
|
12 import decimal |
|
13 import datetime |
|
14 |
|
15 from cubicweb.utils import make_uid, UStringIO, SizeConstrainedList, CubicWebJsonEncoder |
12 |
16 |
13 |
17 |
14 class MakeUidTC(TestCase): |
18 class MakeUidTC(TestCase): |
15 def test_1(self): |
19 def test_1(self): |
16 self.assertNotEquals(make_uid('xyz'), make_uid('abcd')) |
20 self.assertNotEquals(make_uid('xyz'), make_uid('abcd')) |
46 for extension, expected in testdata: |
50 for extension, expected in testdata: |
47 l = SizeConstrainedList(10) |
51 l = SizeConstrainedList(10) |
48 l.extend(extension) |
52 l.extend(extension) |
49 yield self.assertEquals, l, expected |
53 yield self.assertEquals, l, expected |
50 |
54 |
|
55 class JSONEncoerTests(TestCase): |
|
56 |
|
57 def encode(self, value): |
|
58 return simplejson.dumps(value, cls=CubicWebJsonEncoder) |
|
59 |
|
60 def test_encoding_dates(self): |
|
61 self.assertEquals(self.encode(datetime.datetime(2009, 9, 9, 20, 30)), |
|
62 '"2009/09/09 20:30:00"') |
|
63 self.assertEquals(self.encode(datetime.date(2009, 9, 9)), |
|
64 '"2009/09/09"') |
|
65 self.assertEquals(self.encode(datetime.time(20, 30)), |
|
66 '"20:30:00"') |
|
67 |
|
68 def test_encoding_decimal(self): |
|
69 self.assertEquals(self.encode(decimal.Decimal('1.2')), '1.2') |
|
70 |
|
71 def test_encoding_unknown_stuff(self): |
|
72 self.assertEquals(self.encode(TestCase), 'null') |
51 |
73 |
52 if __name__ == '__main__': |
74 if __name__ == '__main__': |
53 unittest_main() |
75 unittest_main() |