+
    ¾¾j #  ã                  óü  € R t ^ RIHt ^ RIHtHtHtHtHt ^ RIt^ RI	H
t
HtHtHtHtHt ]P                   t]P$                  R R l4       t]P(                  P+                  RRR	.4      t]P(                  P+                  R
RR.4      t]]R 4       4       t]R 4       t]]R 4       4       t]]R 4       4       tR t]R 4       t]]P(                  P+                  R^^.4      R 4       4       t]R 4       t]P(                  P+                  RRR.4      t ] ]R 4       4       t!]P(                  P+                  RRR.4      t ] R 4       t"] R 4       t#] R 4       t$R  t%]P$                  ! ]
]]].R!7      R" R# l4       t&]P$                  ! R$R%.R!7      R& R' l4       t'R( R) lt(R* R+ lt)R, R- lt*R. R/ lt+R0 R1 lt,R2 R3 lt-R4 R5 lt.]P(                  P+                  R6]! R7^^4      ]! R7^^4      R8]! R7^^4      ]! ^R97      3]! ^^ 4      .4      R: R; l4       t/]P(                  P+                  R6]! RGR<7      ]! ^ R<7      .4      R= R> l4       t0R? R@ lt1RA RB lt2RC t3RD t4]P(                  P+                  RE]3]4.4      RF 4       t5R# )HzˆThis tests additional attributes from :rfc:`7986`.

