Example #1
0
    def test_add_jquery_ui_timezone_list_has_default_timezone(self):
        chrome = Chrome(self.env)
        gmt07b = timezone('GMT -7:00')
        gmt04a = timezone('GMT +4:00')

        def verify_tzprops(lc_time, tz, tz_default, tz_label):
            req = MockRequest(self.env, locale=locale_en, lc_time=lc_time,
                              tz=tz)
            chrome.add_jquery_ui(req)
            data = req.chrome['script_data']['jquery_ui']
            self.assertEqual(tz_default, data['default_timezone'])
            if tz_default is None:
                self.assertIsNone(data['timezone_list'])
            else:
                self.assertIn({'value': tz_default, 'label': tz_label},
                              data['timezone_list'])

        verify_tzprops('iso8601', utc, 0, '+00:00')
        verify_tzprops(locale_en, utc, None, None)
        verify_tzprops('iso8601', gmt07b, -420, '-07:00')
        verify_tzprops(locale_en, gmt07b, None, None)
        verify_tzprops('iso8601', gmt04a, 240, '+04:00')
        verify_tzprops(locale_en, gmt04a, None, None)
        if pytz:
            # must use timezones which does not use DST
            guam = timezone('Pacific/Guam')
            monrovia = timezone('Africa/Monrovia')
            panama = timezone('America/Panama')
            verify_tzprops('iso8601', guam, 600, '+10:00')
            verify_tzprops(locale_en, guam, None, None)
            verify_tzprops('iso8601', monrovia, 0, '+00:00')
            verify_tzprops(locale_en, monrovia, None, None)
            verify_tzprops('iso8601', panama, -300, '-05:00')
            verify_tzprops(locale_en, panama, None, None)
Example #2
0
 def test_to_datetime_tz(self):
     tz = datefmt.timezone('GMT +1:00')
     expected = datetime.datetime(1970, 1, 1, 1, 0, 23, 0, tz)
     self.assertEqual(datefmt.to_datetime(23, tz), expected)
     self.assertEqual(datefmt.to_datetime(23L, tz), expected)
     self.assertEqual(datefmt.to_datetime(23.0, tz), expected)
     tz = datefmt.timezone('GMT +4:00')
     expected = datetime.datetime(1970, 1, 1, 4, 0, 23, 0, tz)
     self.assertEqual(datefmt.to_datetime(23, tz), expected)
     self.assertEqual(datefmt.to_datetime(23L, tz), expected)
     self.assertEqual(datefmt.to_datetime(23.0, tz), expected)
Example #3
0
 def test_to_datetime_tz(self):
     tz = datefmt.timezone('GMT +1:00')
     expected = datetime.datetime(1970, 1, 1, 1, 0, 23, 0, tz)
     self.assertEqual(datefmt.to_datetime(23, tz), expected)
     self.assertEqual(datefmt.to_datetime(23L, tz), expected)
     self.assertEqual(datefmt.to_datetime(23.0, tz), expected)
     tz = datefmt.timezone('GMT +4:00')
     expected = datetime.datetime(1970, 1, 1, 4, 0, 23, 0, tz)
     self.assertEqual(datefmt.to_datetime(23, tz), expected)
     self.assertEqual(datefmt.to_datetime(23L, tz), expected)
     self.assertEqual(datefmt.to_datetime(23.0, tz), expected)
Example #4
0
    def test_can_prepare_human_readable_timezone_for_template_if_using_user_time(self):
        req = self.teh.mock_request(Usernames.product_owner)
        sydney_in_winter = timezone("GMT +10:00")
        req.tz = sydney_in_winter

        data = self.view.prepare_data(req)
        self._assert_prepared_data_contains_time_offset(data, sydney_in_winter)
Example #5
0
    def test_format_compatibility(self):
        tz = datefmt.timezone('GMT +2:00')
        t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
        tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)

        # Converting babel's format to strftime format
        self.assertEqual(
            tz_t.strftime('%x %H:%M').decode('utf-8'),
            datefmt.format_datetime(t, 'short', tz))
        self.assertEqual(
            tz_t.strftime('%x').decode('utf-8'),
            datefmt.format_date(t, 'short', tz))
        self.assertEqual(
            tz_t.strftime('%H:%M').decode('utf-8'),
            datefmt.format_time(t, 'short', tz))
        for f in ('medium', 'long', 'full'):
            self.assertEqual(
                tz_t.strftime('%x %X').decode('utf-8'),
                datefmt.format_datetime(t, f, tz))
            self.assertEqual(
                tz_t.strftime('%x').decode('utf-8'),
                datefmt.format_date(t, f, tz))
            self.assertEqual(
                tz_t.strftime('%X').decode('utf-8'),
                datefmt.format_time(t, f, tz))
Example #6
0
        def test_parse_invalid_date(self):
            tz = datefmt.timezone('GMT +2:00')
            en_US = Locale.parse('en_US')

            self.assertRaises(TracError, datefmt.parse_date,
                              '',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '2011 Apr Mar',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Feb',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              'Feb 2011',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Feb 2010',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Xxx 2012',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Xxx 2012 4:00:00 AM',
                              tzinfo=tz, locale=en_US, hint='datetime')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 2012 4:01:02 AM Feb',
                              tzinfo=tz, locale=en_US, hint='datetime')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 2012 4:00 Feb',
                              tzinfo=tz, locale=en_US, hint='datetime')
