o
    .j                     @   s   d dl Z d dlZejdddgdd Zejdg dd	d
 Zejdddgdd Zdd Zdd Zejdddgdd Z	dd Z
dd ZdS )    N)fieldexpected_value)PRODIDu+   -//Plönë.org//NONSGML plone.app.event//EN)zX-WR-CALDESCu!   test non ascii: äöü ÄÖÜ €c                 C   s$   |j }||   d|ksJ d S Nzutf-8)calendar_with_unicodeto_icaldecode)r   r   	calendarscal r   R/home/thesage/.local/lib/python3.10/site-packages/icalendar/tests/test_encoding.py(test_calendar_from_ical_respects_unicode   s   r   )
test_inputr   r   ))event_with_unicode_fieldsSUMMARYu!   Non-ASCII Test: ÄÖÜ äöü €)r   DESCRIPTIONu>   icalendar should be able to handle non-ascii: €äüöÄÜÖ.)r   LOCATIONu
   Tribstrül)%issue_64_event_with_non_ascii_summaryr   u   åäö)!issue_64_event_with_ascii_summaryr   abcdefc                 C   s&   ||  }||   d|ksJ d S r   )r   r   )r   r   r   eventseventr   r   r   %test_event_from_ical_respects_unicode   s   r   )r   expected_output)2issue_101_icalendar_chokes_on_umlauts_in_organizeru   acme, ädmin)event_with_unicode_organizeru   Джон Доуc                 C   s   | | d j d |ksJ d S )N	ORGANIZERCN)params)r   r   r   r   r   r   test_events_parameter_unicoded(   s   
r   c                 C   sJ   | j dd d}|tdddddd	}| j jrJ ||ks#J d
S )wIssue #237 - Fail to parse timezone with non-ascii TZID
    see https://github.com/collective/icalendar/issues/237
    VEVENTr   DTSTARTi              zAmerica/Sao_PauloN)4issue_237_fail_to_parse_timezone_with_non_ascii_tzidwalkdecodeddatetimeerrors)r	   in_timezonestartexpectedr   r   r   /test_parses_event_with_non_ascii_tzid_issue_2375   s   r/   c                 C   s   | j d dks	J dS )r    tzidu   (UTC-03:00) BrasíliaN)issue_237_brazilia_standard)	timezonesr   r   r   2test_parses_timezone_with_non_ascii_tzid_issue_237A   s   r3   timezone_namestandarddaylightc                 C   s&   | j |d d d| ksJ dS )r    r   TZNAMEu
   Brasília N)r1   r(   )r2   r4   r   r   r   4test_parses_timezone_with_non_ascii_tzname_issue_273H   s   r8   c                 C   sH   | j dD ]}t|jdksJ d|jd d }|ds!J qdS )z6
    Test if error messages are encoded properly.
    vevent   zNot the right amount of errors.r   z+Content line could not be parsed into partsN)broken_icalr(   lenr+   
startswith)r	   r   errorr   r   r   test_broken_propertyS   s
   r?   c                 C   s,   | j dD ]}t|jdksJ dqdS )zL
    Test if we support base64 encoded binary data in parameter values.
    r9   r   zGot too many errorsN)
x_locationr(   r<   r+   )r	   r   r   r   r   test_apple_xlocation]   s   rA   )r*   pytestmarkparametrizer   r   r   r/   r3   r8   r?   rA   r   r   r   r   <module>   s6    


	


