예제 #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
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)
예제 #4
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())
예제 #5
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()
예제 #6
0
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),
        )
예제 #7
0
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))
예제 #8
0
파일: testFields.py 프로젝트: poses/erp5
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))
예제 #9
0
 def afterSetUp(self):
     self.field = DateTimeField("test_field")
     self.widget = self.field.widget
     self.validator = self.field.validator
예제 #10
0
 def afterSetUp(self):
     self.field = DateTimeField('test_field')
     self.widget = self.field.widget
     self.validator = self.field.validator
예제 #11
0
 def afterSetUp(self):
   self.field = DateTimeField('test_field')
   self.widget = self.field.widget