o
    /h                     @   sF   d Z ddlZddlZddlZddlZddlmZ G dd dej	Z
dS )z,Testcases for cssutils.stylesheets.MediaList    N   )basetestc                   @   sh   e Zd Zdd Zdd Zdd Zdd Zed	d
 Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )TestMediaListc                 C   s   t j | _d S )N)cssutilsstylesheets	MediaListr)self r
   Q/var/www/html/myenv/lib/python3.10/site-packages/cssutils/tests/test_medialist.pysetup_method   s   zTestMediaList.setup_methodc                 C   s   t j }d|jksJ d|jksJ d|_d|jksJ d|jks$J ttjj	 |
d W d   dS 1 s<w   Y  dS )zMediaList.mediaText 1r   allz print   , screen    print, screentestN)r   r   r   length	mediaTextpytestraisesxmldom	SyntaxErrappendMediumr	   mlr
   r
   r   test_set   s   
"zTestMediaList.test_setc                 C   sb  t j }|d d|jksJ d|jksJ |d d|jks$J d|jks+J |d d|jks7J d|jks>J |d d|jksJJ d|jksQJ t j }|| d|jksbJ d|jksiJ t jd	}|| d
|jks{J d|jksJ t	t
 |dd W d   n1 sw   Y  d|d< d
|jksJ d|jksJ dS )zMediaList.appendMedium() 1printr   screenr   r   zscreen, printSCREENzprint, SCREENtv   zprint, SCREEN, tv
   r   Nhandheldr   zhandheld, SCREEN, tv)r   r   r   r   r   r   
MediaQueryappendr   r   
IndexError__setitem__)r	   r   mqr
   r
   r   test_appendMedium%   s6   







zTestMediaList.test_appendMediumc                 C   s   t j }|d |d d|jksJ d|jksJ |d d|jks)J d|jks0J tjtj	j
| dd |d W d   n1 sLw   Y  d|jksXJ d|jks_J ttj	j |d	 W d   dS 1 sww   Y  dS )
zMediaList.append() 2r   r   r   z	print, tvr   r   matchNr   )r   r   r   r   r   r   r   r   r   r   InvalidModificationErr	media_msgr   r   r
   r
   r   test_appendAllN   s    



"zTestMediaList.test_appendAllc                 C   s   t d| dS )NzIMediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=z9) as already specified "all" (set ``mediaText`` instead).)reescape)textr
   r
   r   r,   b   s
   zTestMediaList.media_msgc                 C   sr   t j }|d tjtjj| 	dd |d W d   n1 s&w   Y  t 
d}d|jks7J dS )zMediaList allr   r   r)   Nz@media all, print { /**/ }s   @media all {
    /**/
    })r   r   r   r   r   r   r   r   r+   r,   parseStringcssText)r	   r   sheetr
   r
   r   test_append2Allj   s   


zTestMediaList.test_append2Allc                 C   s   t j }ttjj |d W d   n1 sw   Y  ttjj |d W d   n1 s8w   Y  |	d |d |	d |d d|j
ksXJ d|jks_J dS )zMediaList.deleteMedium()r   Nr   r   tVTvr   )r   r   r   r   r   r   r   NotFoundErrdeleteMediumr   r   r   r   r
   r
   r   test_deletev   s   




zTestMediaList.test_deletec                 C   sX   t j }|d |d d|dksJ d|dks!J |ddu s*J dS )zMediaList.item()r   r   r   r   r   N)r   r   r   r   itemr   r
   r
   r   	test_item   s   


zTestMediaList.test_itemc                 C   s   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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|d	d dS )
zMediaList.mediaText 2ALLr6   Nr   )r<   r6   r   zall, handheldr   ztv, handheld, printz5tv and (color), handheld and (width: 1px) and (color)r   att) UNKNOWNza,bza and (color)notonlyznot tv,zall;zall, and(color)zall,zall, zall ,z
all, /*1*/zall and (color),zall tv, print_setMediaText)
do_equal_rr   r   r   
do_raise_rr	   testsr
   r
   r   test_mediaText   s4   	zTestMediaList.test_mediaTextc                 C   s   ddi}| j |dd dS )zMediaList.mediaText commentsz+/*1*/ tv /*2*/, /*3*/ handheld /*4*/, printz+/*1*/ tv /*2*/ /*3*/, handheld /*4*/, printr   r=   N)rD   rF   r
   r
   r   test_comments   s   zTestMediaList.test_commentsc                 C   sP   d}t jj|d}|t|v sJ tt|}t||jsJ ||jks&J dS )z MediaList.__repr__(), .__str__()z	tv, print)r   N)	r   r   r   strevalrepr
isinstance	__class__r   )r	   r   ss2r
   r
   r   test_reprANDstr   s   zTestMediaList.test_reprANDstrN)__name__
__module____qualname__r   r   r(   r-   staticmethodr,   r4   r9   r;   rH   rI   rQ   r
   r
   r
   r   r      s    )

 r   )__doc__r.   xml.domr   r   cssutils.stylesheetsr   r?   r   BaseTestCaser   r
   r
   r
   r   <module>   s    