U
    j	                     @   s4  d Z ddlZddlmZmZmZ ejdddddgd	d
 Zejddddgfgdd Z	dd Z
ejdeeddddfeeedddfeeedddfeeddfeeddfeejdfeejd feejd!feed"dfeed#d feedd!feed$ddd%d&feed$dejd%d&fgd'd( ZdS ))zThis tests the compatibility with RFC 7529.

See
- https://github.com/collective/icalendar/issues/655
- https://www.rfc-editor.org/rfc/rfc7529.html
    N)vMonthvRecurvSkip)uidscale)z4.3.1CHINESE)4.3.2ZETHIOPIC)4.3.3ZHEBREW)z4.3.4	GREGORIANc                    sJ   | j j fdddd }t|j |d }t| |d |gksFtdS )*Check that the RSCALE is parsed correctly.c                    s   |  d kS NUIDgetcr    A/tmp/pip-unpacked-wheel-g40nyxg1/icalendar/tests/test_rfc_7529.py<lambda>       ztest_rscale.<locals>.<lambda>selectr   RRULEZRSCALEN)rfc_7529walkprinterrorsAssertionError)	calendarsr   r   eventZrruler   r   r   test_rscale   s
    
r!   )r   skip)r   Nr	   FORWARDc                    s8   | j j fdddd }|d }|d|ks4tdS )r   c                    s   |  d kS r   r   r   r   r   r   r   (   r   z'test_rscale_with_skip.<locals>.<lambda>r   r   r   ZSKIPN)r   r   r   r   )r   r   r"   r    recurr   r   r   test_rscale_with_skip   s    	r%   c                 C   s8   | j jdd dd }|d }|d d jdks4tdS )	z'Check that we can parse the leap month.c                 S   s   |  ddkS )Nr   r	   r   r   r   r   r   r   /   r   z!test_leap_month.<locals>.<lambda>r   r   r   ZBYMONTHTN)r   r   Zleapr   )r   r    r$   r   r   r   test_leap_month-   s    r&   tyr$   Zicsr   ZYEARLY)rscalefreqs   RSCALE=CHINESE;FREQ=YEARLY
   )Zbymonths
   BYMONTH=10Z5Ls
   BYMONTH=5Ls   10s   5Ls   OMITs   BACKWARDs   FORWARDOMITBACKWARDr
   )r)   r*   r"   s)   RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=FORWARDc                 C   sD   |  |kst| | |ks&t| |   |ks@tdS )zTest string conversion.N)Zto_icalr   Z	from_icaldecoder'   r   r   r   test_conversion4   s     r/   )__doc__ZpytestZicalendar.propr   r   r   markZparametrizer!   r%   r&   r,   r-   r#   r/   r   r   r   r   <module>   s\   	
	




