Merge branch 'pr-31' (timezone) into 0.0.3-draft

Conflicts resolved:
- browse.py: keep both --starts-before and --timezone args
- test_browse.py: combine TestStartsBeforeFilter and TestTimezoneParsing
- SKILL.md: combine documentation for both args
This commit is contained in:
shoko
2026-03-27 02:24:28 +00:00
3 changed files with 98 additions and 7 deletions

View File

@@ -1926,5 +1926,48 @@ class TestStartsBeforeFilter(unittest.TestCase):
self.assertEqual(len(result["match_events"]), 2)
class TestTimezoneParsing(unittest.TestCase):
"""Tests for parse_timezone() and timezone display."""
def test_parse_timezone_utc_plus7(self):
"""UTC+7 should parse to WIB."""
from browse import parse_timezone
from datetime import timezone, timedelta
tz = parse_timezone("UTC+7")
self.assertEqual(tz, timezone(timedelta(hours=7)))
def test_parse_timezone_utc_minus5(self):
"""UTC-5 should parse correctly."""
from browse import parse_timezone
from datetime import timezone, timedelta
tz = parse_timezone("UTC-5")
self.assertEqual(tz, timezone(timedelta(hours=-5)))
def test_parse_timezone_utc_no_offset(self):
"""UTC should return timezone.utc."""
from browse import parse_timezone
tz = parse_timezone("UTC")
self.assertEqual(tz, timezone.utc)
def test_parse_timezone_with_minutes(self):
"""UTC+5:30 should parse correctly."""
from browse import parse_timezone
from datetime import timezone, timedelta
tz = parse_timezone("UTC+5:30")
self.assertEqual(tz, timezone(timedelta(hours=5, minutes=30)))
def test_parse_timezone_invalid_falls_back_to_wib(self):
"""Invalid timezone should fall back to WIB."""
from browse import parse_timezone
from datetime import timezone, timedelta
tz = parse_timezone("Invalid/Timezone")
self.assertEqual(tz, timezone(timedelta(hours=7)))
if __name__ == "__main__":
unittest.main()