def test_submit_editform(self): foo = DatetimeTest() request = TestRequest() request.form["form.d1"] = u"2003-02-01 00:00:00+00:00" request.form["form.d2"] = u"2003-02-02 00:00:00+00:00" request.form["form.d3"] = u"2003-10-15 00:00:00+00:00" request.form["form.actions.apply"] = u"" Form(foo, request)() self.assertEqual(foo.d1, datetime(2003, 2, 1, tzinfo=tzinfo(0))) self.assertEqual(foo.d2, datetime(2003, 2, 2, tzinfo=tzinfo(0))) self.assertEqual(foo.d3, datetime(2003, 10, 15, tzinfo=tzinfo(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)
def _conv_timestamptz(s, cursor): if s: from zope.datetime import tzinfo y, m, d, hr, mn, sc, tz = parse_datetimetz(s) sc, micro = divmod(sc, 1.0) micro = round(micro * 1000000) if tz: tz = tzinfo(tz) return datetime(y, m, d, hr, mn, int(sc), int(micro), tz)
def test_getLongInputValue(self): self._widget.displayStyle = "long" self.test_getDefaultInputValue( value=(u'26 \u043c\u0430\u0440\u0442\u0430 2004 \u0433.' u' 12:58:59 +030'), check_value=datetime.datetime(2004, 3, 26, 12, 58, 59, tzinfo=tzinfo(30)) )
def test_getFullInputValue(self): self._widget.displayStyle = "full" self.test_getDefaultInputValue( value=(u'26 \u043c\u0430\u0440\u0442\u0430 2004 \u0433.' u' 12:58:59 +030'), check_value=datetime.datetime(2004, 3, 26, 12, 58, 59, tzinfo=tzinfo(30)) )
def test(self): for minutes in 1439, 600, 1, 0, -1, -600, -1439: info1 = tzinfo(minutes) info2 = tzinfo(minutes) self.assertEqual(info1, info2) self.assertIs(info1, info2) self.assertIs(pickle.loads(pickle.dumps(info1)), 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)
def test_submit_editform(self): self.getRootFolder()['test'] = DatetimeTest() transaction.commit() # submit edit view response = self.publish('/test/edit.html', form={ 'UPDATE_SUBMIT': '', 'field.d1': u'2003-02-01 00:00:00+00:00', 'field.d2': u'2003-02-02 00:00:00+00:00', 'field.d3': u'2003-10-15 00:00:00+00:00' }, env={"HTTP_ACCEPT_LANGUAGE": "en"}) self.assertEqual(response.getStatus(), 200) self.assert_(updatedMsgExists(response.getBody())) # check new values in object object = traverse(self.getRootFolder(), 'test') self.assertEqual(object.d1, datetime(2003, 2, 1, tzinfo=tzinfo(0))) self.assertEqual(object.d2, datetime(2003, 2, 2, tzinfo=tzinfo(0))) self.assertEqual(object.d3, datetime(2003, 10, 15, tzinfo=tzinfo(0)))
def test_missing_value(self): foo = DatetimeTest() request = TestRequest() # submit missing values for d2 and d3 request.form['form.d2'] = '' request.form['form.d3-empty-marker'] = '' request.form['form.actions.apply'] = u'' Form(foo, request)() self.assert_(foo.d2 is None) # default missing_value for dates # 2000-1-1 is missing_value for d3 self.assertEqual(foo.d3, datetime(2000, 1, 1, tzinfo=tzinfo(0)))
def test_missing_value(self): foo = DatetimeTest() request = TestRequest() # submit missing values for d2 and d3 request.form["form.d2"] = "" request.form["form.d3-empty-marker"] = "" request.form["form.actions.apply"] = u"" Form(foo, request)() self.assert_(foo.d2 is None) # default missing_value for dates # 2000-1-1 is missing_value for d3 self.assertEqual(foo.d3, datetime(2000, 1, 1, tzinfo=tzinfo(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)))
def testParseDatetimetz(self): self.assertEqual(parseDatetimetz('1999-12-31T01:02:03.037-00:30'), datetime(1999, 12, 31, 1, 2, 3, 37000, tzinfo(-30))) self.assertEqual(parseDatetimetz('2003 6 4 00:00:00 ', local=False), datetime(2003, 6, 4))
def __init__(self): self.d1 = datetime(2003, 4, 6, tzinfo=tzinfo(0)) self.d2 = datetime(2003, 8, 6, tzinfo=tzinfo(0)) self.d3 = None
def test_getLongInputValue(self): self._widget.displayStyle = "long" self.test_getDefaultInputValue( value=(u"26 \u043c\u0430\u0440\u0442\u0430 2004 \u0433." u" 12:58:59 +030"), check_value=datetime.datetime(2004, 3, 26, 12, 58, 59, tzinfo=tzinfo(30)), )