
    f*                     l    d dl mZmZmZmZ d dl mZmZmZ d dlm	Z	 ddl
Z
 G d de
j                  ZdS )   )ContentlinesContentline
Parametersfoldline)q_joinq_splitdquote)vText    Nc                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
IcalendarTestCasec                 B    t          | d          s| j        | _        d S d S )NassertRaisesRegex)hasattrassertRaisesRegexpr   selfs    b/var/www/dev/btcams2024/python_venv/lib/python3.11/site-packages/icalendar/tests/test_icalendar.pysetUpzIcalendarTestCase.setUp
   s0    t011 	=%)%<D"""	= 	=    c                    t          t          d          g          }|                    t          d                    d                               |                     |                                d           |                     t          j        d          ddg           |                     t          j        d          ddg           |                     t          j        d	          g d
           d S )NzBEGIN:VEVENT d123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 sw   BEGIN:VEVENT
123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234
 56789 123456789 123456789 
zA short line
zA short linezA faked
  long line
A faked long linez:A faked
  long line
And another lin
	e that is folded
)r   zAnd another line that is foldedr   )r   r   appendjoinassertEqualto_ical	from_ical)r   cs     r   test_long_linesz!IcalendarTestCase.test_long_lines   s
   +n55677	RWW%67788999IIKK	
 	
 	
 	/0BCC("-	/ 	/ 	//0LMM-r2	4 	4 	4" $C D DHHH	
 	
 	
 	
 	
r   c                 t   |                      t          d                                          d           t          d                    dgdz                                                      }|                      |d           |                      t          j        |          d           |                     t          t          d           |                      t          d	                                          d
           t          d          }|                     d|                                           t          d          }|                      |                                                    d          d           t          d                    dgdz                                                      }|                      t          d          	                                dt          i           df           |                      t          d          	                                dt          ddi          df           t          d          }|                      |	                                dt          ddd          df           |                      |                                                    d          d           dt          ddd          df}|                      t          j        | d           dt                      df}|                      t          j        | d            dt                      t          d!          f}|                      t          j        | d"           d#t                      t          d$          f}|                      t          j        | d%           d#t                      t          d$          f}|                      t          j        | d%           |	                                \  }}}|                      |d           |                      |d           |                      t          |                                          t          d&d'g                     |                     t"          d(          5  t          d)          	                                 d d d            n# 1 swxY w Y   |                     t"          d(          5  t          d*          	                                 d d d            n# 1 swxY w Y   |                      t          d+          	                                d,t          d-di          d.f           |                      t          d/          	                                d,t          d-d0i          d.f           |                     t"          d(          5  t          j        d1          	                                 d d d            n# 1 swxY w Y   |                      t          d2d34          	                                d,t          d-d0i          d.f           |                      t          d2d54          	                                d,t          d-d6i          d.f           |                      t          d7d54          	                                d,t          d-d8i          d.f           d9}|                      t          |d54          	                                d:t          d;d<d=d>d?d@dA          dBf           d S )CNz(Si meliora dies, ut vina, poemata reddits(   Si meliora dies, ut vina, poemata redditr   z
123456789 
   sg   123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234
 56789 123456789 123456789 r   s   1234

1234z1234\n\n1234s   1234\n\n1234sk   This line has a UTF-8 character where it should be folded. Make sure it gëts folded before that character.s   ësX   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxë\n yyyyyyyyyy      x   zdtstart:20050101T120000dtstart20050101T120000z&dtstart;value=datetime:20050101T120000VALUEdatetimezFATTENDEE;CN=Max Rasmussen;ROLE=REQ-PARTICIPANT:MAILTO:maxm@example.comATTENDEEREQ-PARTICIPANTMax Rasmussen)ROLECNzMAILTO:maxm@example.comzutf-8zHATTENDEE;CN="Max Rasmussen";ROLE=REQ-PARTICIPANT:MAILTO:maxm@example.comz ATTENDEE:MAILTO:maxm@example.comzMAILTO:test@example.comz ATTENDEE:MAILTO:test@example.comSUMMARYu   INternational char æ ø åu#   SUMMARY:INternational char æ ø å)r/   r-   )r0   r.   z+Content line could not be parsed into partszATTENDEE;maxm@example.comz:maxm@example.comzkey;param=:valuekeyPARAMvaluezkey;param="pvalue":valuepvaluezk;:no paramzkey;param=pvalue:valueF)strictTPVALUEzkey;param="pValue":valuepValues   X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS="Kaiserliche Hofburg, 1010 Wien";X-APPLE-MAPKIT-HANDLE=CAESxQEZgr3QZXJyZWljaA==;X-APPLE-RADIUS=328.7978217977285;X-APPLE-REFERENCEFRAME=1;X-TITLE=Heldenplatz:geo:48.206686,16.363235zX-APPLE-STRUCTURED-LOCATIONz328.7978217977285zKaiserliche Hofburg, 1010 Wien1HELDENPLATZzCAESXQEZGR3QZXJYZWLJAA==URI)zX-APPLE-RADIUSz	X-ADDRESSzX-APPLE-REFERENCEFRAMEzX-TITLEzX-APPLE-MAPKIT-HANDLEr*   zgeo:48.206686,16.363235)r   r   r   r   r   assertRaisesAssertionErrorassertIncountpartsr   decode
from_partsr
   sorteditemsr   
ValueError)r   r    r@   nameparamsvalscontains_base64s          r   test_contentline_classz(IcalendarTestCase.test_contentline_class&   s7   BCCKKMM7	
 	
 	
  34455==??>	
 	
 	
 	!!$$8	
 	
 	
 	.+7JKKK())1133	
 	
 	
  & ' ' 	k199;;/// EFF**733Q777 ,,--5577 	12288::
2(9:	
 	
 	

 	@AAGGII
GZ#899;LM	
 	
 	

  2 3 3GGII!2/JJKK&(	
 	
 	
 	IIKKw''&	
 	
 	
 %6#24 4 5 5*, 	"E*&	
 	
 	
 Z\\+DE"E*.	
 	
 	
 Z\\51J+K+KL"E*.	
 	
 	
 JLL%0M*N*NO"E*1	
 	
 	
 JLL%0M*N*NO"E*1	
 	
 	
 WWYYfdz***89996<<>>""/1HIJJ	
 	
 	
 ##9
 
 	= 	= 344::<<<		= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= ##9
 
 	5 	5 +,,22444		5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	*++1133J}--w7	
 	
 	

 	23399;;J233W=	
 	
 	
 ##9
 
 	9 	9 !-0066888		9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	0???EEGGJ233W=	
 	
 	
 	0>>>DDFFJ233W=	
 	
 	

 	24@@@FFHHJ233W=	
 	
 	
; 	 	555;;==*#6>+.)+    '	
 	
 	
 	
 	
s6   "SSS-"TT"T'XX	Xc                    |                      t          d          d           |                      t          d          d           |                     t                    5  t          d                                d           d d d            n# 1 swxY w Y   |                      t          dd          d	           |                      t          d          d           |                      t          d
          d           d S )NfoozdLorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum convallis imperdiet dui posuere.zgLorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum conval
 lis imperdiet dui posuere.u   привет   )limitfoobar   z	foo
 baruN   DESCRIPTION:АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯuQ   DESCRIPTION:АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭ
 ЮЯ)r   r   r<   r=   encoder   s    r   test_fold_linez IcalendarTestCase.test_fold_line   sf   %%000 I J J@	
 	
 	
 ~.. 	7 	7^**,,A6666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	(!444mDDD E F FA	
 	
 	
 	effa	
 	
 	
 	
 	
s   !$BBBc                     |                      t          d          d           |                      t          d          d           |                      t          d          d           d S )NMaxRasmussen, Max"Rasmussen, Max"z
name:valuez"name:value")r   r	   r   s    r   test_value_double_quotingz+IcalendarTestCase.test_value_double_quoting  sb    ... 0113EFFF--~>>>>>r   c                 P    |                      t          d          g d           d S )NMax,Moller,"Rasmussen, Max")rT   MollerrV   )r   r   r   s    r   test_q_splitzIcalendarTestCase.test_q_split  s=    !>??>>>	@ 	@ 	@ 	@ 	@r   c           	          dD ]O}t          dd          D ]<}|                     t          |d|          |                    d|                     =Pd S )N)zX-SOMETHING=ABCDE==z,,,rM   =)maxsplit)ranger   r   split)r   sr_   s      r   test_q_split_binz"IcalendarTestCase.test_q_split_bin  sv    / 	9 	9A!"aLL 9 9  C(!C!C!C!"h!7!79 9 9 99	9 	9r   c                 P    |                      t          g d          d           d S )N)rT   rZ   rU   rY   )r   r   r   s    r   test_q_joinzIcalendarTestCase.test_q_join  s8     C C CDD6	8 	8 	8 	8 	8r   N)__name__
__module____qualname__r   r!   rJ   rR   rW   r[   rc   re    r   r   r   r      s        = = =
 
 
0E
 E
 E
N
 
 
6? ? ?
@ @ @9 9 98 8 8 8 8r   r   )parserr   r   r   r   r   r   r	   propr
   unittestTestCaser   ri   r   r   <module>rn      s    D D D D D D D D D D D D , , , , , , , , , ,       Q8 Q8 Q8 Q8 Q8* Q8 Q8 Q8 Q8 Q8r   