Example #7
0
        def test_i18n_parse_date_datetime(self):
            tz = datefmt.timezone("GMT +2:00")
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)
            expected_minute = datetime.datetime(2010, 8, 28, 13, 45, 0, 0, tz)
            en_US = Locale.parse("en_US")
            en_GB = Locale.parse("en_GB")
            fr = Locale.parse("fr")
            ja = Locale.parse("ja")
            vi = Locale.parse("vi")
            zh_CN = Locale.parse("zh_CN")

            self.assertEqual(expected, datefmt.parse_date("Aug 28, 2010 1:45:56 PM", tz, en_US))
            self.assertEqual(expected, datefmt.parse_date("8 28, 2010 1:45:56 PM", tz, en_US))
            self.assertEqual(expected, datefmt.parse_date("28 Aug 2010 1:45:56 PM", tz, en_US))
            self.assertEqual(expected, datefmt.parse_date("28 Aug 2010 PM 1:45:56", tz, en_US))
            self.assertEqual(expected, datefmt.parse_date("28 Aug 2010 13:45:56", tz, en_US))
            self.assertEqual(expected_minute, datefmt.parse_date("28 Aug 2010 PM 1:45", tz, en_US))

            self.assertEqual(expected, datefmt.parse_date("28 Aug 2010 13:45:56", tz, en_GB))

            self.assertEqual(expected, datefmt.parse_date(u"28 août 2010 13:45:56", tz, fr))
            self.assertEqual(expected, datefmt.parse_date(u"août 28 2010 13:45:56", tz, fr))
            self.assertEqual(expected_minute, datefmt.parse_date(u"août 28 2010 13:45", tz, fr))

            self.assertEqual(expected, datefmt.parse_date("2010/08/28 13:45:56", tz, ja))
            self.assertEqual(expected_minute, datefmt.parse_date("2010/08/28 13:45", tz, ja))

            self.assertEqual(expected, datefmt.parse_date("13:45:56 28-08-2010", tz, vi))
            self.assertEqual(expected_minute, datefmt.parse_date("13:45 28-08-2010", tz, vi))

            self.assertEqual(expected, datefmt.parse_date(u"2010-8-28 下午01:45:56", tz, zh_CN))
            self.assertEqual(expected, datefmt.parse_date(u"2010-8-28 01:45:56下午", tz, zh_CN))
            self.assertEqual(expected_minute, datefmt.parse_date(u"2010-8-28 下午01:45", tz, zh_CN))
            self.assertEqual(expected_minute, datefmt.parse_date(u"2010-8-28 01:45下午", tz, zh_CN))
Example #8
0
        def test_i18n_parse_date_datetime_meridiem(self):
            tz = datefmt.timezone('GMT +2:00')
            expected_am = datetime.datetime(2011, 2, 22, 0, 45, 56, 0, tz)
            expected_pm = datetime.datetime(2011, 2, 22, 12, 45, 56, 0, tz)
            en_US = Locale.parse('en_US')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected_am,
                             datefmt.parse_date('Feb 22, 2011 0:45:56 AM', tz,
                                                en_US))
            self.assertEqual(expected_am,
                             datefmt.parse_date('Feb 22, 2011 12:45:56 AM', tz,
                                                en_US))
            self.assertEqual(expected_am,
                             datefmt.parse_date(u'2011-2-22 上午0:45:56', tz,
                                                zh_CN))
            self.assertEqual(expected_am,
                             datefmt.parse_date(u'2011-2-22 上午12:45:56', tz,
                                                zh_CN))

            self.assertEqual(expected_pm,
                             datefmt.parse_date('Feb 22, 2011 0:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected_pm,
                             datefmt.parse_date('Feb 22, 2011 12:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected_pm,
                             datefmt.parse_date(u'2011-2-22 下午0:45:56', tz,
                                                zh_CN))
            self.assertEqual(expected_pm,
                             datefmt.parse_date(u'2011-2-22 下午12:45:56', tz,
                                                zh_CN))
Example #9
0
        def test_parse_invalid_date(self):
            tz = datefmt.timezone('GMT +2:00')
            en_US = Locale.parse('en_US')

            self.assertRaises(TracError, datefmt.parse_date,
                              '',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '2011 Apr Mar',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Feb',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              'Feb 2011',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Feb 2010',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Xxx 2012',
                              tzinfo=tz, locale=en_US, hint='date')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 Xxx 2012 4:00:00 AM',
                              tzinfo=tz, locale=en_US, hint='datetime')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 2012 4:01:02 AM Feb',
                              tzinfo=tz, locale=en_US, hint='datetime')
            self.assertRaises(TracError, datefmt.parse_date,
                              '29 2012 4:00 Feb',
                              tzinfo=tz, locale=en_US, hint='datetime')
