
    f8                        d dl Z d dlmZmZmZmZ d dlZe j                            d ed          df edddgi          d	f ed
dd          df eddi          df edddgi          df edddgddgd          df eddi          df edddgi          df edddgddgd          dfg	          d             Z	d Z
d Zd  Ze j                            d!g d"          d#             Zd$ Zd% Zd& ZdS )'    N)CalendarEvent
ParametersvCalAddresszparameter, expectedValue1
parameter1s   PARAMETER1=Value1r	   Value2s   PARAMETER1=Value1,Value2TRUEzREQ-PARTICIPANT)RSVPROLEs   ROLE=REQ-PARTICIPANT;RSVP=TRUEALTREPzhttp://www.wiz.orgs   ALTREP="http://www.wiz.org"MEMBERzMAILTO:projectA@host.comzMAILTO:projectB@host.coms<   MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host.com"Value3value4)r	   
parameter2r   sM   ALTREP="http://www.wiz.org",value4;PARAMETER1=Value1;PARAMETER2=Value2,Value3PARAM s   PARAM=)
PARAMETER1r   
PARAMETER2c                     |                                  |k    sJ t          j        |                    d                    | k    sJ d S )Nutf-8)to_icalr   	from_icaldecode)	parameterexpecteds     h/var/www/dev/btcams2024/python_venv/lib/python3.11/site-packages/icalendar/tests/test_property_params.py.test_parameter_to_ical_is_inverse_of_from_icalr      sO    < (**** 8 899YFFFFFF    c                  Z    t          j        d          t          ddd          k    sJ d S )NzPARAM1=Value 1;PARA2=Value 2zValue 1zValue 2)PARAM1PARA2)r   r    r    r   *test_parse_parameter_string_without_quotesr%   (   s7     >??:YbmvNwNwCxCxxxxxxxr    c                  l    t          d          } | d         | d         cxk    r| d         k    sn J d S )Nr   r   r	   r   
PaRaMeTer1)r   r   s    r   !test_parametr_is_case_insensitiver)   ,   sL    h///I\"i&=XXXX<AXXXXXXXXXr    c                  v    t          d          } t          |                                           dgk    sJ d S )Nr   r   r   )r   listkeysr(   s    r   !test_parameter_keys_are_uppercaser-   1   s=    h///I	  !!l^333333r    zcn_param, cn_quoted))Aramisr.   )zAramis Alamedaz"Aramis Alameda")zAramis d'Alameda"Aramis d'Alameda")u   Арамис д'Аламедаu    "Арамис д'Аламеда")zAramis d"Alamedar/   c                     t                      }t          d          }| |j        d<   |                    d|           d| d|                                                    d          v sJ d S )Nztest@example.comCNATTENDEEzATTENDEE;CN=z:test@example.comr   )r   r   paramsaddr   r   )cn_param	cn_quotedeventattendees       r   test_quotingr9   6   st     GGE-..H$HOD	IIj(###6)666%--//:P:PQX:Y:YYYYYYYr    c                  J   t          d          } d| j        d<   t                      }|                    d|            t          j        |          }d}||k    sJ t          j        |          }|                    d          j                            d          dk    sJ dS )zProperty parameters with values containing a COLON character, a
    SEMICOLON character or a COMMA character MUST be placed in quoted
    text.zmailto:john.doe@example.orgz	Doe, Johnr1   	organizersV   BEGIN:VCALENDAR
ORGANIZER;CN="Doe, John":mailto:john.doe@example.org
END:VCALENDAR
	ORGANIZERN)r   r3   r   r4   r   r   get)cal_addressicalical_strexp_strical2s        r   test_property_paramsrC   I   s     ;<<K*Kt::DHH[+&&&%%HFG w x((E99[!!(,,T22kAAAAAAr    c                     | j                             d          d         }|d         d         }|                                dk    sJ |j                                        dk    sJ |j        d         dk    sJ dS )	z}Parse an ics string and access some property parameters then.
    This is a follow-up of a question received per email.

    VEVENTr   r8   s   MAILTO:rembrand@xs4all.nls-   CN=RembrandXS;PARTSTAT=NEEDS-ACTION;RSVP=TRUEcn
RembrandXSN)property_paramswalkr   r3   )	calendarsr7   r8   s      r   %test_parse_and_access_property_paramsrK   ^   s    
 %**844Q7EZ #H!=====?""$$(XXXXX?4 L000000r    c                  n    t          d          } t          j        dt          |                     sJ dS )z'Test correct class representation.
    r   r   z*Parameters\({u?'PARAMETER1': u?'Value1'}\)N)r   rematchstr)its    r   	test_reprrQ   i   s9     
x	(	(	(B8A3r77KKKKKKKr    )pytest	icalendarr   r   r   r   rM   markparametrizer   r%   r)   r-   r9   rC   rK   rQ   r$   r    r   <module>rV      s{    > > > > > > > > > > > > 				.Z8$$$&:;Z(34557RSZ):;;<<>_`Z/0113QRZ6#=? @ A ADF Zx'/&:#7"BD D E E VW
 Z"	*Z6#=? @ A ADF Zx0(; ((35 5 6 6 VW11  :G G; :G
y y yY Y Y
4 4 4
 . 
1 
1 
1 
 
Z Z
 
ZB B B*	1 	1 	1L L L L Lr    