예제 #1
0
 def testParseDateTimePatternError(self):
     # Quote not closed
     try:
         parseDateTimePattern("HH' Uhr")
     except DateTimePatternParseError, err:
         self.assertEqual(
             str(err), 'The quote starting at character 2 is not closed.')
예제 #2
0
 def testParseGermanTimePattern(self):
     # German full
     self.assertEqual(parseDateTimePattern("H:mm' Uhr 'z"), [("H", 1), ":", ("m", 2), " Uhr ", ("z", 1)])
     # German long
     self.assertEqual(parseDateTimePattern("HH:mm:ss z"), [("H", 2), ":", ("m", 2), ":", ("s", 2), " ", ("z", 1)])
     # German medium
     self.assertEqual(parseDateTimePattern("HH:mm:ss"), [("H", 2), ":", ("m", 2), ":", ("s", 2)])
     # German short
     self.assertEqual(parseDateTimePattern("HH:mm"), [("H", 2), ":", ("m", 2)])
예제 #3
0
 def testParseQuotesInPattern(self):
     self.assertEqual(parseDateTimePattern("HH''mm"),
                      [('H', 2), "'", ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH'HHmm'mm"),
                      [('H', 2), 'HHmm', ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH':'''':'mm"),
                      [('H', 2), ":':", ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH':' ':'mm"),
                      [('H', 2), ": :", ('m', 2)])
예제 #4
0
 def testParseQuotesInPattern(self):
     self.assertEqual(parseDateTimePattern("HH''mm"),
                      [('H', 2), "'", ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH'HHmm'mm"),
                      [('H', 2), 'HHmm', ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH':'''':'mm"),
                      [('H', 2), ":':", ('m', 2)])
     self.assertEqual(parseDateTimePattern("HH':' ':'mm"),
                      [('H', 2), ": :", ('m', 2)])
예제 #5
0
 def testParseDateTimePatternError(self):
     # Quote not closed
     try:
         parseDateTimePattern("HH' Uhr")
     except DateTimePatternParseError as err:
         self.assertEqual(str(err), "The quote starting at character 2 is not closed.")
     # Test correct length of characters in datetime fields
     try:
         parseDateTimePattern("HHHHH")
     except DateTimePatternParseError as err:
         self.assertTrue(str(err).endswith("You have: 5"))
예제 #6
0
 def testParseRealDate(self):
     # German full
     self.assertEqual(
         parseDateTimePattern("EEEE, d. MMMM yyyy"), [("E", 4), ", ", ("d", 1), ". ", ("M", 4), " ", ("y", 4)]
     )
     # German long
     self.assertEqual(parseDateTimePattern("d. MMMM yyyy"), [("d", 1), ". ", ("M", 4), " ", ("y", 4)])
     # German medium
     self.assertEqual(parseDateTimePattern("dd.MM.yyyy"), [("d", 2), ".", ("M", 2), ".", ("y", 4)])
     # German short
     self.assertEqual(parseDateTimePattern("dd.MM.yy"), [("d", 2), ".", ("M", 2), ".", ("y", 2)])
예제 #7
0
 def testParseDateTimePatternError(self):
     # Quote not closed
     try:
         parseDateTimePattern("HH' Uhr")
     except DateTimePatternParseError as err:
         self.assertEqual(
             str(err), 'The quote starting at character 2 is not closed.')
     # Test correct length of characters in datetime fields
     try:
         parseDateTimePattern("HHHHH")
     except DateTimePatternParseError as err:
         self.assertTrue(str(err).endswith('You have: 5'))
예제 #8
0
 def testParseRealDate(self):
     # German full
     self.assertEqual(parseDateTimePattern("EEEE, d. MMMM yyyy"),
                      [('E', 4), ', ', ('d', 1), '. ', ('M', 4),
                       ' ', ('y', 4)])
     # German long
     self.assertEqual(parseDateTimePattern("d. MMMM yyyy"),
                      [('d', 1), '. ', ('M', 4), ' ', ('y', 4)])
     # German medium
     self.assertEqual(parseDateTimePattern("dd.MM.yyyy"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 4)])
     # German short
     self.assertEqual(parseDateTimePattern("dd.MM.yy"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 2)])
