o
    Q+ i@                      @   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%ZEMz1.2emZEXz1.2exZPXz1.2pxZCMz1.2cmZMMz1.2mmINz1.2inZPTz1.2ptPCz1.2pcANGLES)Z1degZ1radZ1gradZTIMES)Z1sZ1msZFREQUENCIES)Z1hzZ1khzZ	DIMENSION)Z
1dimensionZ1_dimensionZ1dimension2STRING)z"string"z'STRING'URI)zurl(x)zURL("x")zurl(')'))identIDENTZ_IDENTZ_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   ZATTRZRECTZCLIPZ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   j/home/app/PaddleOCR-VL-test/.venv_paddleocr/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   r   COLORS3N)r!   r   _valuesofkeysr   ALL)selfr#   r   r    r"   setup_method   sr   	
$

zTestProperties.setup_methodc                 C   s   t  | jS )z5Return list of **all** possible values as simple list)copyr(   )r)   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)r   r   r!   r   r   )r)   r   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)r,   r'   debugprintr   validremove)r)   namer   Znotvalidr0   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)fillZhiddenZ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boldZbolderZlighterr9   100Z200Z300Z400500Z600Z700Z800Z900zfont-stretch)rA   ZwiderZnarrowerzultra-condensedzextra-condensedZ	condensedzsemi-condensedzsemi-expandedr#   zextra-expandedzultra-expandedr9   z
font-style)rA   italicZobliquer9   zfont-variant)rA   z
small-capsr9   z	font-size)zxx-smallzx-smallZsmallZmediumZlargezx-largezxx-largeZlargerZsmallerZ1emz1%r9   zfont-size-adjustr   nonezimage-orientationr   r
   r>   leftZopacityZorphans)1Z99999r9   page)r   zpage-break-inside)r>   r9   Zavoidsize)r>   z1em 1emza4 portraitzb4 landscapezA5 PORTRAITZwidowsN)r   itemsr6   )r)   testsr5   r   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)r:   zrgba(1,2,3,1)rH   r8   N      )r   rK   r   cssutilsZprofileZdefaultProfilesr3   validate)r)   rL   r/   rspr   r   r"   test_validate   s   
zTestProperties.test_validateN)	__name__
__module____qualname__r*   r,   r'   r6   rM   rT   r   r   r   r"   r      s    :cr   __main__r@   )__doc__r+   rP   Zcssutils.css.propertyr   r1   r   rU   loggingZunittestlogsetLevelFATALmainr   r   r   r"   <module>   s     f