o
    /h                     @   sJ   d Z ddlZddlZddlZddlmZ ddlmZ G dd dej	Z
dS )z5Testcases for cssutils.css.selectorlist.SelectorList.    N)SelectorList   )basetestc                   @   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 )TestSelectorListc                 C   s   t  | _d S N)r   r)self r	   T/var/www/html/myenv/lib/python3.10/site-packages/cssutils/tests/test_selectorlist.pysetup_method   s   zTestSelectorList.setup_methodc                 C   s   t  }d|jks
J t d}d|jksJ d|jksJ t dd}d|jks(J d|jks/J t ddd	ifd}d|jks?J d|jksFJ t d
d}d|jksRJ d|jksYJ dS )z#SelectorList.__init__() and .lengthr   a, b   aselectorTextr   p|apuri)r   )r   r   N)r   lengthr   r   sr	   r	   r
   	test_init   s   

zTestSelectorList.test_initc                 C   s`   dd }t jd}|| |jt jd || t jd|_|| d|_|| dS )zSelector.parentRulec                 S   s0   | | j jksJ | j D ]
}| j |jksJ qd S r   )selectorList
parentRuleparent)styleselr	   r	   r
   check)   s   
z/TestSelectorList.test_parentRule.<locals>.checkr   xzx, yN)cssutilscssCSSStyleRuler   appendSelectorr   r   )r   r   r   r	   r	   r
   test_parentRule&   s   z TestSelectorList.test_parentRulec                 C   s  t  }|d d|jksJ ttjj |d W d   n1 s&w   Y  d|jks2J d|jks9J |	d d|jksEJ d|jksLJ |	d d|jksXJ d|jks_J tt
 |d	d
 W d   n1 suw   Y  d|d< d|jksJ d|jksJ t  }|ddddf d|jksJ ttjj |	d W d   n1 sw   Y  ttjj |	d W d   n1 sw   Y  |	d d|jksJ dS )z)SelectorList.appendSelector() and .lengthr   r   zb,Nbr   r   zb, a   r   czb, cr   r   xxx)r   r   zx|azy|azp|bzp|a, p|b)r   appendSelectorr   pytestraisesxmldomInvalidModificationErrr   r#   
IndexError__setitem__NamespaceErrr   r	   r	   r
   test_appendSelector=   s>   



z$TestSelectorList.test_appendSelectorc              
   C   s   t  }d|_d|jksJ ttjj |d W d   n1 s$w   Y  d|jks0J dddddddddd	}| j|dd	 tjj	tjjtjjtjjtjjtjjtjjd
}| j
|dd	 dS )zSelectorList.selectorTextr   ,Na, b, c#a, x#a, .b, x.b
[p|a], p|*)	*z/*1*/*z	/*1*/*, ar   za ,bza , br5   r6   )r7   r   r   )att)zx|*  r4   za,z,az	/* 1 */,a_setSelectorText)r   r   r+   r,   r-   r.   	SyntaxErrr<   
do_equal_rr2   
do_raise_r)r   r   testsr	   r	   r
   test_selectorTexti   s6   
z"TestSelectorList.test_selectorTextc                 C   s`   dddif}t jj|d}|d t|v sJ tt|}t||js%J |d |jks.J dS )z#SelectorList.__repr__(), .__str__()za, p|br   r   r   r   N)	r    r!   r   strevalrepr
isinstance	__class__r   )r   r   r   s2r	   r	   r
   test_reprANDstr   s   z TestSelectorList.test_reprANDstrN)	__name__
__module____qualname__r   r   r%   r3   rA   rH   r	   r	   r	   r
   r      s    ,$r   )__doc__xml.domr-   r+   r    cssutils.css.selectorlistr   r:   r   BaseTestCaser   r	   r	   r	   r
   <module>   s    