Example #1
0
 def test_tz(self) -> None:
     where = "Asia/Istanbul"
     result, description, icon = ultz.process_input(where)
     expected_datetime = dt.datetime.now().astimezone(pytz.timezone(where))
     self.assertEqual(result, ultz.format_datetime(expected_datetime))
     self.assertEqual(
         description,
         ultz.generate_description(parser.ExprCode.TZ_ONLY, where,
                                   expected_datetime),
     )
     self.assertEqual(icon, self.ok_icon)
Example #2
0
    def on_event(self, event, extension):
        expr = event.get_argument()
        if not expr:
            return DoNothingAction()

        result, description, icon = process_input(
            expr, extension.preferences["date-format"])

        item = ExtensionResultItem(icon=icon,
                                   name=result,
                                   description=description)

        return RenderResultListAction([item])
Example #3
0
    def test_dtin(self) -> None:
        mm: int = 12
        dd: int = 2
        HH: int = 12
        MM: int = 27
        year = dt.date.today().year
        when = dt.datetime(year, mm, dd, HH, MM)
        where: str = "Pacific/Chatham"
        expected_datetime = when.astimezone(pytz.timezone(where))

        expression = f"{mm:02}-{dd:02} {HH:02}:{MM:02} in {where}"
        result, description, icon = ultz.process_input(expression)

        self.assertEqual(result, ultz.format_datetime(expected_datetime))
        self.assertEqual(
            description,
            ultz.generate_description(parser.ExprCode.TZ_DATEIN, where, when),
        )
        self.assertEqual(icon, self.ok_icon)
Example #4
0
    def test_dtat(self) -> None:
        mm: int = 1
        dd: int = 12
        HH: int = 21
        MM: int = 17
        year = dt.date.today().year
        when = dt.datetime(year, mm, dd, HH, MM)
        where: str = "Europe/Madrid"
        tz = pytz.timezone(where)
        expected_datetime = tz.localize(when).astimezone(None)

        expression = f"{where} at {mm:02}-{dd:02} {HH:02}:{MM:02}"
        result, description, icon = ultz.process_input(expression)

        self.assertEqual(result, ultz.format_datetime(expected_datetime))
        self.assertEqual(
            description,
            ultz.generate_description(parser.ExprCode.TZ_DATEAT, where,
                                      expected_datetime),
        )

        self.assertEqual(icon, self.ok_icon)
Example #5
0
 def test_empty(self) -> None:
     result, description, icon = ultz.process_input("")
     self.assert_is_error(result, description, icon)
     self.assertEqual(result, ultz.get_error_msg(ultz.ErrCode.EXPR))
Example #6
0
 def test_wrong_tz(self) -> None:
     expression = "12:29 in YoshiLand/Island"
     result, description, icon = ultz.process_input(expression)
     self.assertEqual(result, ultz.get_error_msg(ultz.ErrCode.TZ))
     self.assert_is_error(result, description, icon)
Example #7
0
 def test_wrong_expr(self) -> None:
     expression = "12:29 in America/New_York at 01:12"
     result, description, icon = ultz.process_input(expression)
     self.assertEqual(result, ultz.get_error_msg(ultz.ErrCode.EXPR))
     self.assert_is_error(result, description, icon)
Example #8
0
 def test_wrong_dt(self) -> None:
     expression = "25:89 in Europe/Paris"
     result, description, icon = ultz.process_input(expression)
     self.assertEqual(result, ultz.get_error_msg(ultz.ErrCode.DATE))
     self.assert_is_error(result, description, icon)