示例#1
0
    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())
示例#2
0
    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'
            })
示例#3
0
 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())
示例#4
0
    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()
示例#5
0
 def afterSetUp(self):
     self.field = DateTimeField('test_field')
     self.widget = self.field.widget
     self.validator = self.field.validator