o
    /h@                      @   sl   d Z ddlZddlZddlmZ dZG dd dZedkr4dZddlZddl	Z	ej
ej e	  dS dS )	z.Testcases for cssutils.css.property._Property.    N)PropertyFc                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestPropertiesc                    s   i ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d%d&d'd(d)d*d+d,d-d.d/  fd0d1} | _ t| t  | _|ddd	dddddd	| j d2< |d3d4d5d6| j d7< |d8d9d:d;| j d<< d=S )>zinit test values0)r   -0NUMBER)r   r   z100.1z-100.1
PERCENTAGE)z0%z-0%z100.1%z-100.1%EMz1.2emEXz1.2exPXz1.2pxCMz1.2cmMMz1.2mmINz1.2inPTz1.2ptPCz1.2pcANGLES)1deg1rad1gradTIMES)1s1msFREQUENCIES)1hz1khz	DIMENSION)
1dimension1_dimension1dimension2STRING)z"string"z'STRING'URI)zurl(x)zURL("x")zurl(')'))identIDENT_IDENT_2zi-2zattr(x)zrect(1,2,3,4) z#123z#123abcz
rgb(1,2,3)zrgb(1%,2%,100%)zrgba(1,2,3, 1)zrgba(1%,2%,100%, 0)zhsl(1,2%,3%)zhsla(1,2%,3%, 1.0))r!   ATTRRECTCLIPFUNCTIONHEX3HEX6RGBRGB100RGBARGBA100HSLHSLAc                     sB   g }| D ]}t  | tr| |  q|t |  q|S )N)
isinstancestrappendextendlist)keysrkVr$   R/var/www/html/myenv/lib/python3.10/site-packages/cssutils/tests/test_properties.pyexpanded2   s   z-TestProperties.setup_method.<locals>.expandedLENGTHSr)   r*   r+   r,   COLORSr-   r.   r/   r0   COLORS3N)r:   r5   _valuesofkeysr6   ALL)selfr<   r$   r9   r;   setup_method   sr   	
$

zTestProperties.setup_methodc                 C   s   t  | jS )z5Return list of **all** possible values as simple list)copyrA   )rB   r$   r$   r;   
_allvaluesF   s   zTestProperties._allvaluesc                 c   s    g }|D ]8}t |tr|D ]}|V  qq| j| }t |tr,||vr+|| |V  q|D ]}||vr<|| |V  q.qdS )z4Generate all distinct values in given keys of self.VN)r1   r5   r:   r2   r3   )rB   r6   donekeyvvaluer$   r$   r;   r@   J   s(   




zTestProperties._valuesofkeysc                 C   s   |   }| |D ]!}|tkrtdt||j| t||js!J ||v r*|| q	|D ]}|tkr=tdt||j| t||jrEJ q-dS )zN
        Check each value in values if for property name p.name==exp.
        z+True?z-False?N)rE   r@   debugprintr   validremove)rB   namer6   notvalidrI   r$   r$   r;   _check`   s   
zTestProperties._checkc                 C   s  i dddddgfdg dfdd	d
g dfdddg dfdg dfdg dfdg dfdg dfdd	d
g dfddddgfdddd gfd!d	d
dd gfd"ddgfd#dg d$fd%d&d'g d(fd)d	g d*fd+dg d$fi}t | D ]
\}}| || qd,S )-
propertiescolorr>   r?   inheritredfit)fillhiddenmeetslicezfit-positionr=   r   )autoztop leftz0% 50%z1cm 5embottomfont-familyr   r!   )za, bz"a", "b"za, "b"z"a", bza\{bza\ bza ba b, c  d  , ezfont-weight)normalboldbolderlighterrS   100200300400500600700800900zfont-stretch)r]   widernarrowerzultra-condensedzextra-condensed	condensedzsemi-condensedzsemi-expandedr<   zextra-expandedzultra-expandedrS   z
font-style)r]   italicobliquerS   zfont-variant)r]   z
small-capsrS   z	font-size)zxx-smallzx-smallsmallmediumlargezx-largezxx-largelargersmaller1emz1%rS   zfont-size-adjustr   nonezimage-orientationr   r   rZ   leftopacityorphans)199999rS   page)r!   zpage-break-inside)rZ   rS   avoidsize)rZ   z1em 1emza4 portraitzb4 landscapezA5 PORTRAITwidowsN)r5   itemsrP   )rB   testsrN   r6   r$   r$   r;   test_propertiesq   sv   
	)
9
:;MQR
STU
VW[]zTestProperties.test_propertiesc                 C   s^   dddd}t | D ] \}}td|}dtj_|d |jks"J |d | ks,J qdS )	z&Property.validate() and Property.valid)TTTTT)FTTFT)FFFFF)rT   zrgba(1,2,3,1)ry   rR   N      )r5   r   r   cssutilsprofiledefaultProfilesrL   validate)rB   r   rH   rspr$   r$   r;   test_validate   s   
zTestProperties.test_validateN)	__name__
__module____qualname__rC   rE   r@   rP   r   r   r$   r$   r$   r;   r      s    :cr   __main__r\   )__doc__rD   r   cssutils.css.propertyr   rJ   r   r   loggingunittestlogsetLevelFATALmainr$   r$   r$   r;   <module>   s     f