예제 #9
0
 def testParseGermanTimePattern(self):
     # German full
     self.assertEqual(parseDateTimePattern("H:mm' Uhr 'z"),
                      [('H', 1), ':', ('m', 2), ' Uhr ', ('z', 1)])
     # German long
     self.assertEqual(parseDateTimePattern("HH:mm:ss z"),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2), ' ',
                       ('z', 1)])
     # German medium
     self.assertEqual(parseDateTimePattern("HH:mm:ss"),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2)])
     # German short
     self.assertEqual(parseDateTimePattern("HH:mm"),
                      [('H', 2), ':', ('m', 2)])
예제 #10
0
 def testParseRealDate(self):
     # German full
     self.assertEqual(parseDateTimePattern("EEEE, d. MMMM yyyy"),
                      [('E', 4), ', ', ('d', 1), '. ', ('M', 4),
                       ' ', ('y', 4)])
     # German long
     self.assertEqual(parseDateTimePattern("d. MMMM yyyy"),
                      [('d', 1), '. ', ('M', 4), ' ', ('y', 4)])
     # German medium
     self.assertEqual(parseDateTimePattern("dd.MM.yyyy"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 4)])
     # German short
     self.assertEqual(parseDateTimePattern("dd.MM.yy"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 2)])
예제 #11
0
 def testParseGermanTimePattern(self):
     # German full
     self.assertEqual(parseDateTimePattern("H:mm' Uhr 'z"),
                      [('H', 1), ':', ('m', 2), ' Uhr ', ('z', 1)])
     # German long
     self.assertEqual(parseDateTimePattern("HH:mm:ss z"),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2), ' ',
                       ('z', 1)])
     # German medium
     self.assertEqual(parseDateTimePattern("HH:mm:ss"),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2)])
     # German short
     self.assertEqual(parseDateTimePattern("HH:mm"),
                      [('H', 2), ':', ('m', 2)])
예제 #12
0
 def testParseRealDateTime(self):
     # German full
     self.assertEqual(
         parseDateTimePattern("EEEE, d. MMMM yyyy H:mm' Uhr 'z"),
         [('E', 4), ', ', ('d', 1), '. ', ('M', 4), ' ', ('y', 4), ' ',
          ('H', 1), ':', ('m', 2), ' Uhr ', ('z', 1)])
     # German long
     self.assertEqual(parseDateTimePattern("d. MMMM yyyy HH:mm:ss z"),
                      [('d', 1), '. ', ('M', 4), ' ', ('y', 4), ' ',
                       ('H', 2), ':', ('m', 2), ':', ('s', 2), ' ',
                       ('z', 1)])
     # German medium
     self.assertEqual(parseDateTimePattern("dd.MM.yyyy HH:mm:ss"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 4), ' ',
                       ('H', 2), ':', ('m', 2), ':', ('s', 2)])
     # German short
     self.assertEqual(parseDateTimePattern("dd.MM.yy HH:mm"),
                      [('d', 2), '.', ('M', 2), '.', ('y', 2), ' ',
                       ('H', 2), ':', ('m', 2)])
예제 #13
0
 def testParseRealDateTime(self):
     # German full
     self.assertEqual(
         parseDateTimePattern("EEEE, d. MMMM yyyy H:mm' Uhr 'z"),
         [('E', 4), ', ', ('d', 1), '. ', ('M', 4), ' ', ('y', 4),
          ' ', ('H', 1), ':', ('m', 2), ' Uhr ', ('z', 1)])
     # German long
     self.assertEqual(
         parseDateTimePattern("d. MMMM yyyy HH:mm:ss z"),
         [('d', 1), '. ', ('M', 4), ' ', ('y', 4),
          ' ', ('H', 2), ':', ('m', 2), ':', ('s', 2), ' ', ('z', 1)])
     # German medium
     self.assertEqual(
         parseDateTimePattern("dd.MM.yyyy HH:mm:ss"),
         [('d', 2), '.', ('M', 2), '.', ('y', 4),
          ' ', ('H', 2), ':', ('m', 2), ':', ('s', 2)])
     # German short
     self.assertEqual(
         parseDateTimePattern("dd.MM.yy HH:mm"),
         [('d', 2), '.', ('M', 2), '.', ('y', 2),
          ' ', ('H', 2), ':', ('m', 2)])
