
     h                         d Z ddlZddlZddlZddlmZ ej                  j                  d      Z	 G d dej                        Z G d	 d
      Z G d d      Zy)z:Testcases for cssutils.css.CSSValue and CSSPrimitiveValue.    N   )basetest
incomplete)reasonc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestCSSValuec                 J    t         j                  j                         | _        y )N)cssutilscssCSSValuer)selfs    \/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/cssutils/tests/test_cssvalue.pysetup_methodzTestCSSValue.setup_method   s    &&(    c                     t         j                  j                         }d|j                  k(  sJ d|j                  u sJ d|j
                  u sJ y)zCSSValue.__init__() N)r
   r   r   cssTextcssValueTypecssValueTypeStringr   vs     r   	test_initzTestCSSValue.test_init   sJ    LL!!#QYYq~~%%%q+++++r   c                    t         j                  j                         }d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ y)zCSSValue Escapes1px1PXz1p\xN)r
   r   r   r   CSS_PRIMITIVE_VALUEr   CSS_PXprimitiveTyper   s     r   test_escapeszTestCSSValue.test_escapes   s    LL!!#	$$666xx1??***		!!!	$$666xx1??***		!!!	$$666xx1??***		!!!r   c                 d   t         j                  j                         }d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ t         j                  j                         }d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ t         j                  j                         }d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ d|_        |j                  |j
                  k(  sJ d|j                  k(  sJ d|_        |j                  |j
                  k(  sJ d|j                  k(  sJ |D ]  }|j                  |j
                  k(  sJ |dk(  r,|j                  |j                  k(  sJ d	|j                  k(  s3J |d
k(  r,|j                  |j                  k(  sJ d|j                  k(  sJ |dk(  r,|j                  |j                  k(  sJ d|j                  k(  sJ |dk(  s|j                  |j                  k(  sJ d|j                  k(  rJ  t         j                  j                         }d|_        |j                  |j
                  k(  sJ d|j                  k(  sJ d|_        |j                  |j
                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ y)zCSSValue.cssTextr   za  ,b,  c  ,"d or d", "e, " za, b, c, "d or d", "e, "z  1   px    z1 pxz  normal 1px a, b, "c" end   znormal 1px a, b, "c" endr   normalr      z	a, b, "c"   endz?expression(document.body.clientWidth > 972 ? "1014px": "100%" )z<expression(document.body.clientWidth > 972?"1014px": "100%")N)r
   r   r   r   r   r   r   r   
CSS_STRINGCSS_VALUE_LIST	CSS_IDENTCSS_UNKNOWN)r   r   xs      r   test_cssTextzTestCSSValue.test_cssText+   s   LL!!#	$$666xx1??***		!!!LL!!#	$$666xx1??***		!!!LL!!#2	$$666||q...)QYY666"	1>>111"""3	1>>111)QYY666A((ANN:::Av{{aoo555199,,,axx1??222		)))Av||q666"aii///Av{{aoo555		)))  LL!!#"	1>>111"""U	$$666}}///JaiiW	
Wr   c                    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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#i d$dd%d%d&dd'd%d(d(d)d(d*d+d,d,d-d.d/d0d1d0d2d3d4d5d6d5d7d8d9d:d;d:i d<d=d>d=d?d@dAdBdCdCdDdDdEdFdGdHdIdIdJdKdLdMdNdNdOdPdQdQdRdSdTdTdUdTi dVdTdWdTdXdTdYdYdZdZd[d[d\d\d]d^d_d_d`d_dadbdcdbdddbdedbdfdfdgdfdhdfi didfdjdkdldkdmdkdkdkdndodpdqdrdqdsdqdtdqdudvdwdvdxdvdydvdzd{d|d{d}d{d~d~ddddd}| j                  |       i dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  d}| j	                  |       y)zCSSValue.cssText 2z/a()1,-1,+1,1%,-1%,1px,-1px,"a",a,url(a),#aabb44z6a() 1, -1, 1, 1%, -1%, 1px, -1px, "a", a, url(a), #ab4redzred z red z/**/redz/**/ redzred/**/zred /**/z/**/red/**/z/**/ red /**/zred-z.00z0.000z0%0pxz-.0z-0z-0.0z-00z-0%z-0pxz+.0z+0z+0.0z+00z+0%z+0px1z1.0r   1%1px1z+1z-1z+1.0z-1.0"x"z'x'z"x\
y"z"xy"z#112234z#112233#123
rgb(1,2,3)zrgb(1, 2, 3)zrgb(  1  ,  2  ,  3  )zrgb(-1,+2,0)zrgb(-1, 2, 0)rgba(1,2,3,4)zrgba(1, 2, 3, 4)zrgba(  1  ,  2  ,  3  ,  4 )zrgba(-1,+2,0, 0)zrgba(-1, 2, 0, 0)zf(1,2)zf(1, 2)zf(  1  ,  2  )zf(-1,+2)zf(-1, 2)zf(  -1  ,  +2  )zfun(  -1  ,  +2  )z
fun(-1, 2)z
local( x )zlocal(x)z+test(1px, #111, y, 1, 1%, "1", y(), var(x))z'test(-1px, #111, y, -1, -1%, "1", -y())zurl(y)  format( "x" ,  "y" )zurl(y) format("x", "y")z
f(1 2,3 4)zf(1 2, 3 4)zExpression()zexpression(-1 < +2)zexpression(-1< + 2)z!expression(document.width == "1")zexpression(document.width=="1")zalpha(opacity=80)zalpha( opacity = 80 , x=2  )zalpha(opacity=80, x=2)zu+fzU+ABCdefzu+abcdefurl(a)zuRl(a)zu\rl(a)zurl("a")zurl(  "a"  )zurl(";")zurl(",")zurl(")")zurl("'")zurl('"')z	url("\"")z1 2z1   2z1,2z1, 2z1,  2z1  ,2z1  ,  2z1/2z1/  2z1  /2z1  /  2z1/**/2z1 /**/ 2z1 /**/2z1/**/ 2z1  /*a*/  /*b*/  2z1 /*a*/ /*b*/ 2z1,/**/2z	1, /**/ 2z1 ,/**/2z1, /**/2z	1 , /**/2z1/**/,2z	1 /**/, 2z1/**/ ,2z1/**/, 2z	1/**/ , 2z1/*a*/  ,/*b*/  2z1 /*a*/, /*b*/ 2z1  /*a*/,  /*b*/2z1  /*a*/  ,  /*b*/  2za b1, b2 b2, b3, b4z
u+1, u+2-5z!local(x), url(y) format("x", "y")z
attr(href)z target-counter(attr(href), page))za b1,b2 b2,b3,b4z a b1  ,   b2   b2  ,  b3  ,   b4zu+1  ,   u+2-5z)local( x ),  url(y)  format( "x" ,  "y" )zattr( href )ztarget-counter(attr(href),page)za+-+z-%z+az--1pxz++1px#z#00z#0000z#00000z#0000000z-#0,z1,,2z1,/**/,2z1  ,  /**/  ,  2)z1,z1, z1 ,z1 , z1  ,  z1//2zurl(x))"'zf(-)zf(x))N)
do_equal_rxmldom	SyntaxErr
do_raise_r)r   testss     r   test_cssText2zTestCSSValue.test_cssText2b   s%   @
=?w@
 5	@

 E@
 U@
 z@
 z@
 ?@
 
@
 
@
 _@
 F@
 #@
  !@
" 3#@
$ #%@
& $'@
( 3)@
* 3+@
, #-@
. C/@
0 31@
2 43@
4 C5@
6 37@
8 #9@
: C;@
< 3=@
> 4?@
@ CA@
B C@
D 3E@
F 5G@
H $I@
J FK@
L #M@
N $O@
P CQ@
R DS@
V 5W@
X 5Y@
^a@
d ye@
f vg@
h .i@
j %nk@
l Om@
n /o@
p +,>q@
r  3s@
v iw@
x iy@
z 
{@
| 
}@
~ !,@
@ *A@
B :;hC@
D 67`E@
F +,EG@
H -I@
L ^M@
N #$9O@
P 12SQ@
R  !4S@
T +,DU@
X 5Y@
Z 
[@
^ h_@
` ha@
b c@
d e@
f Hg@
h 
i@
j 
k@
l 
m@
n No@
p ,q@
r 5s@
t Uu@
v 6w@
x Vy@
z V{@
| v}@
~ 5@
@ UA@
B UC@
D uE@
H jI@
J zK@
L zM@
N 
O@
P !"3Q@
T {U@
V W@
X Y@
Z [@
^ {_@
` a@
b c@
d e@
h  !3i@
j  !3k@
l $%7m@
p !60E*9\(/Q@
D 	!
#''##!
""!
 ""!
 #''##	!

 #''##!
 SWW&&!
 SWW&&!
 ""!
 377$$!
 SWW&&!
 cgg''!
 ))!
 377$$!
 ""!
  CGG%%!!
" ))#!
$  1 1%!
& ''##77$$77$$GG%%gg''GG%%ww((""""GG%%WW&&A!
D 	r   c                     ddd}t        |j                               D ]G  \  }}t        j                  d|z        }|j                  d   j
                  j                  }||k(  rGJ  y)zCSSValue (incomplete)r8   )zurl("azurl(aza { background: %sr   N)listitemsr
   parseStringcssRulesstyle
background)r   rD   r   expss        r   test_incompletezTestCSSValue.test_incomplete  s_    #h75;;=)FAs$$%9A%=>A

1##..A8O8 *r   c                    ddgdt         j                  j                  fg ddt         j                  j                  fddgdt         j                  j                  fg}|D ]  \  }}}|D ]v  }t         j                  j                  |	      }|d
k(  rd}||j
                  k(  sJ ||j                  k(  sJ t        ||      |j                  k(  sJ |t        |      k(  rvJ   y)z)CSSValue.cssValueType .cssValueTypeStringinheritzINhe\ritCSS_INHERIT)r1   r2   1em1exr   1cm1mm1in1pt1pc1deg1rad1grad1ms1s1hz1khz1other"string"'string'zurl(x)r-   attr(a)z
counter(x)zrect(1px, 2px, 3px, 4px)zrgb(0, 0, 0)z#000#123456zrgba(0, 0, 0, 0)zhsl(0, 0, 0)zhsla(0, 0, 0, 0)r   z1px 1pxzred blue green xr'   r   rc   rb   N)
r
   r   r   CSSPrimitiveValueCSSValueListr   r   getattrr   type)r   rD   valuesnameclsvaluer   s          r   test_cssValueTypezTestCSSValue.test_cssValueType  s     %}hll6K6KL B &..G$L ./ ))O.
^ "'FD#LL))%)8J&&E		)))q33333q$'1>>999d1g~%~   "'r   c                 n   t         j                  j                  d      }d|j                  u sJ t         j                  j                  dd      }d|j                  u sJ 	 t        j                  t        j                  j                        5  |j                  d       ddd       y# 1 sw Y   
xY w)z(CSSValue._readonly)rQ   rf   FT)r   readonlyr*   N)r
   r   r   	_readonlyr   pytestraisesr@   rA   NoModificationAllowedErr_setCssTextr   s     r   test_readonlyzTestCSSValue.test_readonlyP  s    LL!!)!4###LL!!)d!Cq{{"""]]377;;<MM# = =<s   B++B4c                     d}t         j                  j                  |      }|t        |      v sJ t	        t        |            }t        ||j                        sJ ||j                  k(  sJ y)zCSSValue.__repr__(), .__str__()rQ   rf   N)	r
   r   r   strevalrepr
isinstance	__class__r   )r   r   rN   s2s       r   test_reprANDstrzTestCSSValue.test_reprANDstr\  sc    LL!!'!2#a&   $q']"akk***"**$$$r   N)__name__
__module____qualname__r   r   r    r+   rE   rO   ro   rw   r    r   r   r   r      s3    ),"$5
nhT:&x
$
%r   r   c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)TestCSSPrimitiveValuec                    t         j                  j                  d      }d|j                  k(  sJ |j                  |j
                  k(  sJ d|j                  k(  sJ |j                  |j                  k(  sJ d|j                  k(  sJ t        j                  t        j                  j                        5  |j                          ddd       t        j                  t        j                  j                        5  |j!                          ddd       t        j                  t        j                  j                        5  |j#                          ddd       t        j                  t        j                  j                        5  |j%                          ddd       y# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   yxY w)zCSSPrimitiveValue.__init__()r1   r   
CSS_NUMBERN)r
   r   rg   r   r   r   r   r   r   primitiveTypeStringrs   rt   r@   rA   InvalidAccessErrgetCounterValuegetRGBColorValuegetRectValuegetStringValuer   s     r   r   zTestCSSPrimitiveValue.test_initj  s;   LL**3/aii$$666$(<(<<<<||q...q44444
 ]]377334 5]]377334  5]]377334NN 5]]377334 54 54444444s0   6F"<F.F:G"F+.F7:GGc                     t         j                  j                  d      }|j                  |j                  k(  sJ d|j
                  k(  sJ y)zCSSPrimitiveValue.CSS_UNKNOWNzexpression(false)r)   N)r
   r   rg   r)   r   r   r   s     r   test_CSS_UNKNOWNz&TestCSSPrimitiveValue.test_CSS_UNKNOWN  sA    LL**+>?}}/// 5 5555r   c                     g d}|D ]\  \  }}dD ]R  }t         j                  j                  d||fz        }||j                  k(  sJ t	        ||      |j
                  k(  rRJ  ^ y)z-CSSPrimitiveValue.CSS_NUMBER .. CSS_DIMENSION))r   r   )%CSS_PERCENTAGE)emCSS_EMS)exCSS_EXS)pxr   )cmCSS_CM)mmCSS_MM)inCSS_IN)ptCSS_PT)pcCSS_PC)degCSS_DEG)radCSS_RAD)gradCSS_GRAD)msCSS_MS)rN   CSS_S)hzCSS_HZ)khzCSS_KHZ)other_dimensionCSS_DIMENSION)r   r   皙?皙r   z%i%sN)r
   r   rg   r   ri   r   )r   defsdimrl   nr   s         r   $test_CSS_NUMBER_AND_OTHER_DIMENSIONSz:TestCSSPrimitiveValue.test_CSS_NUMBER_AND_OTHER_DIMENSIONS  sm    
( IC.LL226QH3DEq44444q$'1??::: / r   c                     g d}|D ]W  \  }}|D ]M  }t         j                  j                  |      }t        ||      |j                  k(  sJ ||j
                  k(  rMJ  Y y)z,CSSPrimitiveValue.CSS_STRING .. CSS_RGBCOLOR)	))z""''z"some thing"z' A\ND 'za, bz"a", "b"r&   ))r8   z
url("a b")zurl(' ')CSS_URI))somez
or_anth-err(   ))rd   zattr(b)CSS_ATTR))z
counter(1)z
counter(2)CSS_COUNTER))zrect(1,2,3,4)CSS_RECT))r6   zrgb(10%, 20%, 30%)r5   re   CSS_RGBCOLOR))r7   zrgba(10%, 20%, 30%, 40%)CSS_RGBACOLOR))zU+0zu+ffffffz
u+000000-fzu+0-f, U+ee-ffCSS_UNICODE_RANGEN)r
   r   rg   ri   r   r   )r   r   examplesrl   r*   r   s         r   test_CSS_STRING_AND_OTHERz/TestCSSPrimitiveValue.test_CSS_STRING_AND_OTHER  sd    
: #NHdLL2215q$'1??:::q44444  #r   c                    t         j                  j                  d      }i d|j                  dfd|j                  dfd|j                  dfd|j                  d	fd
|j
                  dfd|j
                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  dfd|j                  df|j                  df|j                  df|j                  df|j                  df|j                   df|j"                  df|j"                  df|j$                  df|j&                  df|j&                  df|j(                  dfd}|D ]N  }||_        ||   \  }}|j-                  |      }||j                  |j                  fv rt/        |      }||k(  rNJ  y)z!CSSPrimitiveValue.getFloatValue()r   r.   r   z-1.1r   r2   r   z-1%r   rS   z-1.1emrT   rU   254cmd   rV   10mm254mm
   rW   100in   10inrX   )rY   rZ   r[   r\   r]   1000msr^   r_   1000hzr`   
1DIMENSIONN)r
   r   rg   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   getFloatValueround)r   r   rD   r   unitTyperM   vals          r   test_getFloatz#TestCSSPrimitiveValue.test_getFloat  sR   
 LL**51 
!,," 
Q\\4( 
 1##Q' 
 A$$b)	 

 AIIq> 
 qyy$' 
 AIIq> 
 AHHa= 
 AHHa= 
 ahh_ 
 AHHa= 
 QXXqM 
 ahh^ 
 AHHa= 
  ahh_! 
" QXXsO# 
$ AHHa=% 
& HHa=YYNYYNjj!_HHa=wwl77A,HHa=yy!nYYN??A.? 
B GAI!'NMHc//(+CAHHahh//Cj#:: r   c                    t         j                  j                  }|j                  dfg |j                  dddf|j                  dddf|j                  dddf|j                  dddf|j                  dddf|j                  d	d	d
f|j                  dddf|j                  dddf|j                  dddf|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                   dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j"                  dt
        j                  j                  df|j$                  dt
        j                  j                  df|j&                  dt
        j                  j                  df|j(                  dt
        j                  j                  df|j*                  dt
        j                  j                  df|j,                  dt
        j                  j                  df|j.                  dt
        j                  j                  df|j0                  dt
        j                  j                  df|j2                  dt
        j                  j                  df|j4                  dt
        j                  j                  df|j                   df|j                   ddd f|j                   ddd!f|j                   ddd"f|j                   ddd!f|j                   d#d$d%f|j                   d&d&d'f|j                   d(d(d)f|j6                  dd*d+f|j8                  d*d,d-f|j:                  dd.d/f|j                  dt
        j                  j                  df|j                  dt
        j                  j                  dfg|j:                  d0f|j:                  ddd1f|j<                  d2dd0f|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  dfg|j                  d3f|j                  d4dd5f|j                  dt
        j                  j                  df|j                  dt
        j                  j                  df|j                  dt
        j                  j                  dfgi}|D ]  }|\  }}t         j                  j                  |      }||   D ]  \  }}}	}
t?        |	      t>        k(  st?        |	      t>        k(  rf|
r3tA        jB                  |	|
6      5  |jE                  ||       ddd       atA        jB                  |	      5  |jE                  ||       ddd       |jE                  ||       |jF                  d   |
k(  sJ |
d!k(  rd}
|jH                  |
k(  sJ |jK                  |      |	k(  rJ   y# 1 sw Y   xY w# 1 sw Y   xY w)7z!CSSPrimitiveValue.setFloatValue()r   r   r.   g?z0.1r#   2g       @g @z2.1g z-2.1r1   z1.1r   Nr*   z0CSSPrimitiveValue: floatValue 'x' is not a float1xz1CSSPrimitiveValue: floatValue '1x' is not a floatz<CSSPrimitiveValue: unitType 'CSS_STRING' is not a float typez9CSSPrimitiveValue: unitType 'CSS_URI' is not a float typez:CSSPrimitiveValue: unitType 'CSS_ATTR' is not a float typez;CSSPrimitiveValue: unitType 'CSS_IDENT' is not a float typez>CSSPrimitiveValue: unitType 'CSS_RGBCOLOR' is not a float typez?CSSPrimitiveValue: unitType 'CSS_RGBACOLOR' is not a float typez:CSSPrimitiveValue: unitType 'CSS_RECT' is not a float typez=CSSPrimitiveValue: unitType 'CSS_COUNTER' is not a float typezHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_NUMBER' to 'CSS_EMS'zHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_NUMBER' to 'CSS_EXS'rV   2mm0mmz0.1mmg      @r$   3mmg@z3.1mmgz-3.1mmr   r   r   r   g33333@z1828.8mmrX   2pt   r`   i  2khzmatch)&r
   r   rg   r   r   r@   rA   r   r   r   r   r   r   r   r   r   r   r&   r   r   r(   r   r   r   r   r   r   r   r   r   r   rj   rs   rt   setFloatValue_valuer   r   )r   VrD   testinitialTypeinitialValuepvsetTypesetValuerM   r   s              r   test_setFloatz#TestCSSPrimitiveValue.test_setFloat  s:   LL** \\1 a  q!S)a  sC/	a 
 r1c*a  q!S)a  sAs+a  sC/a  tT62a  sAs+a  uc51a  1cgg66=a  Asww77>a  Asww77>a   Q 8 8$?!a " !SWW55t<#a $ 1cgg66=%a & Asww77>'a ( 1cgg66=)a * !SWW%=%=tD+a , 1cgg66=-a 0 LLGG,,F	/a < LLGG,,G	;a H LLGG,,R	Ga T IIGG,,O	Sa ` JJGG,,P	_a l KKGG,,Q	ka x NNGG,,T	wa D OOGG,,U	Ca P JJGG,,P	Oa \ MMGG,,S	[a h IIGG,,>	ga v IIGG,,0	ua D XXu1a'1a'3W-2r5)35)3W-4x01b&)2sG,1fj11cgg66=q#''":":DA  XXu1a'2q%(q#''":":DAAsww77>1cgg66=  YY4F+q#''":":DAAsww77>1cgg66=	"s
@ D(,%K//=B38;/39$S	T(9#]]3g>,,Wh? ?> $]]3/,,Wh? 0/ $$Wh799Q<7222%'"%::000++K8C??? 4?  ?> 0/s   ]+5]7+]47^c                    t         j                  j                  d      }|j                  |j                  k(  sJ t        j                  t        j                  j                        5  |j                          ddd       t         j                  j                  }|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d	|j                  d
i}|D ]S  }||   \  }}|s|}t         j                  j                  |      }|j                  |k(  sJ |j                         |k(  rSJ  y# 1 sw Y   xY w)z"CSSPrimitiveValue.getStringValue()r   N)z'red'r-   )z"red"r-   )zurl(http://example.com)N)zurl('http://example.com')http://example.com)zurl("http://example.com")r   )zurl("http://example.com?)")zhttp://example.com?))r-   N)zattr(att-name)zatt-name)r
   r   rg   r   r   rs   rt   r@   rA   r   r   r&   r   r(   r   )r   r   r   rD   tr   rM   s          r   test_getStringz$TestCSSPrimitiveValue.test_getString  s!   LL**51!((***]]377334 5 \\++MM+MM+JJ9JJKJJKJJOLL-KK7	
 AQxHC..s3A??a'''##%,,,  54s   (EEc                    t         j                  j                  d      }|j                  |j                  k(  sJ |j                  |j                  d       d|j                  k(  sJ d|j                         k(  sJ t        j                  t        j                  j                  d      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d	      5  |j                  |j                  d       ddd       t         j                  j                  d
      }|j                  |j                  d       |j                  |j                  k(  sJ d|j                  k(  sJ d|j                         k(  sJ t        j                  t        j                  j                  d      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d      5  |j                  |j                  d       ddd       t         j                  j                  d      }|j                  |j                  d       d|j                  k(  sJ d|j                         k(  sJ |j                  |j                  d       d|j                  k(  sJ d|j                         k(  sJ |j                  |j                  d       d|j                         k(  sJ d|j                  k(  sJ |j                  |j                  d       d|j                         k(  sJ d|j                  k(  sJ |j                  |j                  d       d|j                         k(  sJ d|j                  k(  sJ |j                  |j                  d       d|j                  k(  sJ d|j                         k(  sJ |j                  |j                  d       d|j                  k(  sJ d|j                         k(  sJ |j                  |j                  d        |j                  |j                  k(  sJ d!|j                  k(  sJ d |j                         k(  sJ t        j                  t        j                  j                  d"      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d#      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d$      5  |j                  |j                  d       ddd       t         j                  j                  d%      }|j                  |j                  d        |j                  |j                  k(  sJ d |j                         k(  sJ t        j                  t        j                  j                  d&      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d'      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d(      5  |j                  |j                  d       ddd       t        j                  t        j                  j                  d)      5  |j                  dd*       ddd       t        j                  t        j                  j                  d+      5  |j                  d,d*       ddd       t        j                  t        j                  j                  d-      5  |j                  |j                   d*       ddd       y# 1 sw Y   xY w# 1 sw Y   yxY w# 1 sw Y   2xY w# 1 sw Y   oxY w# 1 sw Y   (xY w# 1 sw Y   xY w# 1 sw Y   PxY w# 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ExY w# 1 sw Y   xY w# 1 sw Y   yxY w).z"CSSPrimitiveValue.setStringValue()z"a"b)r   STRINGzHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_STRING' to 'CSS_URI'r   r*   NzJCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_STRING' to 'CSS_IDENT'zICSSPrimitiveValue: Cannot coerce primitiveType 'CSS_STRING' to 'CSS_ATTR'newident)r   IDENTzGCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_IDENT' to 'CSS_URI'zJCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_IDENT' to 'CSS_STRING'r4   zHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_IDENT' to 'CSS_ATTR'zurl(old)()r   URI))r   r   r=   )r=   r   r   )r   r   r<   )r<   r    )r   r   a))r   r   a)r   r   zGCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_URI' to 'CSS_IDENT'zHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_URI' to 'CSS_STRING'zFCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_URI' to 'CSS_ATTR'z	attr(old)zHCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_ATTR' to 'CSS_IDENT'zICSSPrimitiveValue: Cannot coerce primitiveType 'CSS_ATTR' to 'CSS_STRING'zFCSSPrimitiveValue: Cannot coerce primitiveType 'CSS_ATTR' to 'CSS_URI'zECSSPrimitiveValue: stringType 'x' (UNKNOWN TYPE) is not a string typebrownzECSSPrimitiveValue: stringType 111 (UNKNOWN TYPE) is not a string typeo   z9CSSPrimitiveValue: stringType CSS_PX is not a string type)r
   r   rg   r&   r   setStringValuer   r   rs   rt   r@   rA   r   r   r(   r   r   r   s     r   test_setStringz$TestCSSPrimitiveValue.test_setString  s2    LL**51||q...	s+!((***a&&((((]]GG$$\
 QYY,	

 ]]GG$$^
 Q[[#.	

 ]]GG$$]
 QZZ-	
 LL**51	g.{{aoo---!QXX---!**,,,,]]GG$$[
 QYY,	

 ]]GG$$^
 Q\\51	

 ]]GG$$\
 QZZ-	
 LL**:6	C(qxx'''a&&((((	C(qxx'''a&&((((	C(q''))))(((	D)((****)))	C(q''))))(((	C(qxx'''a&&((((	D)(((q''))))	C(yyAOO+++qxx'''a&&((((]]GG$$[
 Q[[#.	

 ]]GG$$\
 Q\\51	

 ]]GG$$Z
 QZZ-	
 LL**;7	S)zzQ__,,,a&&((((]]GG$$\
 Q[[#.	

 ]]GG$$]
 Q\\51	

 ]]GG$$Z
 QYY,	
 ]]GG$$Y
 S'*	
 ]]GG$$Y
 S'*	
 ]]GG$$M
 QXXw/	
 
w
 


 


 

 


 


 
R
 


 


 

 


 


 

 

 

 
s   ,b bb!$b.8b;c*c>c"c/c<%d	9dd#d0!d=bb!b+.b8;ccc"c,/c9<d	dd #d-0d:=ec                 "   t         j                  j                  d      }|j                  |j                  k(  sJ d|j
                  k(  sJ t         j                  j                  d      }|j                  |j                  k(  sJ d|j
                  k(  sJ t         j                  j                  d      }|j                  |j                  k(  sJ d|j
                  k(  sJ t         j                  j                  d      }|j                  |j                  k(  sJ t         j                  j                  d      }|j                  |j                  k(  sJ t         j                  j                  d      }|j                  |j                  k(  sJ y)RGBColorzRGB(1, 5, 10)zrgb(1, 5, 10)zrgb(1%, 5%, 10%)z  rgb(  1 ,5,  10  )zrgb(1,5,10)zrgb(1%, .5%, 10.1%)N)r
   r   rg   r   r   r   r   s     r   test_typeRGBColorz'TestCSSPrimitiveValue.test_typeRGBColor2  s7   LL**?;~~000!))+++LL**?;~~000!))+++LL**+=>~~000!QYY...LL**+AB~~000LL**=9~~000LL**+@A~~000r   c                     d}t         j                  j                  |      }|t        |      v sJ dt        |      v sJ t	        t        |            }t        ||j                        sJ ||j                  k(  sJ y)z(CSSPrimitiveValue.__repr__(), .__str__()111r   N)	r
   r   rg   ry   rz   r{   r|   r}   r   )r   r   rN   r~   s       r   r   z%TestCSSPrimitiveValue.test_reprANDstrG  sn    LL**1-CF{{s1v%%%$q']"akk***BJJr   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   i  s;    .6;8#5J-^U@n-6G0R1*r   r   c                       e Zd Zd Zd Zd Zy)TestCSSValueListc                 :   t         j                  j                  d      }|j                  |j                  k(  sJ d|j
                  k(  sJ d|j                  k(  sJ |j                  d      }|j                  |j                  d       d|j
                  k(  sJ y)zCSSValueList.__init__()zred bluerf   r#   r   greenz
green blueN)
r
   r   r   r'   r   r   lengthitemr   r(   )r   r   r  s      r   r   zTestCSSValueList.test_initV  s    LL!!*!51>>111QYY&&&AHH}}vvayDNNG4qyy(((r   c                 X   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 ]k  }||   \  }}|s|}t         j                  j                  |$      }|j                  |j                  k(  sJ ||j
                  k(  sJ ||j                  k(  rkJ  y%)&zCSSValueList.cssTextz0 0px -0px +0px)z0 0 0 0   z1 2 3 4)Nr
  z-1 -2 -3 -4z-1 2)Nr#   z-1px red "x")Nr$   za, b c	1px1 2% 3)r  r$   zf(+1pX, -2, 5%) 1)zf(1px, -2, 5%) 1r#   z0 f()0)z0 f() 0r$   zf()0)zf() 0r#   zf()1%)zf() 1%r#   zf()1px)zf() 1pxr#   zf()"str")z	f() "str"r#   zf()ident)z	f() identr#   zf()#123)zf() #123r#   zf()url())z	f() url()r#   zf()f())zf() f()r#   )zurl(x.gif) 0 0r$   )zurl(x.gif) no-repeatr#   )zurl(x.gif)0 0zurl(x.gif)no-repeatrf   N)r
   r   r   r'   r   r  r   )r   rD   r   rM   numr   s         r   test_numberszTestCSSValueList.test_numbersb  sU   
~
y
 9
 I	

 I
 i
 )
  !8
 n
 L
 ]
 n
 (
 (
 
  (!
" n#
$ 3#>'
* DT{HC%%d%3A##q~~555!((?"?!))### r   c                     d}t         j                  j                  |      }t        |t         j                  j                        sJ dt        |      v sJ |t        |      v sJ y)z#CSSValueList.__repr__(), .__str__()z1px 2pxzlength=2N)r
   r   r   r|   rh   ry   )r   r   rN   s      r   r   z TestCSSValueList.test_reprANDstr  sW    LL!!!$!X\\66777SV###CF{{r   N)r   r   r   r   r  r   r   r   r   r  r  U  s    
)$@r   r  )__doc__xml.domr@   rs   r
   r   r   markxfail
pytestmarkBaseTestCaser   r   r  r   r   r   <module>r     sW    @    [[l3
X%8(( X%v
i iX5 5r   