def test_allow_empty_time(self): result = self.v.validate( DateTimeField('f', allow_empty_time=1, date_only=1), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1' }) self.assertEquals(2002, result.year()) self.assertEquals(12, result.month()) self.assertEquals(1, result.day()) self.assertEquals(0, result.hour()) self.assertEquals(0, result.minute()) result = self.v.validate( DateTimeField('f', allow_empty_time=1), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1', 'subfield_f_hour': '10', 'subfield_f_minute': '30' }) self.assertEquals(2002, result.year()) self.assertEquals(12, result.month()) self.assertEquals(1, result.day()) self.assertEquals(10, result.hour()) self.assertEquals(30, result.minute())
def test_ampm(self): result = self.v.validate( DateTimeField('f', ampm_time_style=1), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1', 'subfield_f_hour': '10', 'subfield_f_minute': '30', 'subfield_f_ampm': 'am' }) self.assertEquals(2002, result.year()) self.assertEquals(12, result.month()) self.assertEquals(1, result.day()) self.assertEquals(10, result.hour()) self.assertEquals(30, result.minute()) result = self.v.validate( DateTimeField('f', ampm_time_style=1), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1', 'subfield_f_hour': '10', 'subfield_f_minute': '30', 'subfield_f_ampm': 'pm' }) self.assertEquals(2002, result.year()) self.assertEquals(12, result.month()) self.assertEquals(1, result.day()) self.assertEquals(22, result.hour()) self.assertEquals(30, result.minute()) self.assertValidatorRaises( KeyError, 'not_datetime', self.v.validate, DateTimeField('f', ampm_time_style=1), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1', 'subfield_f_hour': '10', 'subfield_f_minute': '30' })
class TestDateTimeField(ERP5TypeTestCase): """Tests DateTime field """ def getTitle(self): return "DateTime Field" def afterSetUp(self): self.field = DateTimeField('test_field') self.widget = self.field.widget def test_render_odt(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.assertEquals('2010/01/01 00:00', self.field.render_odt(as_string=False).text) def test_render_odg(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.field.render_odg(as_string=False) self.assertEquals('2010/01/01 00:00', self.field.render_odg(as_string=False)\ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]) def test_render_odt_variable(self): value = DateTime(2010, 12, 06, 10, 23, 32, 'GMT+5') self.field.values['default'] = value node = self.field.render_odt_variable(as_string=False) self.assertEquals(node.get('{%s}value-type' % NSMAP['office']), 'date') self.assertEquals(node.get('{%s}date-value' % NSMAP['office']), value.ISO8601()) self.field.values['default'] = None node = self.field.render_odt_variable(as_string=False) self.assertTrue(node is not None)
def test_normal(self): result = self.v.validate( DateTimeField('f'), 'f', { 'subfield_f_year': '2002', 'subfield_f_month': '12', 'subfield_f_day': '1', 'subfield_f_hour': '10', 'subfield_f_minute': '30' }) self.assertEquals(2002, result.year()) self.assertEquals(12, result.month()) self.assertEquals(1, result.day()) self.assertEquals(10, result.hour()) self.assertEquals(30, result.minute())
def afterSetUp(self): self.root = self.portal self.root.form = ERP5Form('form', 'Form') self.root.getProperty = lambda key, d=None: \ dict(on_memory_field='123').get(key, d) form = self.root.form def addField(field): form._setObject(field.id, field, set_owner=0, suppress_events=1) addField(StringField('field')) form.field._p_oid = makeDummyOid() # method field form.field.values['external_validator'] = Method('this_is_a_method') # on-memory field (not in zodb) addField(StringField('my_on_memory_field')) form.my_on_memory_field._p_oid = None addField(StringField('my_on_memory_tales_field')) form.my_on_memory_tales_field.manage_tales_xmlrpc( {'default': 'python: repr(here)'}) form.my_on_memory_field._p_oid = None # proxy field addField(ProxyField.ProxyField('proxy_field')) form.proxy_field._p_oid = makeDummyOid() form.proxy_field.values['form_id'] = 'form' form.proxy_field.values['field_id'] = 'field' # proxy field with tales addField(ProxyField.ProxyField('proxy_field_tales')) form.proxy_field_tales._p_oid = makeDummyOid() form.proxy_field_tales.tales['form_id'] = TALESMethod('string:form') form.proxy_field_tales.tales['field_id'] = TALESMethod('string:field') # datetime field (input style is list) addField(DateTimeField('datetime_field')) form.datetime_field._p_oid = makeDummyOid() form.datetime_field._edit(dict(input_style='list')) for i in form.datetime_field._get_sub_form().fields.values(): i._p_oid = makeDummyOid()
class TestDateTimeField(ERP5TypeTestCase): """Tests DateTime field """ def getTitle(self): return "DateTime Field" def afterSetUp(self): self.field = DateTimeField("test_field") self.widget = self.field.widget self.validator = self.field.validator def test_render_odt(self): self.field.values["default"] = DateTime("2010/01/01 00:00:01 UTC") self.assertEqual("2010/01/01 00:00", self.field.render_odt(as_string=False).text) def test_render_odg(self): self.field.values["default"] = DateTime("2010/01/01 00:00:01 UTC") self.field.render_odg(as_string=False) self.assertEqual( "2010/01/01 00:00", self.field.render_odg(as_string=False).xpath("%s/text()" % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0], ) def test_render_odt_variable(self): value = DateTime(2010, 12, 06, 10, 23, 32, "GMT+5") self.field.values["default"] = value node = self.field.render_odt_variable(as_string=False) self.assertEqual(node.get("{%s}value-type" % NSMAP["office"]), "date") self.assertEqual(node.get("{%s}date-value" % NSMAP["office"]), value.ISO8601()) self.field.values["default"] = None node = self.field.render_odt_variable(as_string=False) self.assertTrue(node is not None) def test_fullwidth_number_conversion(self): self.portal.REQUEST.set("subfield_field_test_field_year", "2011") self.portal.REQUEST.set("subfield_field_test_field_month", "12") self.portal.REQUEST.set("subfield_field_test_field_day", "15") self.portal.REQUEST.set("subfield_field_test_field_hour", "02") self.portal.REQUEST.set("subfield_field_test_field_minute", "18") self.assertEqual( DateTime("2011/12/15 02:18:00"), self.validator.validate(self.field, "field_test_field", self.portal.REQUEST), )
class TestDateTimeField(ERP5TypeTestCase): """Tests DateTime field """ def getTitle(self): return "DateTime Field" def afterSetUp(self): self.field = DateTimeField('test_field') self.widget = self.field.widget self.validator = self.field.validator def test_render_odt(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.assertEqual('2010/01/01 00:00', self.field.render_odt(as_string=False).text) def test_render_odg(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.field.render_odg(as_string=False) self.assertEqual('2010/01/01 00:00', self.field.render_odg(as_string=False)\ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]) def test_render_odt_variable(self): value = DateTime(2010, 12, 06, 10, 23, 32, 'GMT+5') self.field.values['default'] = value node = self.field.render_odt_variable(as_string=False) self.assertEqual(node.get('{%s}value-type' % NSMAP['office']), 'date') self.assertEqual(node.get('{%s}date-value' % NSMAP['office']), value.ISO8601()) self.field.values['default'] = None node = self.field.render_odt_variable(as_string=False) self.assertTrue(node is not None) def test_fullwidth_number_conversion(self): self.portal.REQUEST.set('subfield_field_test_field_year', '2011') self.portal.REQUEST.set('subfield_field_test_field_month', '12') self.portal.REQUEST.set('subfield_field_test_field_day', '15') self.portal.REQUEST.set('subfield_field_test_field_hour', '02') self.portal.REQUEST.set('subfield_field_test_field_minute', '18') self.assertEqual( DateTime('2011/12/15 02:18:00'), self.validator.validate(self.field, 'field_test_field', self.portal.REQUEST))
class TestDateTimeField(ERP5TypeTestCase): """Tests DateTime field """ def getTitle(self): return "DateTime Field" def afterSetUp(self): self.field = DateTimeField('test_field') self.widget = self.field.widget self.validator = self.field.validator def test_render_odt(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.assertEquals('2010/01/01 00:00', self.field.render_odt(as_string=False).text) def test_render_odg(self): self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC') self.field.render_odg(as_string=False) self.assertEquals('2010/01/01 00:00', self.field.render_odg(as_string=False)\ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]) def test_render_odt_variable(self): value = DateTime(2010, 12, 06, 10, 23, 32, 'GMT+5') self.field.values['default'] = value node = self.field.render_odt_variable(as_string=False) self.assertEquals(node.get('{%s}value-type' % NSMAP['office']), 'date') self.assertEquals(node.get('{%s}date-value' % NSMAP['office']), value.ISO8601()) self.field.values['default'] = None node = self.field.render_odt_variable(as_string=False) self.assertTrue(node is not None) def test_fullwidth_number_conversion(self): self.portal.REQUEST.set('subfield_field_test_field_year', '2011') self.portal.REQUEST.set('subfield_field_test_field_month', '12') self.portal.REQUEST.set('subfield_field_test_field_day', '15') self.portal.REQUEST.set('subfield_field_test_field_hour', '02') self.portal.REQUEST.set('subfield_field_test_field_minute', '18') self.assertEquals(DateTime('2011/12/15 02:18:00'), self.validator.validate(self.field, 'field_test_field', self.portal.REQUEST))
def afterSetUp(self): self.field = DateTimeField("test_field") self.widget = self.field.widget self.validator = self.field.validator
def afterSetUp(self): self.field = DateTimeField('test_field') self.widget = self.field.widget self.validator = self.field.validator
def afterSetUp(self): self.field = DateTimeField('test_field') self.widget = self.field.widget