
     h                      V    d Z ddlZddlZddlZddlmZ  G d dej                        Zy)z(Testcases for cssutils.css.CSSImportRule    N   )test_cssrulec                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestCSSNamespaceRulec                     t         j                  j                  d      | _        t         j                  j                  j
                  | _        d| _        y )NxnamespaceURINAMESPACE_RULE)cssutilscssCSSNamespaceRulerCSSRuler   r_typer_typeStringselfs    d/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/cssutils/tests/test_cssnamespacerule.py_setup_rulez TestCSSNamespaceRule._setup_rule   s<    ..C.@ ll**99,    c                    g d}|D ]r  \  }}t         j                  j                  ||      }|j                  J d|j                  k(  sJ d|j
                  k(  sJ |j                  J |j                  rJ  t         j                  j                  d      }d|j                  k(  sJ d|j                  k(  sJ d|j
                  k(  sJ | j                  j                  |       | j                  |j                  k(  sJ t         j                  j                  dd      }d|j                  k(  sJ d|j                  k(  sJ d	|j
                  k(  sJ d
}t         j                  j                  |      }|j
                  |k(  sJ t        j                  t        j                  j                        5  | j                  j!                  d       ddd       y# 1 sw Y   yxY w)zCSSNamespaceRule.__init__()))NN) r   Nr   )r   N)r   zno-urir
   prefixNr   exampler	   z@namespace "example";pz@namespace p "example";@namespace p "u";cssTextr   )r   r   r   r
   r   r!   parentStyleSheet
parentRulesheetaddpytestraisesxmldomInvalidModificationErrr   _setAtkeyword)r   testsurir   r   r   s         r   	test_initzTestCSSNamespaceRule.test_init   s   
 FC--3q-IA>>)))>!>?"?%%---<<'''  LL))y)AANN***QXX~~&!))333

qzzQ/////LL))y)MANN***ahh(AII555!LL))#)6yyC ]]37799:FF  % ;::s   9GG'c           	         t         j                  j                         }d}||_        |j                  |k(  sJ t	        j
                  t        j                  j                        5  |j                  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dddddddd}| j                  |       t        |j                               D ]:  \  }}t         j                  j                  |      }||}||j                  k(  r:J  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  d}| j                  |       |j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  d       d }t        |j                               D ]+  \  }}t	        j
                  |      5   ||       ddd       - y# 1 sw Y   4xY w# 1 sw Y   ExY w)zCSSNamespaceRule.cssTextr   z@namespace p "OTHER";Nz@namespace "";@namespace "u";z@namespace empty "";z@namespace p "p";z@namespace p 'u';z@\namespace p "u";z@NAMESPACE p "u";z@namespace  p  "u"  ;z@namespace p"u";z@namespace/*1*/"u"/*2*/;z@namespace /*1*/ "u" /*2*/;z@namespace/*1*/p/*2*/"u"/*3*/;z#@namespace /*1*/ p /*2*/ "u" /*3*/;z@namespace p url(u);z@namespace p url('u');z@namespace p url("u");z@namespace p url( "u" );z0@namespace/*1*//*2*/p/*3*//*4*/url(u)/*5*//*6*/;z5@namespace /*1*/ /*2*/ p /*3*/ /*4*/ "u" /*5*/ /*6*/;z'@namespace /*1*/ /*2*/ "u" /*5*/ /*6*/;z@namespace p "str";z@namespace "str";)z-@namespace/*1*//*2*/p/*3*//*4*/"u"/*5*//*6*/;z2@namespace/*1*//*2*/p/*3*//*4*/url("u")/*5*//*6*/;z%@namespace/*1*//*2*/url(u)/*5*//*6*/;z+@namespace
	 p
	 url(
	 u
	 )
	 ;z-@namespace
	 p
	 url(
	 "u"
	 )
	 ;z @namespace
	 p
	 "str"
	 ;z@namespace
	 "str"
	 ;r    )z@namespace;z@namespace p;z@namespace "u" p;z@namespace "u";EXTRAz@namespace p "u";EXTRA)z@namespace p url(x)z@namespace p "u"z@namespace "u"; z@namespace "u";/**/z@namespace p "u"; z@namespace p "u";/**/c                 D    t         j                  j                  |        y )Nr    )r   r   r   )tests    r   _doz.TestCSSNamespaceRule.test_cssText.<locals>._doy   s    LL))$)7r   )r   r   r   r!   r&   r'   r(   r)   NoModificationAllowedErr_setCssText
