
     h@                          d Z ddlZddlZddlmZ dZ G d d      Zedk(  rAdZddlZddl	Z	ej                  j                  ej                          e	j                          yy)	z.Testcases for cssutils.css.property._Property.    N)PropertyFc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestPropertiesc                    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d0}| _         t        | j                  t        j                                           | _         |ddd	dddddd	      | j                   d1<    |d2d3d4d5      | j                   d6<    |d7d8d9d:      | j                   d;<   y<)=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                      g }| D ]G  }t        |   t              r|j                  |          +|j                  t	        |                I |S )N)
isinstancestrappendextendlist)keysrkVs      ^/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/cssutils/tests/test_properties.pyexpandedz-TestProperties.setup_method.<locals>.expanded2   sJ    AadC(HHQqTNHHT!A$Z(	 
 H    LENGTHSr,   r-   r.   r/   COLORSr0   r1   r2   r3   COLORS3N)r=   r9   _valuesofkeysr:   ALL)selfr?   r=   s     @r>   setup_methodzTestProperties.setup_method   s   "
"
4"
 <"
 '	"

 '"
 '"
 '"
 '"
 '"
 '"
 '"
 /"
 ]"
 ?"
 E"
  .!"
" 5#"
$ ? $$'$,!(C"
H	 **4>:; %tT4tT4
y $FFE8Dx$VYvFyr@   c                 @    t        j                   | j                        S )z5Return list of **all** possible values as simple list)copyrE   )rF   s    r>   
_allvalueszTestProperties._allvaluesF   s    yy""r@   c              #     K   g }|D ]y  }t        |t              r|D ]  }|  | j                  |   }t        |t              r||vsC|j	                  |       | Y|D ]  }||vs|j	                  |       |  { yw)z4Generate all distinct values in given keys of self.VN)r5   r9   r=   r6   r7   )rF   r:   donekeyvvalues         r>   rD   zTestProperties._valuesofkeysJ   s     C#t$AG  FF3Ka%}A "# , KK."'K "# s   AB
B*Bc                    | j                         }| j                  |      D ]Z  }|t        k(  r!t        dt	        ||      j
                  |       t	        ||      j
                  sJ ||v sJ|j                  |       \ |D ]D  }|t        k(  r!t        dt	        ||      j
                  |       t	        ||      j
                  sDJ  y)zN
        Check each value in values if for property name p.name==exp.
        z+True?z-False?N)rJ   rD   debugprintr   validremove)rF   namer:   notvalidrO   s        r>   _checkzTestProperties._check`   s     ??$''-Eu}hu 5 ; ;UCD%(.... & . Eu}i$!6!<!<eDe,2222 r@   c                 `   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        |j                               D ]  \  }}| j                  ||        y,)-
propertiescolorrB   rC   inheritredfit)fillhiddenmeetslicezfit-positionrA   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lighterr[   100200300400500600700800900zfont-stretch)re   widernarrowerzultra-condensedzextra-condensed	condensedzsemi-condensedzsemi-expandedr?   zextra-expandedzultra-expandedr[   z
font-style)re   italicobliquer[   zfont-variant)re   z
small-capsr[   z	font-size)zxx-smallzx-smallsmallmediumlargezx-largezxx-largelargersmaller1emz1%r[   zfont-size-adjustr	   nonezimage-orientationr   r   rb   leftopacityorphans)199999r[   page)r$   zpage-break-inside)rb   r[   avoidsize)rb   z1em 1emza4 portraitzb4 landscapezA5 PORTRAITwidowsN)r9   itemsrW   )rF   testsrU   r:   s       r>   test_propertieszTestProperties.test_propertiesq   s   \
h	Iu+=>\
 79\
 C	\
 \
. /\
R S\
r EGs\
t @Bu\
v w\
Z FI+> ?[\
b  #x&!:c\
d Yy&.ABe\
f 9+.g\
h 67i\
j Jk\
l  ">!@m\
n Qo\
v s56w\
z u{{}-JD$KKd# .r@   c                     dddd}t        |j                               D ]R  \  }}t        d|      }dt        j                  _        |d   |j                  k(  sJ |d   |j                         k(  rRJ  y)	z&Property.validate() and Property.valid)TTTTT)FTTFT)FFFFF)r\   zrgba(1,2,3,1)r   rZ   N      )r9   r   r   cssutilsprofiledefaultProfilesrS   validate)rF   r   rN   rsps        r>   test_validatezTestProperties.test_validate   sy     2=4	
 %++-(EAr!$A 04H,a5AGG###a5AJJL((( )r@   N)	__name__
__module____qualname__rG   rJ   rD   rW   r   r   r'   r@   r>   r   r      s$    8Gt#(,3"a$F)r@   r   __main__rd   )__doc__rI   r   cssutils.css.propertyr   rQ   r   r   loggingunittestlogsetLevelFATALmainr'   r@   r>   <module>r      s^    4   *\) \)J zELL'--(HMMO r@   