Example #10
0
        def test_i18n_parse_date_datetime_meridiem(self):
            tz = datefmt.timezone('GMT +2:00')
            expected_am = datetime.datetime(2011, 2, 22, 0, 45, 56, 0, tz)
            expected_pm = datetime.datetime(2011, 2, 22, 12, 45, 56, 0, tz)
            en_US = Locale.parse('en_US')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected_am,
                             datefmt.parse_date('Feb 22, 2011 0:45:56 AM', tz,
                                                en_US))
            self.assertEqual(expected_am,
                             datefmt.parse_date('Feb 22, 2011 12:45:56 AM', tz,
                                                en_US))
            self.assertEqual(expected_am,
                             datefmt.parse_date(u'2011-2-22 上午0:45:56', tz,
                                                zh_CN))
            self.assertEqual(expected_am,
                             datefmt.parse_date(u'2011-2-22 上午12:45:56', tz,
                                                zh_CN))

            self.assertEqual(expected_pm,
                             datefmt.parse_date('Feb 22, 2011 0:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected_pm,
                             datefmt.parse_date('Feb 22, 2011 12:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected_pm,
                             datefmt.parse_date(u'2011-2-22 下午0:45:56', tz,
                                                zh_CN))
            self.assertEqual(expected_pm,
                             datefmt.parse_date(u'2011-2-22 下午12:45:56', tz,
                                                zh_CN))
Example #11
0
    def test_can_prepare_human_readable_timezone_for_template_if_using_user_time(
            self):
        req = self.teh.mock_request(Usernames.product_owner)
        sydney_in_winter = timezone("GMT +10:00")
        req.tz = sydney_in_winter

        data = self.view.prepare_data(req)
        self._assert_prepared_data_contains_time_offset(data, sydney_in_winter)
Example #12
0
 def test_with_iso8601(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual('2010-08-28',
                      datefmt.format_date(t, 'iso8601', tz, 'iso8601'))
     self.assertEqual('11:45:56+02:00',
                      datefmt.format_time(t, 'iso8601', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45:56+02:00',
                      datefmt.format_datetime(t, 'iso8601', tz, 'iso8601'))
Example #13
0
 def test_with_iso8601(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual('2010-08-28',
                      datefmt.format_date(t, 'iso8601', tz, 'iso8601'))
     self.assertEqual('11:45:56+02:00',
                      datefmt.format_time(t, 'iso8601', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45:56+02:00',
                      datefmt.format_datetime(t, 'iso8601', tz, 'iso8601'))
Example #14
0
 def test_default(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual('2010-08-28',
                      datefmt.format_date(t, tzinfo=tz, locale='iso8601'))
     self.assertEqual('11:45:56+02:00',
                      datefmt.format_time(t, tzinfo=tz, locale='iso8601'))
     self.assertEqual('2010-08-28T11:45:56+02:00',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale='iso8601'))
Example #15
0
 def test_default(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual('2010-08-28',
                      datefmt.format_date(t, tzinfo=tz, locale='iso8601'))
     self.assertEqual('11:45:56+02:00',
                      datefmt.format_time(t, tzinfo=tz, locale='iso8601'))
     self.assertEqual('2010-08-28T11:45:56+02:00',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale='iso8601'))
Example #16
0
        def test_format_compatibility(self):
            tz = datefmt.timezone("GMT +2:00")
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)
            en_US = Locale.parse("en_US")

            # Converting default format to babel's format
            self.assertEqual("Aug 28, 2010 1:45:56 PM", datefmt.format_datetime(t, "%x %X", tz, en_US))
            self.assertEqual("Aug 28, 2010", datefmt.format_datetime(t, "%x", tz, en_US))
            self.assertEqual("1:45:56 PM", datefmt.format_datetime(t, "%X", tz, en_US))
            self.assertEqual("Aug 28, 2010", datefmt.format_date(t, "%x", tz, en_US))
            self.assertEqual("1:45:56 PM", datefmt.format_time(t, "%X", tz, en_US))
Example #17
0
 def test_with_babel_format(self):
     tz = datefmt.timezone("GMT +2:00")
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     for f in ("short", "medium", "long", "full"):
         self.assertEqual("2010-08-28", datefmt.format_date(t, f, tz, "iso8601"))
     self.assertEqual("11:45", datefmt.format_time(t, "short", tz, "iso8601"))
     self.assertEqual("2010-08-28T11:45", datefmt.format_datetime(t, "short", tz, "iso8601"))
     self.assertEqual("11:45:56", datefmt.format_time(t, "medium", tz, "iso8601"))
     self.assertEqual("2010-08-28T11:45:56", datefmt.format_datetime(t, "medium", tz, "iso8601"))
     for f in ("long", "full"):
         self.assertEqual("11:45:56+02:00", datefmt.format_time(t, f, tz, "iso8601"))
         self.assertEqual("2010-08-28T11:45:56+02:00", datefmt.format_datetime(t, f, tz, "iso8601"))
Example #18
0
    def test_format_compatibility(self):
        tz = datefmt.timezone("GMT +2:00")
        t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
        tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)

        # Converting babel's format to strftime format
        self.assertEqual(tz_t.strftime("%x %H:%M").decode("utf-8"), datefmt.format_datetime(t, "short", tz))
        self.assertEqual(tz_t.strftime("%x").decode("utf-8"), datefmt.format_date(t, "short", tz))
        self.assertEqual(tz_t.strftime("%H:%M").decode("utf-8"), datefmt.format_time(t, "short", tz))
        for f in ("medium", "long", "full"):
            self.assertEqual(tz_t.strftime("%x %X").decode("utf-8"), datefmt.format_datetime(t, f, tz))
            self.assertEqual(tz_t.strftime("%x").decode("utf-8"), datefmt.format_date(t, f, tz))
            self.assertEqual(tz_t.strftime("%X").decode("utf-8"), datefmt.format_time(t, f, tz))
Example #19
0
    def test_template_data_for_time_field_with_formats(self):
        gmt12 = timezone('GMT +12:00')
        req = MockRequest(self.env, method='GET', path_info='/ticket/1',
                          tz=gmt12)
        value = datetime(2016, 1, 2, 23, 34, 45, tzinfo=utc)
        expected = user_time(req, format_datetime, value)
        self.assertIn('11', expected)  # check 11 in hour part

        self._test_template_data_for_time_field(req, value, expected, None)
        self._test_template_data_for_time_field(req, value, expected,
                                                'datetime')
        self._test_template_data_for_time_field(req, value, expected,
                                                'relative')
Example #20
0
        def test_i18n_parse_date_roundtrip(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)

            def roundtrip(locale):
                locale = Locale.parse(locale)
                formatted = datefmt.format_datetime(t,
                                                    tzinfo=tz,
                                                    locale=locale)
                self.assertEqual(expected,
                                 datefmt.parse_date(formatted, tz, locale))
                self.assertEqual(
                    formatted,
                    datefmt.format_datetime(expected, tzinfo=tz,
                                            locale=locale))

            roundtrip('ca')
            roundtrip('cs')
            roundtrip('de')
            roundtrip('el')
            roundtrip('en_GB')
            roundtrip('en_US')
            roundtrip('eo')
            roundtrip('es')
            roundtrip('es_AR')
            roundtrip('fa')
            roundtrip('fi')
            roundtrip('fr')
            roundtrip('gl')
            roundtrip('he')
            roundtrip('hu')
            roundtrip('hy')
            roundtrip('it')
            roundtrip('ja')
            roundtrip('ko')
            roundtrip('nb')
            roundtrip('nl')
            roundtrip('pl')
            roundtrip('pt')
            roundtrip('pt_BR')
            roundtrip('ro')
            roundtrip('ru')
            roundtrip('sl')
            roundtrip('sv')
            roundtrip('tr')
            roundtrip('vi')
            roundtrip('zh_CN')
            roundtrip('zh_TW')
Example #21
0
 def test_i18n_format_datetime(self):
     tz = datefmt.timezone("GMT +2:00")
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse("en_US")
     self.assertEqual("Aug 28, 2010 1:45:56 PM", datefmt.format_datetime(t, tzinfo=tz, locale=en_US))
     en_GB = Locale.parse("en_GB")
     self.assertEqual("28 Aug 2010 13:45:56", datefmt.format_datetime(t, tzinfo=tz, locale=en_GB))
     fr = Locale.parse("fr")
     self.assertEqual(u"28 août 2010 13:45:56", datefmt.format_datetime(t, tzinfo=tz, locale=fr))
     ja = Locale.parse("ja")
     self.assertEqual(u"2010/08/28 13:45:56", datefmt.format_datetime(t, tzinfo=tz, locale=ja))
     vi = Locale.parse("vi")
     self.assertEqual(u"13:45:56 28-08-2010", datefmt.format_datetime(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse("zh_CN")
     self.assertEqual(u"2010-8-28 下午01:45:56", datefmt.format_datetime(t, tzinfo=tz, locale=zh_CN))
Example #22
0
 def test_i18n_format_date(self):
     tz = datefmt.timezone("GMT +2:00")
     t = datetime.datetime(2010, 8, 7, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse("en_US")
     self.assertEqual("Aug 7, 2010", datefmt.format_date(t, tzinfo=tz, locale=en_US))
     en_GB = Locale.parse("en_GB")
     self.assertEqual("7 Aug 2010", datefmt.format_date(t, tzinfo=tz, locale=en_GB))
     fr = Locale.parse("fr")
     self.assertEqual(u"7 août 2010", datefmt.format_date(t, tzinfo=tz, locale=fr))
     ja = Locale.parse("ja")
     self.assertEqual(u"2010/08/07", datefmt.format_date(t, tzinfo=tz, locale=ja))
     vi = Locale.parse("vi")
     self.assertEqual(u"07-08-2010", datefmt.format_date(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse("zh_CN")
     self.assertEqual(u"2010-8-7", datefmt.format_date(t, tzinfo=tz, locale=zh_CN))
Example #23
0
        def test_i18n_parse_date_datetime_meridiem(self):
            tz = datefmt.timezone("GMT +2:00")
            expected_am = datetime.datetime(2011, 2, 22, 0, 45, 56, 0, tz)
            expected_pm = datetime.datetime(2011, 2, 22, 12, 45, 56, 0, tz)
            en_US = Locale.parse("en_US")
            zh_CN = Locale.parse("zh_CN")

            self.assertEqual(expected_am, datefmt.parse_date("Feb 22, 2011 0:45:56 AM", tz, en_US))
            self.assertEqual(expected_am, datefmt.parse_date("Feb 22, 2011 12:45:56 AM", tz, en_US))
            self.assertEqual(expected_am, datefmt.parse_date(u"2011-2-22 上午0:45:56", tz, zh_CN))
            self.assertEqual(expected_am, datefmt.parse_date(u"2011-2-22 上午12:45:56", tz, zh_CN))

            self.assertEqual(expected_pm, datefmt.parse_date("Feb 22, 2011 0:45:56 PM", tz, en_US))
            self.assertEqual(expected_pm, datefmt.parse_date("Feb 22, 2011 12:45:56 PM", tz, en_US))
            self.assertEqual(expected_pm, datefmt.parse_date(u"2011-2-22 下午0:45:56", tz, zh_CN))
            self.assertEqual(expected_pm, datefmt.parse_date(u"2011-2-22 下午12:45:56", tz, zh_CN))
Example #24
0
        def test_i18n_format_time(self):
            tz = datefmt.timezone("GMT +2:00")
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            en_US = Locale.parse("en_US")
            en_GB = Locale.parse("en_GB")
            fr = Locale.parse("fr")
            ja = Locale.parse("ja")
            vi = Locale.parse("vi")
            zh_CN = Locale.parse("zh_CN")

            self.assertEqual("1:45:56 PM", datefmt.format_time(t, tzinfo=tz, locale=en_US))
            self.assertEqual("13:45:56", datefmt.format_time(t, tzinfo=tz, locale=en_GB))
            self.assertEqual("13:45:56", datefmt.format_time(t, tzinfo=tz, locale=fr))
            self.assertEqual("13:45:56", datefmt.format_time(t, tzinfo=tz, locale=ja))
            self.assertEqual("13:45:56", datefmt.format_time(t, tzinfo=tz, locale=vi))
            self.assertEqual(u"下午01:45:56", datefmt.format_time(t, tzinfo=tz, locale=zh_CN))
Example #25
0
        def test_i18n_parse_date_date(self):
            tz = datefmt.timezone("GMT +2:00")
            expected = datetime.datetime(2010, 8, 28, 0, 0, 0, 0, tz)
            en_US = Locale.parse("en_US")
            en_GB = Locale.parse("en_GB")
            fr = Locale.parse("fr")
            ja = Locale.parse("ja")
            vi = Locale.parse("vi")
            zh_CN = Locale.parse("zh_CN")

            self.assertEqual(expected, datefmt.parse_date("Aug 28, 2010", tz, en_US))
            self.assertEqual(expected, datefmt.parse_date("28 Aug 2010", tz, en_GB))
            self.assertEqual(expected, datefmt.parse_date(u"28 août 2010", tz, fr))
            self.assertEqual(expected, datefmt.parse_date("2010/08/28", tz, ja))
            self.assertEqual(expected, datefmt.parse_date("28-08-2010", tz, vi))
            self.assertEqual(expected, datefmt.parse_date(u"2010-8-28", tz, zh_CN))
Example #26
0
        def test_i18n_parse_date_roundtrip(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)

            def roundtrip(locale):
                locale = Locale.parse(locale)
                formatted = datefmt.format_datetime(t, tzinfo=tz,
                                                    locale=locale)
                self.assertEqual(expected,
                                 datefmt.parse_date(formatted, tz, locale))
                self.assertEqual(formatted,
                                 datefmt.format_datetime(expected, tzinfo=tz,
                                                         locale=locale))

            roundtrip('ca')
            roundtrip('cs')
            roundtrip('de')
            roundtrip('el')
            roundtrip('en_GB')
            roundtrip('en_US')
            roundtrip('eo')
            roundtrip('es')
            roundtrip('es_AR')
            roundtrip('fa')
            roundtrip('fi')
            roundtrip('fr')
            roundtrip('gl')
            roundtrip('he')
            roundtrip('hu')
            roundtrip('hy')
            roundtrip('it')
            roundtrip('ja')
            roundtrip('ko')
            roundtrip('nb')
            roundtrip('nl')
            roundtrip('pl')
            roundtrip('pt')
            roundtrip('pt_BR')
            roundtrip('ro')
            roundtrip('ru')
            roundtrip('sl')
            roundtrip('sv')
            roundtrip('tr')
            roundtrip('vi')
            roundtrip('zh_CN')
            roundtrip('zh_TW')
Example #27
0
        def test_format_compatibility(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)
            en_US = Locale.parse('en_US')

            # Converting default format to babel's format
            self.assertEqual('Aug 28, 2010 1:45:56 PM',
                             datefmt.format_datetime(t, '%x %X', tz, en_US))
            self.assertEqual('Aug 28, 2010',
                             datefmt.format_datetime(t, '%x', tz, en_US))
            self.assertEqual('1:45:56 PM',
                             datefmt.format_datetime(t, '%X', tz, en_US))
            self.assertEqual('Aug 28, 2010',
                             datefmt.format_date(t, '%x', tz, en_US))
            self.assertEqual('1:45:56 PM',
                             datefmt.format_time(t, '%X', tz, en_US))
Example #28
0
        def test_format_compatibility(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)
            en_US = Locale.parse('en_US')

            # Converting default format to babel's format
            self.assertEqual('Aug 28, 2010 1:45:56 PM',
                             datefmt.format_datetime(t, '%x %X', tz, en_US))
            self.assertEqual('Aug 28, 2010',
                             datefmt.format_datetime(t, '%x', tz, en_US))
            self.assertEqual('1:45:56 PM',
                             datefmt.format_datetime(t, '%X', tz, en_US))
            self.assertEqual('Aug 28, 2010',
                             datefmt.format_date(t, '%x', tz, en_US))
            self.assertEqual('1:45:56 PM',
                             datefmt.format_time(t, '%X', tz, en_US))
Example #29
0
        def test_i18n_parse_date_roundtrip(self):
            tz = datefmt.timezone("GMT +2:00")
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)

            def roundtrip(locale):
                locale = Locale.parse(locale)
                formatted = datefmt.format_datetime(t, tzinfo=tz, locale=locale)
                self.assertEqual(expected, datefmt.parse_date(formatted, tz, locale))
                self.assertEqual(formatted, datefmt.format_datetime(expected, tzinfo=tz, locale=locale))

            roundtrip("ca")
            roundtrip("cs")
            roundtrip("de")
            roundtrip("el")
            roundtrip("en_GB")
            roundtrip("en_US")
            roundtrip("eo")
            roundtrip("es")
            roundtrip("es_AR")
            roundtrip("fa")
            roundtrip("fi")
            roundtrip("fr")
            roundtrip("gl")
            roundtrip("he")
            roundtrip("hu")
            roundtrip("hy")
            roundtrip("it")
            roundtrip("ja")
            roundtrip("ko")
            roundtrip("nb")
            roundtrip("nl")
            roundtrip("pl")
            roundtrip("pt")
            roundtrip("pt_BR")
            roundtrip("ro")
            roundtrip("ru")
            roundtrip("sl")
            roundtrip("sv")
            roundtrip("tr")
            roundtrip("vi")
            roundtrip("zh_CN")
            roundtrip("zh_TW")
Example #30
0
    def test_format_compatibility(self):
        tz = datefmt.timezone('GMT +2:00')
        t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
        tz_t = datetime.datetime(2010, 8, 28, 13, 45, 56, 123456, tz)

        # Converting babel's format to strftime format
        self.assertEqual(tz_t.strftime('%x %H:%M').decode('utf-8'),
                         datefmt.format_datetime(t, 'short', tz))
        self.assertEqual(tz_t.strftime('%x').decode('utf-8'),
                         datefmt.format_date(t, 'short', tz))
        self.assertEqual(tz_t.strftime('%H:%M').decode('utf-8'),
                         datefmt.format_time(t, 'short', tz))
        for f in ('medium', 'long', 'full'):
            self.assertEqual(tz_t.strftime('%x %X').decode('utf-8'),
                             datefmt.format_datetime(t, f, tz))
            self.assertEqual(tz_t.strftime('%x').decode('utf-8'),
                             datefmt.format_date(t, f, tz))
            self.assertEqual(tz_t.strftime('%X').decode('utf-8'),
                             datefmt.format_time(t, f, tz))
Example #31
0
 def test_with_babel_format(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     for f in ('short', 'medium', 'long', 'full'):
         self.assertEqual('2010-08-28',
                          datefmt.format_date(t, f, tz, 'iso8601'))
     self.assertEqual('11:45',
                      datefmt.format_time(t, 'short', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45',
                      datefmt.format_datetime(t, 'short', tz, 'iso8601'))
     self.assertEqual('11:45:56',
                      datefmt.format_time(t, 'medium', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45:56',
                      datefmt.format_datetime(t, 'medium', tz, 'iso8601'))
     for f in ('long', 'full'):
         self.assertEqual('11:45:56+02:00',
                          datefmt.format_time(t, f, tz, 'iso8601'))
         self.assertEqual('2010-08-28T11:45:56+02:00',
                          datefmt.format_datetime(t, f, tz, 'iso8601'))
Example #32
0
 def test_with_babel_format(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     for f in ('short', 'medium', 'long', 'full'):
         self.assertEqual('2010-08-28',
                          datefmt.format_date(t, f, tz, 'iso8601'))
     self.assertEqual('11:45',
                      datefmt.format_time(t, 'short', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45',
                      datefmt.format_datetime(t, 'short', tz, 'iso8601'))
     self.assertEqual('11:45:56',
                      datefmt.format_time(t, 'medium', tz, 'iso8601'))
     self.assertEqual('2010-08-28T11:45:56',
                      datefmt.format_datetime(t, 'medium', tz, 'iso8601'))
     for f in ('long', 'full'):
         self.assertEqual('11:45:56+02:00',
                          datefmt.format_time(t, f, tz, 'iso8601'))
         self.assertEqual('2010-08-28T11:45:56+02:00',
                          datefmt.format_datetime(t, f, tz, 'iso8601'))
Example #33
0
 def test_i18n_format_date(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 7, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse('en_US')
     self.assertEqual('Aug 7, 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=en_US))
     en_GB = Locale.parse('en_GB')
     self.assertEqual('7 Aug 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=en_GB))
     fr = Locale.parse('fr')
     self.assertEqual(u'7 août 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=fr))
     ja = Locale.parse('ja')
     self.assertEqual(u'2010/08/07',
                      datefmt.format_date(t, tzinfo=tz, locale=ja))
     vi = Locale.parse('vi')
     self.assertEqual(u'07-08-2010',
                      datefmt.format_date(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse('zh_CN')
     self.assertEqual(u'2010-8-7',
                      datefmt.format_date(t, tzinfo=tz, locale=zh_CN))
Example #34
0
        def test_i18n_parse_date_iso8609(self):
            tz = datefmt.timezone("GMT +2:00")
            dt = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)
            d = datetime.datetime(2010, 8, 28, 0, 0, 0, 0, tz)
            en_US = Locale.parse("en_US")
            vi = Locale.parse("vi")

            def iso8601(expected, text, tz, locale):
                self.assertEqual(expected, datefmt.parse_date(text, tz, locale))

            iso8601(dt, "2010-08-28T15:45:56+0400", tz, en_US)
            iso8601(dt, "2010-08-28T11:45:56+0000", tz, vi)
            iso8601(dt, "2010-08-28T11:45:56Z", tz, vi)
            iso8601(dt, "20100828T144556+0300", tz, en_US)
            iso8601(dt, "20100828T114556Z", tz, vi)

            iso8601(d, "2010-08-28+0200", tz, en_US)
            # iso8601(d, '2010-08-28+0000', tz, vi)
            # iso8601(d, '2010-08-28Z', tz, en_US)
            iso8601(d, "2010-08-28", tz, vi)
            iso8601(d, "20100828+0200", tz, en_US)
Example #35
0
 def test_i18n_format_date(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 7, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse('en_US')
     self.assertEqual('Aug 7, 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=en_US))
     en_GB = Locale.parse('en_GB')
     self.assertEqual('7 Aug 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=en_GB))
     fr = Locale.parse('fr')
     self.assertEqual(u'7 août 2010',
                      datefmt.format_date(t, tzinfo=tz, locale=fr))
     ja = Locale.parse('ja')
     self.assertEqual(u'2010/08/07',
                      datefmt.format_date(t, tzinfo=tz, locale=ja))
     vi = Locale.parse('vi')
     self.assertEqual(u'07-08-2010',
                      datefmt.format_date(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse('zh_CN')
     self.assertEqual(u'2010-8-7',
                      datefmt.format_date(t, tzinfo=tz, locale=zh_CN))
Example #36
0
    def test_template_data_for_time_field_with_date_format(self):
        value = datetime(2016, 2, 22, 22, 22, 22, tzinfo=utc)
        self.env.config.set('ticket-custom', 'timefield', 'time')
        self.env.config.set('ticket-custom', 'timefield.format', 'date')
        self._insert_ticket(summary='Time fields', timefield=value)
        self.assertEqual(value, Ticket(self.env, 1)['timefield'])

        gmt12 = timezone('GMT +12:00')
        req = MockRequest(self.env, method='GET', path_info='/ticket/1',
                          tz=gmt12)
        expected = user_time(req, format_date, value)
        self.assertIn('23', expected)  # check 23 in day part
        self.assertTrue(self.ticket_module.match_request(req))
        data = self.ticket_module.process_request(req)[1]

        for f in data['fields']:
            if f['name'] == 'timefield':
                self.assertEqual(expected, f['edit'])
                break
        else:
            self.fail('Missing timefield field')
Example #37
0
        def test_i18n_parse_date_iso8609(self):
            tz = datefmt.timezone('GMT +2:00')
            dt = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)
            d = datetime.datetime(2010, 8, 28, 0, 0, 0, 0, tz)
            en_US = Locale.parse('en_US')
            vi = Locale.parse('vi')

            def iso8601(expected, text, tz, locale):
                self.assertEqual(expected,
                                 datefmt.parse_date(text, tz, locale))

            iso8601(dt, '2010-08-28T15:45:56+0400', tz, en_US)
            iso8601(dt, '2010-08-28T11:45:56+0000', tz, vi)
            iso8601(dt, '2010-08-28T11:45:56Z', tz, vi)
            iso8601(dt, '20100828T144556+0300', tz, en_US)
            iso8601(dt, '20100828T114556Z', tz, vi)

            iso8601(d, '2010-08-28+0200', tz, en_US)
            # iso8601(d, '2010-08-28+0000', tz, vi)
            # iso8601(d, '2010-08-28Z', tz, en_US)
            iso8601(d, '2010-08-28', tz, vi)
            iso8601(d, '20100828+0200', tz, en_US)
Example #38
0
        def test_i18n_format_time(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual('1:45:56 PM',
                             datefmt.format_time(t, tzinfo=tz, locale=en_US))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=en_GB))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=fr))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=ja))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=vi))
            self.assertEqual(u'下午01:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=zh_CN))
Example #39
0
        def test_i18n_parse_date_date(self):
            tz = datefmt.timezone('GMT +2:00')
            expected = datetime.datetime(2010, 8, 28, 0, 0, 0, 0, tz)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected,
                             datefmt.parse_date('Aug 28, 2010', tz, en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010', tz, en_GB))
            self.assertEqual(expected,
                             datefmt.parse_date(u'28 août 2010', tz, fr))
            self.assertEqual(expected,
                             datefmt.parse_date('2010/08/28', tz, ja))
            self.assertEqual(expected,
                             datefmt.parse_date('28-08-2010', tz, vi))
            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28', tz, zh_CN))
Example #40
0
        def test_i18n_parse_date_date(self):
            tz = datefmt.timezone('GMT +2:00')
            expected = datetime.datetime(2010, 8, 28, 0, 0, 0, 0, tz)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected,
                             datefmt.parse_date('Aug 28, 2010', tz, en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010', tz, en_GB))
            self.assertEqual(expected,
                             datefmt.parse_date(u'28 août 2010', tz, fr))
            self.assertEqual(expected,
                             datefmt.parse_date('2010/08/28', tz, ja))
            self.assertEqual(expected,
                             datefmt.parse_date('28-08-2010', tz, vi))
            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28', tz, zh_CN))
Example #41
0
        def test_i18n_format_time(self):
            tz = datefmt.timezone('GMT +2:00')
            t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual('1:45:56 PM',
                             datefmt.format_time(t, tzinfo=tz, locale=en_US))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=en_GB))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=fr))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=ja))
            self.assertEqual('13:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=vi))
            self.assertEqual(u'下午01:45:56',
                             datefmt.format_time(t, tzinfo=tz, locale=zh_CN))
Example #42
0
 def test_i18n_format_datetime(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse('en_US')
     self.assertEqual('Aug 28, 2010 1:45:56 PM',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=en_US))
     en_GB = Locale.parse('en_GB')
     self.assertEqual('28 Aug 2010 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=en_GB))
     fr = Locale.parse('fr')
     self.assertEqual(u'28 août 2010 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz, locale=fr))
     ja = Locale.parse('ja')
     self.assertEqual(u'2010/08/28 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz, locale=ja))
     vi = Locale.parse('vi')
     self.assertEqual(u'13:45:56 28-08-2010',
                      datefmt.format_datetime(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse('zh_CN')
     self.assertEqual(u'2010-8-28 下午01:45:56',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=zh_CN))
Example #43
0
 def test_i18n_format_datetime(self):
     tz = datefmt.timezone('GMT +2:00')
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, datefmt.utc)
     en_US = Locale.parse('en_US')
     self.assertEqual('Aug 28, 2010 1:45:56 PM',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=en_US))
     en_GB = Locale.parse('en_GB')
     self.assertEqual('28 Aug 2010 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=en_GB))
     fr = Locale.parse('fr')
     self.assertEqual(u'28 août 2010 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz, locale=fr))
     ja = Locale.parse('ja')
     self.assertEqual(u'2010/08/28 13:45:56',
                      datefmt.format_datetime(t, tzinfo=tz, locale=ja))
     vi = Locale.parse('vi')
     self.assertEqual(u'13:45:56 28-08-2010',
                      datefmt.format_datetime(t, tzinfo=tz, locale=vi))
     zh_CN = Locale.parse('zh_CN')
     self.assertEqual(u'2010-8-28 下午01:45:56',
                      datefmt.format_datetime(t, tzinfo=tz,
                                              locale=zh_CN))
Example #44
0
 def test_default(self):
     tz = datefmt.timezone("GMT +2:00")
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual("2010-08-28", datefmt.format_date(t, tzinfo=tz, locale="iso8601"))
     self.assertEqual("11:45:56+02:00", datefmt.format_time(t, tzinfo=tz, locale="iso8601"))
     self.assertEqual("2010-08-28T11:45:56+02:00", datefmt.format_datetime(t, tzinfo=tz, locale="iso8601"))
Example #45
0
 def test_with_iso8601(self):
     tz = datefmt.timezone("GMT +2:00")
     t = datetime.datetime(2010, 8, 28, 11, 45, 56, 123456, tz)
     self.assertEqual("2010-08-28", datefmt.format_date(t, "iso8601", tz, "iso8601"))
     self.assertEqual("11:45:56+02:00", datefmt.format_time(t, "iso8601", tz, "iso8601"))
     self.assertEqual("2010-08-28T11:45:56+02:00", datefmt.format_datetime(t, "iso8601", tz, "iso8601"))
Example #46
0
 def _get_timezone(self, req):
     try:
         return timezone(req.session.get('tz', self.default_timezone
                                         or 'missing'))
     except Exception:
         return localtz
Example #47
0
        def test_i18n_parse_date_datetime(self):
            tz = datefmt.timezone('GMT +2:00')
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)
            expected_minute = datetime.datetime(2010, 8, 28, 13, 45, 0, 0, tz)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected,
                             datefmt.parse_date('Aug 28, 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('8 28, 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 PM 1:45:56', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 13:45:56', tz,
                                                en_US))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('28 Aug 2010 PM 1:45', tz,
                                                en_US))

            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 13:45:56', tz,
                                                en_GB))

            self.assertEqual(expected,
                             datefmt.parse_date(u'28 août 2010 13:45:56', tz,
                                                fr))
            self.assertEqual(expected,
                             datefmt.parse_date(u'août 28 2010 13:45:56', tz,
                                                fr))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'août 28 2010 13:45', tz,
                                                fr))

            self.assertEqual(expected,
                             datefmt.parse_date('2010/08/28 13:45:56', tz, ja))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('2010/08/28 13:45', tz, ja))

            self.assertEqual(expected,
                             datefmt.parse_date('13:45:56 28-08-2010', tz, vi))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('13:45 28-08-2010', tz, vi))

            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28 下午01:45:56',
                                                tz, zh_CN))
            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28 01:45:56下午',
                                                tz, zh_CN))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'2010-8-28 下午01:45', tz,
                                                zh_CN))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'2010-8-28 01:45下午', tz,
                                                zh_CN))
