Exemplo n.º 1
0
    def test(self):

        for minutes in 1439, 600, 1, 0, -1, -600, -1439:
            info1 = tzinfo(minutes)
            info2 = tzinfo(minutes)

            self.assertEqual(info1, info2)
            self.assert_(info1 is info2)
            self.assert_(pickle.loads(pickle.dumps(info1)) is info1)


            self.assertEqual(info1.utcoffset(None),
                             datetime.timedelta(minutes=minutes))

            self.assertEqual(info1.dst(None), None)
            self.assertEqual(info1.tzname(None), None)

        for minutes in 900000, 1440*60, -1440*60, -900000:
            self.assertRaises(ValueError, tzinfo, minutes)
Exemplo n.º 2
0
    def test_min_max_validation(self):
        self.getRootFolder()['test'] = DatetimeTest()
        transaction.commit()

        # submit value for d1 that is too low
        response = self.publish('/test/edit.html', form={
            'UPDATE_SUBMIT' : '',
            'field.d1' : str(datetime(2002, 12, 31, tzinfo=tzinfo(0))) })
        self.assertEqual(response.getStatus(), 200)
        self.assert_(validationErrorExists('d1', 'Value is too small',
            response.getBody()))

        # submit value for i1 that is too high
        response = self.publish('/test/edit.html', form={
            'UPDATE_SUBMIT' : '',
            'field.d1' : str(datetime(2021, 1, 1, tzinfo=tzinfo(0))) })
        self.assertEqual(response.getStatus(), 200)
        self.assert_(validationErrorExists('d1', 'Value is too big',
            response.getBody()))
Exemplo n.º 3
0
    def test_invalid_value(self):
        self.getRootFolder()['test'] = DatetimeTest()
        transaction.commit()

        # submit a value for d3 that isn't allowed
        response = self.publish('/test/edit.html', form={
            'UPDATE_SUBMIT' : '',
            'field.d3' : str(datetime(2003, 2, 1, tzinfo=tzinfo(0))) })
        self.assertEqual(response.getStatus(), 200)
        self.assert_(invalidValueErrorExists('d3', response.getBody()))
Exemplo n.º 4
0
    def test_submit_editform(self):
        self.getRootFolder()['test'] = DatetimeTest()
        transaction.commit()

        d1 = datetime(2003, 2, 1, tzinfo=tzinfo(0))
        d2 = datetime(2003, 2, 2, tzinfo=tzinfo(0))
        d3 = datetime(2003, 10, 15, tzinfo=tzinfo(0))

        # submit edit view
        response = self.publish('/test/edit.html', form={
            'UPDATE_SUBMIT' : '',
            'field.d1' : str(d1),
            'field.d2' : str(d2),
            'field.d3' : str(d3) })
        self.assertEqual(response.getStatus(), 200)
        self.assert_(updatedMsgExists(response.getBody()))

        # check new values in object
        object = traverse(self.getRootFolder(), 'test')

        self.assertEqual(object.d1, d1)
        self.assertEqual(object.d2, d2)
        self.assertEqual(object.d3, d3)
Exemplo n.º 5
0
    def test_missing_value(self):
        self.getRootFolder()['test'] = DatetimeTest()
        transaction.commit()

        # submit missing values for d2 and d3
        response = self.publish('/test/edit.html', form={
            'UPDATE_SUBMIT' : '',
            'field.d2' : '',
            'field.d3-empty-marker' : '' })
        self.assertEqual(response.getStatus(), 200)
        self.assert_(updatedMsgExists(response.getBody()))

        # check new values in object
        object = traverse(self.getRootFolder(), 'test')
        self.assert_(object.d2 is None) # default missing_value for dates
        # 2000-1-1 is missing_value for d3
        self.assertEqual(object.d3, datetime(2000, 1, 1, tzinfo=tzinfo(0)))
Exemplo n.º 6
0
 def testParseDatetimetz(self):
     from datetime import datetime
     from zope.app.datetimeutils import parseDatetimetz, tzinfo
     self.assertEqual(parseDatetimetz('1999-12-31T01:02:03.037-00:30'),
                      datetime(1999, 12, 31, 1, 2, 3, 37000, tzinfo(-30)))
Exemplo n.º 7
0
 def __init__(self):
     self.d1 = datetime(2003, 4, 6, tzinfo=tzinfo(0))
     self.d2 = datetime(2003, 8, 6, tzinfo=tzinfo(0))
     self.d3 = None