Beispiel #1
0
    def test_timezone_schema_to_form(self):
        from pform import null, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.to_form(null) is null)
        self.assertEqual(typ.to_form(pytz.UTC), 'utc')
Beispiel #2
0
    def test_timezone_schema_to_field(self):
        from pform import null, Invalid, TimezoneField

        typ = TimezoneField('test')
        loc_dt = datetime(2002, 10, 27, 1, 30, 00)

        self.assertTrue(typ.to_field(null) is null)
        self.assertTrue(typ.to_field('') is null)

        # special case for 'GMT+X' timezones
        self.assertEqual(repr(typ.to_field('GMT+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")
        self.assertEqual(repr(typ.to_field('gmt+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")

        # general timezones
        self.assertEqual(typ.to_field('US/Central') \
                            .localize(loc_dt, is_dst=False).strftime('%Z%z'),
                         "CST-0600")

        self.assertEqual(typ.to_field('us/central') \
                            .localize(loc_dt, is_dst=False).strftime('%Z%z'),
                         "CST-0600")

        # unknown timezone
        self.assertRaises(Invalid, typ.to_field, 'unknown')
Beispiel #3
0
    def test_timezone_schema_to_field(self):
        from pform import null, Invalid, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.to_field(null) is null)
        self.assertTrue(typ.to_field('') is null)

        # special case for 'GMT+X' timezones
        self.assertEqual(repr(typ.to_field('GMT+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")
        self.assertEqual(repr(typ.to_field('gmt+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")

        # general timezones
        self.assertEqual(repr(typ.to_field('US/Central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        self.assertEqual(repr(typ.to_field('us/central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        # unknown timezone
        self.assertRaises(Invalid, typ.to_field, 'unknown')