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,98 @@
|
||||
import datetime
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("field", "expected_value"),
|
||||
[
|
||||
("PRODID", "-//Plönë.org//NONSGML plone.app.event//EN"),
|
||||
("X-WR-CALDESC", "test non ascii: äöü ÄÖÜ €"),
|
||||
],
|
||||
)
|
||||
def test_calendar_from_ical_respects_unicode(field, expected_value, calendars):
|
||||
cal = calendars.calendar_with_unicode
|
||||
assert cal[field].to_ical().decode("utf-8") == expected_value
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("test_input", "field", "expected_value"),
|
||||
[
|
||||
("event_with_unicode_fields", "SUMMARY", "Non-ASCII Test: ÄÖÜ äöü €"),
|
||||
(
|
||||
"event_with_unicode_fields",
|
||||
"DESCRIPTION",
|
||||
"icalendar should be able to handle non-ascii: €äüöÄÜÖ.",
|
||||
),
|
||||
("event_with_unicode_fields", "LOCATION", "Tribstrül"),
|
||||
# Non-unicode characters in summary
|
||||
# https://github.com/collective/icalendar/issues/64
|
||||
("issue_64_event_with_non_ascii_summary", "SUMMARY", "åäö"),
|
||||
# Unicode characters in summary
|
||||
("issue_64_event_with_ascii_summary", "SUMMARY", "abcdef"),
|
||||
],
|
||||
)
|
||||
def test_event_from_ical_respects_unicode(test_input, field, expected_value, events):
|
||||
event = events[test_input]
|
||||
assert event[field].to_ical().decode("utf-8") == expected_value
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("test_input", "expected_output"),
|
||||
[
|
||||
# chokes on umlauts in ORGANIZER
|
||||
# https://github.com/collective/icalendar/issues/101
|
||||
("issue_101_icalendar_chokes_on_umlauts_in_organizer", "acme, ädmin"),
|
||||
("event_with_unicode_organizer", "Джон Доу"),
|
||||
],
|
||||
)
|
||||
def test_events_parameter_unicoded(events, test_input, expected_output):
|
||||
assert events[test_input]["ORGANIZER"].params["CN"] == expected_output
|
||||
|
||||
|
||||
def test_parses_event_with_non_ascii_tzid_issue_237(calendars, in_timezone):
|
||||
"""Issue #237 - Fail to parse timezone with non-ascii TZID
|
||||
see https://github.com/collective/icalendar/issues/237
|
||||
"""
|
||||
start = calendars.issue_237_fail_to_parse_timezone_with_non_ascii_tzid.walk(
|
||||
"VEVENT"
|
||||
)[0].decoded("DTSTART")
|
||||
expected = in_timezone(datetime.datetime(2017, 5, 11, 13, 30), "America/Sao_Paulo")
|
||||
assert not calendars.issue_237_fail_to_parse_timezone_with_non_ascii_tzid.errors
|
||||
assert start == expected
|
||||
|
||||
|
||||
def test_parses_timezone_with_non_ascii_tzid_issue_237(timezones):
|
||||
"""Issue #237 - Fail to parse timezone with non-ascii TZID
|
||||
see https://github.com/collective/icalendar/issues/237
|
||||
"""
|
||||
assert timezones.issue_237_brazilia_standard["tzid"] == "(UTC-03:00) Brasília"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("timezone_name", ["standard", "daylight"])
|
||||
def test_parses_timezone_with_non_ascii_tzname_issue_273(timezones, timezone_name):
|
||||
"""Issue #237 - Fail to parse timezone with non-ascii TZID
|
||||
see https://github.com/collective/icalendar/issues/237
|
||||
"""
|
||||
assert (
|
||||
timezones.issue_237_brazilia_standard.walk(timezone_name)[0]["TZNAME"]
|
||||
== f"Brasília {timezone_name}"
|
||||
)
|
||||
|
||||
|
||||
def test_broken_property(calendars):
|
||||
"""
|
||||
Test if error messages are encoded properly.
|
||||
"""
|
||||
for event in calendars.broken_ical.walk("vevent"):
|
||||
assert len(event.errors) == 1, "Not the right amount of errors."
|
||||
error = event.errors[0][1]
|
||||
assert error.startswith("Content line could not be parsed into parts")
|
||||
|
||||
|
||||
def test_apple_xlocation(calendars):
|
||||
"""
|
||||
Test if we support base64 encoded binary data in parameter values.
|
||||
"""
|
||||
for event in calendars.x_location.walk("vevent"):
|
||||
assert len(event.errors) == 0, "Got too many errors"
|
||||
Reference in New Issue
Block a user