예제 #14
0
 def testParseRealDateTime(self):
     # German full
     self.assertEqual(
         parseDateTimePattern("EEEE, d. MMMM yyyy H:mm' Uhr 'z"),
         [("E", 4), ", ", ("d", 1), ". ", ("M", 4), " ", ("y", 4), " ", ("H", 1), ":", ("m", 2), " Uhr ", ("z", 1)],
     )
     # German long
     self.assertEqual(
         parseDateTimePattern("d. MMMM yyyy HH:mm:ss z"),
         [("d", 1), ". ", ("M", 4), " ", ("y", 4), " ", ("H", 2), ":", ("m", 2), ":", ("s", 2), " ", ("z", 1)],
     )
     # German medium
     self.assertEqual(
         parseDateTimePattern("dd.MM.yyyy HH:mm:ss"),
         [("d", 2), ".", ("M", 2), ".", ("y", 4), " ", ("H", 2), ":", ("m", 2), ":", ("s", 2)],
     )
     # German short
     self.assertEqual(
         parseDateTimePattern("dd.MM.yy HH:mm"),
         [("d", 2), ".", ("M", 2), ".", ("y", 2), " ", ("H", 2), ":", ("m", 2)],
     )
예제 #15
0
 def testParseSimpleTimePattern(self):
     self.assertEqual(parseDateTimePattern("HH"), [("H", 2)])
     self.assertEqual(parseDateTimePattern("HH:mm"), [("H", 2), ":", ("m", 2)])
     self.assertEqual(parseDateTimePattern("HH:mm:ss"), [("H", 2), ":", ("m", 2), ":", ("s", 2)])
     self.assertEqual(parseDateTimePattern("mm:ss"), [("m", 2), ":", ("s", 2)])
     self.assertEqual(parseDateTimePattern("H:m:s"), [("H", 1), ":", ("m", 1), ":", ("s", 1)])
     self.assertEqual(parseDateTimePattern("HHH:mmmm:sssss"), [("H", 3), ":", ("m", 4), ":", ("s", 5)])
예제 #16
0
    def runTest(self):
        # Loading Locale object 
        locale = LocaleFactory(self.__path)()

        # Making sure all number format patterns parse
        for category in (u'decimal', u'scientific', u'percent', u'currency'):
            for length in getattr(locale.numbers, category+'Formats').values():
                for format in length.formats.values():
                    self.assert_(parseNumberPattern(format.pattern) is not None)

        # Making sure all datetime patterns parse
        for calendar in locale.dates.calendars.values():
            for category in ('date', 'time', 'dateTime'):
                for length in getattr(calendar, category+'Formats').values():
                    for format in length.formats.values():
                        self.assert_(
                            parseDateTimePattern(format.pattern) is not None)
예제 #17
0
 def testParseSimpleTimePattern(self):
     self.assertEqual(parseDateTimePattern('HH'),
                      [('H', 2)])
     self.assertEqual(parseDateTimePattern('HH:mm'),
                      [('H', 2), ':', ('m', 2)])
     self.assertEqual(parseDateTimePattern('HH:mm:ss'),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2)])
     self.assertEqual(parseDateTimePattern('mm:ss'),
                      [('m', 2), ':', ('s', 2)])
     self.assertEqual(parseDateTimePattern('H:m:s'),
                      [('H', 1), ':', ('m', 1), ':', ('s', 1)])
     self.assertEqual(parseDateTimePattern('HHH:mmmm:sssss'),
                      [('H', 3), ':', ('m', 4), ':', ('s', 5)])
예제 #18
0
 def testParseSimpleTimePattern(self):
     self.assertEqual(parseDateTimePattern('HH'),
                      [('H', 2)])
     self.assertEqual(parseDateTimePattern('HH:mm'),
                      [('H', 2), ':', ('m', 2)])
     self.assertEqual(parseDateTimePattern('HH:mm:ss'),
                      [('H', 2), ':', ('m', 2), ':', ('s', 2)])
     self.assertEqual(parseDateTimePattern('mm:ss'),
                      [('m', 2), ':', ('s', 2)])
     self.assertEqual(parseDateTimePattern('H:m:s'),
                      [('H', 1), ':', ('m', 1), ':', ('s', 1)])
     self.assertEqual(parseDateTimePattern('HHH:mmmm:sssss'),
                      [('H', 3), ':', ('m', 4), ':', ('s', 5)])