Example #48
0
 def _get_timezone(self, req):
     try:
         return timezone(
             req.session.get('tz', self.default_timezone or 'missing'))
     except Exception:
         return localtz
Example #49
0
        def test_i18n_parse_date_datetime(self):
            tz = datefmt.timezone('GMT +2:00')
            expected = datetime.datetime(2010, 8, 28, 13, 45, 56, 0, tz)
            expected_minute = datetime.datetime(2010, 8, 28, 13, 45, 0, 0, tz)
            en_US = Locale.parse('en_US')
            en_GB = Locale.parse('en_GB')
            fr = Locale.parse('fr')
            ja = Locale.parse('ja')
            vi = Locale.parse('vi')
            zh_CN = Locale.parse('zh_CN')

            self.assertEqual(expected,
                             datefmt.parse_date('Aug 28, 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('8 28, 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 1:45:56 PM', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 PM 1:45:56', tz,
                                                en_US))
            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 13:45:56', tz,
                                                en_US))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('28 Aug 2010 PM 1:45', tz,
                                                en_US))

            self.assertEqual(expected,
                             datefmt.parse_date('28 Aug 2010 13:45:56', tz,
                                                en_GB))

            self.assertEqual(expected,
                             datefmt.parse_date(u'28 août 2010 13:45:56', tz,
                                                fr))
            self.assertEqual(expected,
                             datefmt.parse_date(u'août 28 2010 13:45:56', tz,
                                                fr))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'août 28 2010 13:45', tz,
                                                fr))

            self.assertEqual(expected,
                             datefmt.parse_date('2010/08/28 13:45:56', tz, ja))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('2010/08/28 13:45', tz, ja))

            self.assertEqual(expected,
                             datefmt.parse_date('13:45:56 28-08-2010', tz, vi))
            self.assertEqual(expected_minute,
                             datefmt.parse_date('13:45 28-08-2010', tz, vi))

            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28 下午01:45:56',
                                                tz, zh_CN))
            self.assertEqual(expected,
                             datefmt.parse_date(u'2010-8-28 01:45:56下午',
                                                tz, zh_CN))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'2010-8-28 下午01:45', tz,
                                                zh_CN))
            self.assertEqual(expected_minute,
                             datefmt.parse_date(u'2010-8-28 01:45下午', tz,
                                                zh_CN))