Some attributes are also available as ``X-*`` attributes.
They are also considered.
)Úannotations)ÚdateÚdatetimeÚtimeÚ	timedeltaÚtimezoneN)ÚCalendarÚEventÚJournalÚTodoÚvTextÚvUric               ó   € V ^8„  d   QhRR/# )é   Úreturnr   © )Úformats   "Ú\/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/tests/test_rfc_7986.pyÚ__annotate__r      s   € ÷ ñ �(ñ ó    c                 ó   € \        4       # )zEmpty calendar)r   r   r   r   Úcalendarr      s   € ô ‹:Ðr   ÚnamezCompany Vacation DayszCalendar NameÚpropÚNAMEúX-WR-CALNAMEc                óN   € VP                  W4       VP                  V8X  g   Q hR# )zGet the name of the calendar.N©ÚaddÚcalendar_name)r   r   r   s   &&&r   Útest_get_calendar_namer       s$   € ð ‡L�L�ÔØ×!Ñ! TÔ)Ð)Ò)r   c                óx   € Wn         VP                   V 8X  g   Q hVR,          V 8X  g   Q hVR,          V 8X  g   Q hR# )zRSetting the name overrides the old attributes and sets both NAME and X-WR-CALNAME.r   r   N©r   )r   r   s   &&r   Útest_set_calendar_namer#   $   óD   € ð "ÔØ×!Ñ! TÔ)Ð)Ð)Ø�FÕ˜tÔ#Ð#Ð#Ø�NÕ# tÔ+Ð+Ò+r   c                ó@   € RW!&   Wn         VP                   V 8X  g   Q hR# )z.Setting the name overrides the old attributes.z
Other NameNr"   )r   r   r   s   &&&r   Útest_replace_namer&   -   s%   € ð "€H�NØ!ÔØ×!Ñ! TÔ)Ð)Ò)r   c                óL   € VP                  W 4       V=VP                  e   Q hR# )zDelete the name.Nr   )r   r   r   s   &&&r   Útest_del_namer(   6   s(   € ð ‡L�L�ÔØÐØ×!Ñ!Ò)Ð)Ò)r   c                ó&   € V P                   e   Q hR# )zWe have no name by default.Nr"   ©r   s   &r   Útest_default_namer+   ?   s   € à×!Ñ!Ò)Ð)Ò)r   c                óx   € Wn         V P                   V8X  g   Q hV R,          V8X  g   Q hV R,          V8X  g   Q hR# )zHSetting calendar_name sets both NAME and X-WR-CALNAME for compatibility.r   r   Nr"   ©r   r   s   &&r   Ú*test_setting_the_name_sets_both_propertiesr.   D   r$   r   Úorderc                óÎ   € V^8X  d   V P                  RV4       V P                  R\        RRR/R7      4       V^8X  d   V P                  RV4       V P                  V8X  g   Q hR# )z;Add several names and use the one without a language param.r   ÚKalendernameÚLANGUAGEÚde©ÚparamsN)r   r   r   )r   r   r/   s   &&&r   Ú2test_multiple_names_use_the_one_without_a_languager6   M   s\   € ð �„zØ�‰�V˜TÔ"Ø‡L�L�œ˜~°zÀ4Ð6HÔIÔJØ�„zØ�‰�V˜TÔ"Ø×!Ñ! TÔ)Ð)Ò)r   c                ót   € V P                  RV4       V P                  RR4       V P                  V8X  g   Q hR# )z(NAME is more important that X-WR-CALNAMEr   r   ÚasdNr   r-   s   &&r   Útest_name_is_preferredr9   Y   s4   € ð ‡L�L�˜ÔØ‡L�L� Ô'Ø×!Ñ! TÔ)Ð)Ò)r   ÚdescÚDESCRIPTIONzX-WR-CALDESCc                óN   € V P                  W4       V P                  V8X  g   Q hR# ©zGet the valueN)r   Údescription)r   r:   r   s   &&&r   Útest_descriptionr?   g   s$   € ð ‡L�L�ÔØ×Ñ 4Ô'Ð'Ò'r   Úcolor_paramÚCOLORúX-APPLE-CALENDAR-COLORc                óN   € V P                  W4       V P                  V8X  g   Q hR# r=   ©r   Úcolor©r   r@   rE   s   &&&r   Útest_get_calendar_colorrG   w   s"   € ð ‡L�L�Ô$Ø�>‰>˜UÔ"Ð"Ò"r   c                ób   € V P                  W4       V =V P                  R8X  g   Q hW9  g   Q hR# )zDelete the valueÚ NrD   rF   s   &&&r   Útest_delete_calendar_colorrJ   ~   s3   € ð ‡L�L�Ô$ØˆØ�>‰>˜RÔÐÐØÔ&Ð&Ò&r   c                ó|   € V P                  VR4       W n        V P                  V8X  g   Q hV R,          V8X  g   Q hR# )z,Set the color and it replaces what is there.ÚgreenrA   NrD   rF   s   &&&r   Útest_set_calendar_colorrM   ‡   s<   € ð ‡L�L�˜gÔ&Ø„NØ�>‰>˜UÔ"Ð"Ð"Ø�GÕ Ô%Ð%Ò%r   c                ót   € V P                  RV4       V P                  RR4       V P                  V8X  g   Q hR# )z+We prefer COLOR over X-APPLE-CALENDAR-COLORrA   rB   rL   NrD   )r   rE   s   &&r   Útest_get_COLOR_firstrO   �   s1   € à‡L�L�˜%Ô Ø‡L�LÐ)¨7Ô3Ø�>‰>˜UÔ"Ð"Ò"r   r4   c               ó   € V ^8„  d   QhRR/# )r   r   ú!Calendar | Event | Todo | Journalr   )r   s   "r   r   r   œ   s   € ÷ ñ Ð Añ r   c                ó"   € V P                  4       # )z6An empty component that should have a color attribute.©Úparam©Úrequests   &r   Úcolor_componentrW   ›   s   € ð �=‰=‹?Ðr   Úbluez#123456c               ó   € V ^8„  d   QhRR/# )r   r   Ústrr   )r   s   "r   r   r   ¢   s   € ÷ ñ �cñ r   c                ó   € V P                   # )zReturn a color.rS   rU   s   &r   rE   rE   ¡   s   € ð �=‰=Ðr   c               ó   € V ^8„  d   QhRR/# ©r   rW   rQ   r   )r   s   "r   r   r   §   s   € ÷ 'ñ 'Ð(Iñ 'r   c                ó,   € V P                   R8X  g   Q hR# )zThere is no color by default.rI   N©rE   ©rW   s   &r   Útest_default_colorra   §   s   € à× Ñ  BÔ&Ð&Ò&r   c               ó    € V ^8„  d   QhRRRR/# ©r   rE   rZ   rW   rQ   r   )r   s   "r   r   r   ¬   s   € ÷ -ñ -˜cð -Ð4Uñ -r   c                óX   € Wn         VP                   V 8X  g   Q hVR,          V 8X  g   Q hR# )zWe set the value and get it.rA   Nr_   ©rE   rW   s   &&r   Útest_set_the_colorrf   ¬   s/   € à!ÔØ× Ñ  EÔ)Ð)Ð)Ø˜7Õ# uÔ,Ð,Ò,r   c               ó    € V ^8„  d   QhRRRR/# rc   r   )r   s   "r   r   r   ³   s   € ÷ -ñ -˜cð -Ð4Uñ -r   c                óf   € RVn         Wn         VP                   V 8X  g   Q hVR,          V 8X  g   Q hR# )zReplace the color.rX   rA   Nr_   re   s   &&r   Útest_replace_colorri   ³   s7   € à"€OÔØ!ÔØ× Ñ  EÔ)Ð)Ð)Ø˜7Õ# uÔ,Ð,Ò,r   c               ó   € V ^8„  d   QhRR/# r]   r   )r   s   "r   r   r   »   s   € ÷ +ñ +Ð*Kñ +r   c                ót   € V P                  RR4       V P                  RR4       V P                  R8X  g   Q hR# ©z)Add several colors and use the first one.rA   rX   rL   NrD   r`   s   &r   Útest_multiple_colorsrm   »   s6   € à×Ñ˜ Ô(Ø×Ñ˜ Ô)Ø× Ñ  FÔ*Ð*Ò*r   c               ó   € V ^8„  d   QhRR/# r]   r   )r   s   "r   r   r   Â   s   € ÷ 'ñ 'Ð+Lñ 'r   c                óP   € RV n         V = RV 9  g   Q hV P                   R8X  g   Q hR# )zDelete the color.rX   rA   rI   Nr_   r`   s   &r   Útest_delete_the_colorrp   Â   s2   € à"€OÔØÐØ˜/Ô)Ð)Ð)Ø× Ñ  BÔ&Ð&Ò&r   c               ó    € V ^8„  d   QhRRRR/# rc   r   )r   s   "r   r   r   Ê   s   € ÷ *ñ *Øð*Ø!Bñ*r   c                ó€   € VP                  RR4       VP                  RR4       Wn        VP                  V 8X  g   Q hR# rl   rD   re   s   &&r   Útest_set_if_multiple_colorsrs   Ê   s>   € ð ×Ñ˜ Ô(Ø×Ñ˜ Ô)Ø!ÔØ× Ñ  EÔ)Ð)Ò)r   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   Ô   s   € ÷ -ñ -¨Hñ -r   c                óP   € V P                  R4      e   Q hV P                  e   Q hR# )zREFRESH-INTERVAL default.úREFRESH-INTERVALN)ÚgetÚrefresh_intervalr*   s   &r   Útest_refresh_interval_defaultrz   Ô   s*   € à�<‰<Ð*Ó+Ò3Ð3Ð3Ø×$Ñ$Ò,Ð,Ò,r   Úinvalid_valueiä  Úinvalid)Údaysc               ó   € V ^8„  d   QhRR/# ru   r   )r   s   "r   r   r   ä   s   € ÷ ;ñ ;°ñ ;r   c                óê   € \        ^R7      V n        \        P                  ! \        4      ;_uu_ 4        Wn        RRR4       V P                  \        ^R7      8X  g   Q hR#   + '       g   i     L/; i)zInvalid REFRESH-INTERVAL©ÚhoursN)r   ry   ÚpytestÚraisesÚ	TypeError©r   r{   s   &&r   Ú"test_invalid_refresh_interval_typer†   Ú   sM   € ô !*°Ô 2€HÔÜ	�Š”y×	!Õ	!Ø$1Ô!÷ 
"à×$Ñ$¬	¸Ô(:Ô:Ð:Ò:÷ 
"×	!úó   ´A"Á"A2	)Úsecondsc               ó   € V ^8„  d   QhRR/# ru   r   )r   s   "r   r   r   í   s   € ÷ 
;ñ 
;¨Hñ 
;r   c                óê   € \        ^R7      V n        \        P                  ! \        4      ;_uu_ 4        Wn        RRR4       V P                  \        ^R7      8X  g   Q hR#   + '       g   i     L/; i)zWInvalid REFRESH-INTERVAL.

