
     hp                     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.CSSPageRule    N   )test_cssrulec                   H     e Zd Zd Z fdZd Zd Zd Zd Zd Z	d Z
 xZS )	TestCSSVariablesRulec                 2   t         j                  j                         | _        t         j                  j                  d      | _        t         j                  j
                  j                  | _        d| _        dt         j                  j                  _        y )NT)readonlyVARIABLES_RULEF)cssutilscssCSSVariablesRulerrROCSSPageRuler	   r_typer_typeStringserprefsresolveVariables)selfs    d/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/cssutils/tests/test_cssvariablesrule.py_setup_rulez TestCSSVariablesRule._setup_rule   s`    ..0<<00$0?ll..==,.3+    c                    t         |           t        j                  j	                         }t        |j                  t        j                  j                        sJ ||j                  j                  k(  sJ d|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CSSVariablesRule.__init__() xN)super	test_initr
   r   r   
isinstance	variablesCSSVariablesDeclaration
parentRulecssTextpytestraisesxmldomInvalidModificationErrr   _setAtkeyword)r   r   	__class__s     r   r   zTestCSSVariablesRule.test_init   s    LL))+!++x||'K'KLLLAKK***** QYY ]]37799:FF  % ;::s   7CC%c                     | j                  d       dt        j                  j                  i}| j	                  |       y)z/CSSVariablesRule.cssText InvalidModificationErrz
@variablesz@var {}N)_test_InvalidModificationErrr%   r&   r'   
do_raise_rr   testss     r   test_InvalidModificationErrz0TestCSSVariablesRule.test_InvalidModificationErr$   s4    )),7sww55
 	r   c                 0    ddd}| j                  |       y)zCSSVariablesRule (incomplete)r   z@variables {
    x: red
    })z@variables { z@variables { x: redN)
do_equal_pr-   s     r   test_incompletez$TestCSSVariablesRule.test_incomplete,   s      #D
 	r   c           	      b    d}d||||dddd}| j                  |       | j                  |       y)r   z @variables {
    margin: 0
    }r   z%@variables {
    a: 1;
    b: 2
    }z&@variables /*1*/ {
    margin: 0
    })z@variables {}z@variables     {margin:0;}z@variables     {margin:0}z'@VaRIables {   margin    :   0   ;    }z @\VaRIables {    margin : 0    }z@variables {a:1;b:2}z @variables   /*1*/   {margin:0;}z@variables/*1*/{margin:0;}N)
do_equal_rr1   )r   EXPr.   s      r   test_cssTextz!TestCSSVariablesRule.test_cssText4   s@    2*-),7:14$N0Z*T

 	r   c                 >   t         j                  j                         }t        j                  t
              5  |j                  d       ddd       t        j                  t
              5  |j                  dd       ddd       y# 1 sw Y   >xY w# 1 sw Y   yxY w)zCSSVariablesRule.mediamediaN?)r
   r   r   r#   r$   AttributeError__getattribute____setattr__)r   r   s     r   
test_mediazTestCSSVariablesRule.test_mediaE   se    LL))+]]>*w' +]]>*MM'3' +* +***s   B+BBBc                 F   t         j                  j                  t         j                  j                  d            }||j                  j
                  k(  sJ t         j                  j                         }d|_        |j                  }||j                  j
                  k(  sJ ||j                  k(  sJ |j                  j                  dk(  sJ |j                  dk(  sJ d|_        ||j                  j
                  k(  sJ ||j                  k7  sJ |j                  j                  dk(  sJ |j                  dk(  sJ |j                  }	 d|_        ||j                  k(  sJ |j                  j                  dk(  sJ |j                  dk(  sJ t         j                  j                  d	      }||_        ||j                  j
                  k(  sJ ||j                  k(  sJ |j                  j                  d	k(  sJ |j                  d
k(  sJ d|_        ||j                  k7  sJ ||j                  j
                  k(  sJ |j                  j                  dk(  sJ |j                  dk(  sJ |j                  }	 d|_        ||j                  k(  sJ ||j                  j
                  k(  sJ |j                  j                  dk(  sJ |j                  dk(  sJ y# t        j                  j                  $ r Y w xY w# t        j                  j                  $ r Y w xY w)zCSSVariablesRule.variableszx: 1)r   z@variables { x: 1 }z@variables {
    x: 1
    }z@variables {y:2}zy: 2z@variables {
    y: 2
    }z@variables {$:1}zz: 3z@variables {
    z: 3
    }za: xz@variables {
    a: x
    }z$: xN)
r
   r   r   r    r   r!   r"   r%   r&   DOMException)r   r   vars1vars2vars3vars4s         r   test_variablesz#TestCSSVariablesRule.test_variablesM   s   LL))ll::6B * 
 AKK***** LL))+)	AKK*****###{{""f,,,yy;;;;&	AKK*****###{{""f,,,yy;;;;	*AI ###{{""f,,,yy;;;; 44V<AKK*****###{{""f,,,yy;;;; ###AKK*****{{""f,,,yy;;;;	 AK ###AKK*****{{""f,,,yy;;;;A ww## 		6 ww## 		s$   K <L  K=<K= L L c                     t         j                  j                         }d|_        dt	        |      v sJ t        t        |            }t        ||j                        sJ |j                  |j                  k(  sJ y)z'CSSVariablesRule.__repr__(), .__str__()z@variables { xxx: 1 }xxxN)	r
   r   r   r"   strevalreprr   r)   )r   r   r2s      r   test_reprANDstrz$TestCSSVariablesRule.test_reprANDstr   sb    LL))++	A$q']"akk***yyBJJ&&&r   )__name__
__module____qualname__r   r   r/   r2   r6   r=   rD   rK   __classcell__)r)   s   @r   r   r      s,    4&"(;<z'r   r   )	__doc__xml.domr%   r#   r
   r   r   TestCSSRuler    r   r   <module>rT      s(    ,    F'<33 F'r   