fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
"""This tests the compatibility with RFC 7529.
|
||||
|
||||
See
|
||||
- https://github.com/collective/icalendar/issues/655
|
||||
- https://www.rfc-editor.org/rfc/rfc7529.html
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from icalendar.prop import vMonth, vRecur, vSkip
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("uid", "scale"),
|
||||
[
|
||||
("4.3.1", "CHINESE"),
|
||||
("4.3.2", "ETHIOPIC"),
|
||||
("4.3.3", "HEBREW"),
|
||||
("4.3.4", "GREGORIAN"),
|
||||
],
|
||||
)
|
||||
def test_rscale(calendars, uid, scale):
|
||||
"""Check that the RSCALE is parsed correctly."""
|
||||
event = calendars.rfc_7529.walk(select=lambda c: c.get("UID") == uid)[0]
|
||||
print(event.errors)
|
||||
rrule = event["RRULE"]
|
||||
print(rrule)
|
||||
assert rrule["RSCALE"] == [scale]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("uid", "skip"),
|
||||
[
|
||||
("4.3.2", None),
|
||||
("4.3.3", ["FORWARD"]),
|
||||
],
|
||||
)
|
||||
def test_rscale_with_skip(calendars, uid, skip):
|
||||
"""Check that the RSCALE is parsed correctly."""
|
||||
event = calendars.rfc_7529.walk(select=lambda c: c.get("UID") == uid)[0]
|
||||
recur = event["RRULE"]
|
||||
assert recur.get("SKIP") == skip
|
||||
|
||||
|
||||
def test_leap_month(calendars):
|
||||
"""Check that we can parse the leap month."""
|
||||
event = calendars.rfc_7529.walk(select=lambda c: c.get("UID") == "4.3.3")[0]
|
||||
recur = event["RRULE"]
|
||||
assert recur["BYMONTH"][0].leap is True
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("ty", "recur", "ics"),
|
||||
[
|
||||
(
|
||||
vRecur,
|
||||
vRecur(rscale="CHINESE", freq="YEARLY"),
|
||||
b"RSCALE=CHINESE;FREQ=YEARLY",
|
||||
),
|
||||
(vRecur, vRecur(bymonth=vMonth(10)), b"BYMONTH=10"),
|
||||
(vRecur, vRecur(bymonth=vMonth("5L")), b"BYMONTH=5L"),
|
||||
(vMonth, vMonth(10), b"10"),
|
||||
(vMonth, vMonth("5L"), b"5L"),
|
||||
(vSkip, vSkip.OMIT, b"OMIT"),
|
||||
(vSkip, vSkip.BACKWARD, b"BACKWARD"),
|
||||
(vSkip, vSkip.FORWARD, b"FORWARD"),
|
||||
(vSkip, vSkip("OMIT"), b"OMIT"),
|
||||
(vSkip, vSkip("BACKWARD"), b"BACKWARD"),
|
||||
(vSkip, vSkip("FORWARD"), b"FORWARD"),
|
||||
(
|
||||
vRecur,
|
||||
vRecur(rscale="GREGORIAN", freq="YEARLY", skip="FORWARD"),
|
||||
b"RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=FORWARD",
|
||||
),
|
||||
(
|
||||
vRecur,
|
||||
vRecur(rscale="GREGORIAN", freq="YEARLY", skip=vSkip.FORWARD),
|
||||
b"RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=FORWARD",
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_conversion(ty, recur, ics):
|
||||
"""Test string conversion."""
|
||||
assert recur.to_ical() == ics
|
||||
assert ty.from_ical(ics.decode()) == recur
|
||||
assert ty.from_ical(ics.decode()).to_ical() == ics
|
||||
Reference in New Issue
Block a user