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)
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])
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)
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)
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))
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)
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)
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)