test/unittest_utils.py
branch3.5
changeset 3231 3ee43e2f8560
parent 2635 c94df21f7ab2
child 3293 69c0ba095536
equal deleted inserted replaced
3223:480b003cd31b 3231:3ee43e2f8560
     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()