Files
syn-chat-bot/.venv/lib/python3.9/site-packages/icalendar/tests/hypothesis/test_fuzzing.py
Hyungi Ahn c2257d3a86 fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:53:55 +09:00

35 lines
1021 B
Python

import string
import unittest
import hypothesis.strategies as st
from hypothesis import given, settings
from icalendar.parser import Contentline, Contentlines, Parameters
def printable_characters(**kw):
return st.text(st.characters(blacklist_categories=("Cc", "Cs"), **kw))
key = st.text(string.ascii_letters + string.digits, min_size=1)
value = printable_characters(blacklist_characters='\\;:"')
class TestFuzzing(unittest.TestCase):
@given(
lines=st.lists(st.tuples(key, st.dictionaries(key, value), value), min_size=1)
)
@settings(max_examples=10**3)
def test_main(self, lines):
cl = Contentlines()
for key, params, value in lines:
try:
params = Parameters(**params)
except TypeError:
# Happens when there is a random parameter 'self'...
continue
cl.append(Contentline.from_parts(key, params, value))
cl.append("")
assert Contentlines.from_ical(cl.to_ical()) == cl