do_equal_plistitems	SyntaxErr
do_raise_pupdate)r   r   r   r,   r2   expectedr3   s          r   test_cssTextz!TestCSSNamespaceRule.test_cssText9   s    LL))+!	yyC]]377;;<MM12 =
d
t
 #D
  	

  !4
 "#6
  !4
 $%8
  3
  !4
 '(E
 -.S
 #$7
 '(;
 %&9
  '(;!
$ ?@w%
& >uBy5^ObQd<Q2E5
8 	"5;;=1ND(--d-;Aqyy(((	 2 77,, WW..!$!2!2$'GG$5$5&)gg&7&7
 	#&77#4#4 # 1 1 # 1 1#&77#4#4"%''"3"3%(WW%6%6
 		8 #5;;=1ND(x(D	 )( 2y =<z )(s   &J*	J7*J47K 	c                 z   t         j                  j                  d      }d|j                  k(  sJ d|j                  k(  sJ t         j                  j                  d      }d|j                  k(  sJ t        j                  t        j                  j                        5  |j                  d       ddd       t        j                  t        j                  j                        5  |j                  d       ddd       |j                  d       d|j                  k(  sJ y# 1 sw Y   sxY w# 1 sw Y   8xY w)	zCSSNamespaceRule.namespaceURIr   r	   @namespace "x";"z@namespace "\"";Nr0   zhttp://example.com/new)r   r   r   r
   r!   r&   r'   r(   r)   r4   _setNamespaceURIr5   _replaceNamespaceURI)r   r   s     r   test_namespaceURIz&TestCSSNamespaceRule.test_namespaceURI   s     LL))s);ann$$$ AII---LL))s);"aii///]]377;;<s# = ]]377;;<MM+, = 	
78'1>>999 =< =<s   !D%(D1%D.1D:c                    t         j                  j                  d      }d|_        d|j                  k(  sJ d|j                  k(  sJ t         j                  j                  d      }d|_        d|j                  k(  sJ d|j                  k(  sJ d}|D ]+  }||_        |j                  dk(  sJ d	|j                  k(  r+J  d
}|D ].  }||_        |j                  |k(  sJ d|z  |j                  k(  r.J  d}|D ]I  }t        j                  t        j                  j                        5  |j                  |       ddd       K y# 1 sw Y   VxY w)zCSSNamespaceRule.prefixur	   r   r   z@namespace x "u";r    r   r   r0   )a_xa1za-1z@namespace %s "u";)1z x ,N)r   r   r   r   r!   r&   r'   r(   r)   r9   
_setPrefix)r   r   validr   invalids        r   test_prefixz TestCSSNamespaceRule.test_prefix   s>   LL))s);ahh"aii///LL))2E)Fahh"aii///FAH88r>!>$		111 
 )FAH88v%%%'&0AII=== 
 (Fsww001V$ 21 11s   .EE	c                 &    | j                  d       y)z/CSSNamespaceRule.cssText InvalidModificationErrz
@namespaceN)_test_InvalidModificationErrr   s    r   test_InvalidModificationErrz0TestCSSNamespaceRule.test_InvalidModificationErr   s    )),7r   c                    dddddddd}| 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CSSNamespaceRule (incomplete)z@namespace "uri";r?   z@namespace "x;";z@namespace "x ";)z@namespace "uriz@namespace url(xz@namespace url('xz@namespace url("x;z@namespace url( "x;z@namespace url("x z@namespace url(x N)r6   r(   r)   r9   
do_raise_r)r   r,   s     r   test_incompletez$TestCSSNamespaceRule.test_incomplete   s      3 1!2"4#5"4!2
 	"ww00 # 1 1!$!2!2"%''"3"3#&77#4#4"%''"3"3!$!2!2
 	r   c                 &   d}d}t         j                  j                  ||      }|t        |      v sJ |t        |      v sJ t	        t        |            }t        ||j                        sJ ||j                  k(  sJ ||j                  k(  sJ y)z'CSSNamespaceRule.__repr__(), .__str__()zhttp://example.comr   r   N)
r   r   r   strevalrepr
isinstance	__class__r
   r   )r   r
   r   ss2s        r   test_reprANDstrz$TestCSSNamespaceRule.test_reprANDstr   s    +LL))|F)Ss1v%%%Q$q']"akk***r..."""r   N)__name__
__module____qualname__r   r.   r=   rC   rO   rR   rU   r^    r   r   r   r      s-    -#&JEN:&%:8.#r   r   )	__doc__xml.domr(   r&   r   r   r   TestCSSRuler   rb   r   r   <module>rf      s(    .    L#<33 L#r   