Test:
- value validation
- no deletion of the current value
r€   N)r   ry   r‚   rƒ   Ú
ValueErrorr…   s   &&r   Útest_invalid_refresh_intervalrŒ   ì   sM   € ô !*°Ô 2€HÔÜ	�Š”z×	"Õ	"Ø$1Ô!÷ 
#à×$Ñ$¬	¸Ô(:Ô:Ð:Ò:÷ 
#×	"úr‡   c               ó   € V ^8„  d   QhRR/# ru   r   )r   s   "r   r   r   ú   s   € ÷ Añ A°ñ Ar   c                óª   € \        ^R7      V n        V P                  \        ^R7      8X  g   Q hV R,          P                  \        ^R7      8X  g   Q hR# )úREFRESH-INTERVAL setting.r€   rw   N)r   ry   Útdr*   s   &r   Ú"test_refresh_interval_set_to_valuer‘   ú   sG   € ä )°Ô 2€HÔØ×$Ñ$¬	¸Ô(:Ô:Ð:Ð:ØÐ&Õ'×*Ñ*¬i¸aÔ.@Ô@Ð@Ò@r   c               ó   € V ^8„  d   QhRR/# ru   r   )r   s   "r   r   r     s   € ÷ Iñ I¸ñ Ir   c                óÆ   € V P                  R\        ^^R7      4       V P                  \        ^^R7      8X  g   Q hV R,          P                  \        ^^R7      8X  g   Q hR# )r�   rw   )r}   r�   N)r   r   ry   Údtr*   s   &r   Ú*test_refresh_interval_set_to_value_by_dictr•     sT   € à‡L�LÐ#¤Y°A¸QÔ%?Ô@Ø×$Ñ$¬	°qÀÔ(BÔBÐBÐBØÐ&Õ'×*Ñ*¬i¸QÀaÔ.HÔHÐHÒHr   c                ó   € V P                   # )z
ICS -> obj)Úrfc_7986_properties)Ú	calendarss   &r   Ú get_rfc_7986_properties_calendarr™     s   € à×(Ñ(Ð(r   c                ób   € V P                   p\        P                  ! VP                  4       4      # )zICS -> obj -> ICS -> obj)r—   r   Ú	from_icalÚto_ical)r˜   Úcals   & r   Ú+get_rfc_7986_properties_calendar_serializedrž     s$   € à
×
'Ñ
'€CÜ×Ò˜cŸk™k›mÓ,Ð,r   Úget_calendarc                óª  € V! V 4      pVP                   R8X  g   Q hVP                  R8X  g   Q hVP                  \        ^R7      8X  g   Q hVP                  \        R^
^^^^\        R7      8X  g   Q R4       hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R	8X  g   Q h\        VP                  \        4      '       g   Q hR
# )z/Check that the attributes have a certain value.zRFC 7986 calendarÚblackr€   ià  )ÚtzinfoÚ20161029T121229Zz$5FC53010-1267-4F8E-BC28-1D7AE55A7C99z-We want a lot of RFC 7986 parameters in here!zghttps://github.com/collective/icalendar/tree/main/src/icalendar/tests/calendars/rfc_7986_properties.icsN)r   rE   ry   r   Úlast_modifiedr   ÚUTCÚuidr>   ÚsourceÚ
isinstancer   )r˜   rŸ   r   s   && r   Útest_attributes_from_calendarr©     sÛ   € ñ & iÓ0€HØ×!Ñ!Ð%8Ô8Ð8Ð8Ø�>‰>˜WÔ$Ð$Ð$Ø×$Ñ$¬	¸Ô(:Ô:Ð:Ð:Ø×!Ñ!¤X¨d°B¸¸BÀÀBÌsÔ%SÔSð ØóÐSð �<‰<ÐAÔAÐAÐAØ×ÑÐ#RÔRÐRÐRà�‰Øtô	uðð	uô �h—o‘o¤t×,Ò,Ð,Ò,r   éÿÿÿÿ)6Ú__doc__Ú
__future__r   r   r   r   r   r   r‚   Ú	icalendarr   r	   r
   r   r   r   Úutcr¥   Úfixturer   ÚmarkÚparametrizeÚ
param_nameÚ
param_propr    r#   r&   r(   r+   r.   r6   r9   Úparam_colorr?   rG   rJ   rM   rO   rW   rE   ra   rf   ri   rm   rp   rs   rz   r†   rŒ   r‘   r•   r™   rž   r©   r   r   r   Ú<module>rµ      s$  ðñõ #ç >Õ >ã ç A× Aà‡l�l€ð ‡�ôó ðð
 �[‰[×$Ñ$ VÐ.EÀÐ-WÓX€
Ø�[‰[×$Ñ$ V¨f°nÐ-EÓF€
ð Øñ*ó ó ð*ð ñ,ó ð,ð Øñ*ó ó ð*ð Øñ*ó ó ð*ò*ð
 ñ,ó ð,ð Ø‡�×Ñ˜ 1 a &Ó)ñ*ó *ó ð*ð ñ*ó ð*ð �k‰k×%Ñ% f¨}¸nÐ.MÓN€ð Øñ(ó ó ð(ð �k‰k×%Ñ%Ø�GÐ5Ð6ó€ð
 ñ#ó ð#ð ñ'ó ð'ð ñ&ó ð&ò#ð ‡‚˜ %¨¨wÐ7Ô8ôó 9ðð
 ‡‚˜ 	Ð*Ô+ôó ,ðõ
'õ
-õ-õ+õ'õ*õ-ð ‡�×ÑØá��q˜!ÓÙˆT�1�aÓØÙ	ˆd�A�qÓ	™9¨!Ô,Ð-ÙˆR�‹ðó	ô;ó	ð;ð ‡�×Ñ˜©9¸RÔ+@Á)ÐTUÔBVÐ*WÓXô
;ó Yð
;õAõIò)ò
-ð ‡�×ÑØØ%Ð'RÐSóñ-ó	ò-r   