o
    Q+ i                     @   s>   d 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.css.CSSPageRule    N   )test_cssrulec                   @   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 )TestMarginRulec                 C   s2   t j | _t jjdd| _t jjj| _d| _d S )NT)readonlyMARGIN_RULE)cssutilscss
MarginRulerZrROr   Zr_typeZr_typeStringself r   j/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/cssutils/tests/test_marginrule.py_setup_rule   s   
zTestMarginRule._setup_rulec                 C   s   t j }|jdu sJ |jdu sJ |jdu sJ |jjdks"J |jdks)J t jjdd}|jdks7J |jdks>J |jdksEJ |jjdksMJ |jdksTJ t	t
jj t jd W d   dS 1 smw   Y  dS )zMarginRule.__init__()N z	@TOP-left)margin	@top-leftz@x)r   r   r	   r   Z	atkeywordZ_keywordstyleZcssTextpytestZraisesxmldomZInvalidModificationErr)r   r
   r   r   r   	test_init   s   
"zTestMarginRule.test_initc                 C   s   dS )z)MarginRule.cssText InvalidModificationErrNr   r   r   r   r   test_InvalidModificationErr'   s    z*TestMarginRule.test_InvalidModificationErrc                 C   s   dddd}|  | dS )zMarginRule (incomplete)r   z:@page {
    @top-left {
        color: red
        }
    })z@page { @top-left { z@page { @top-left { /*1*/ z@page { @top-left { color: redN)Z
do_equal_pr   testsr   r   r   test_incomplete1   s
   zTestMarginRule.test_incompletec                 C   s*   ddddddd}|  | |i  d S )Nr   z @top-left {
    color: red
    }z-@top-left {
    color: red;
    left: 0
    })z@top-left {}z@top-left { /**/ }z@top-left { color: red }z@top-left{color:red;}z@top-left{color:red}z!@top-left { color: red; left: 0 })Z
do_equal_rupdater   r   r   r   test_cssText;   s   
zTestMarginRule.test_cssTextc                 C   sR   d}t jj|dd}|t|v sJ tt|}t||js J ||jks'J dS )z!MarginRule.__repr__(), .__str__()r   zleft: 0)r   r   N)	r   r   r	   strevalrepr
isinstance	__class__r   )r   r   ss2r   r   r   test_reprANDstrR   s   zTestMarginRule.test_reprANDstrN)	__name__
__module____qualname__r   r   r   r   r   r%   r   r   r   r   r      s    

r   )	__doc__Zxml.domr   r   r   r   r   ZTestCSSRuler   r   r   r   r   <module>   s    