3
nNXPK  ã               @   s¶  d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ejjd@ddAdBg fddCdDg fddEdFg fddGdHg fddIdJg fddddgfddddgfddKdLg fddMdNg fddOdPg fddQdRg fd dSdTg fd!dddgfd"dddgfd#dddgfgƒd$d%„ ƒZejjdUdg g g fd(ddVgfddWgfgg g fd-ddXgfddYgfgd.d/dZgfgfd2d/d3d4d[gfgfgfgg fd6dd\gfdd]gfgg d7gfd8g g d9gfd:g g d;gfgƒd<d=„ ƒZd>d?„ ZdS )^zª
    Tests for the Paged Media 3 parser
    ----------------------------------

    :copyright: (c) 2012 by Simon Sapin.
    :license: BSD, see LICENSE for more details.
é    )Úunicode_literalsN)ÚCSS21Parser)ÚCSSPage3Parseré   )Újsonify)Úassert_errorsÚcssÚexpected_selectorÚexpected_specificityÚexpected_errorsz@page {}z@page :first {}Úfirstz@page:left{}Úleftz@page :right {}Úrightz@page  :blank{}Úblankz@page :last {}zinvalid @page selectorz@page : first {}z@page foo:first {}Úfooz@page bar :left {}Úbarz@page \26:right {}ú&z@page foo {}z@page \26 {}z@page foo fist {}z@page foo, bar {}z@page foo&first {}c             C   sr   t ƒ j| ƒ}t|j|ƒ |jr^t|jƒdks0t‚|jd }|jdksHt‚|j}|j	|ksbt‚nd }||ksnt‚d S )Nr   r   z@page)
r   Úparse_stylesheetr   ÚerrorsÚrulesÚlenÚAssertionErrorÚ
at_keywordÚselectorZspecificity)r   r	   r
   r   Ú
stylesheetÚruler   © r   úX/var/www/html/enquirykeeper_venv/lib/python3.6/site-packages/tinycss/tests/test_page3.pyÚtest_selectors   s    
r   Úexpected_declarationsÚexpected_rulesz@page { foo: 4; bar: z }ÚINTEGERé   ÚIDENTÚzz¡@page { foo: 4;
                @top-center { content: "Awesome Title" }
                @bottom-left { content: counter(page) }
                bar: z
        }z@top-centerÚcontentÚSTRINGúAwesome Titlez@bottom-leftZFUNCTIONÚcounterÚpagezg@page { foo: 4;
                @bottom-top { content: counter(page) }
                bar: z
        }z-unknown at-rule in @page context: @bottom-topz@page{} @top-right{}z)@top-right rule not allowed in stylesheetz@page{ @top-right 4 {} }z2unexpected INTEGER token in @top-right rule headerc                s~   t ƒ j| ƒ}t|j|ƒ dd„ ‰ t|jƒdks2t‚|jd }|jdksJt‚ˆ |ƒ|ksZt‚‡ fdd„|jD ƒ}||kszt‚d S )Nc             S   s   dd„ | j D ƒS )Nc             S   s    g | ]}|j tt|jƒƒf‘qS r   )ÚnameÚlistr   Úvalue)Ú.0Údeclr   r   r   ú
<listcomp>]   s   z6test_content.<locals>.declarations.<locals>.<listcomp>)Údeclarations)r   r   r   r   r0   \   s    z"test_content.<locals>.declarationsr   r   z@pagec                s   g | ]}|j ˆ |ƒf‘qS r   )r   )r-   Zmargin_rule)r0   r   r   r/   d   s   z test_content.<locals>.<listcomp>)	r   r   r   r   r   r   r   r   Zat_rules)r   r   r    r   r   r   r   r   )r0   r   Útest_content;   s    


r1   c              C   sž   d} t ƒ j| ƒ}t|jdgƒ |j\}|jdks4t‚|jg ksBt‚tƒ j| ƒ}|jg ks\t‚|j\}|j\}|jdkszt‚|jdksˆt‚t|j	ƒdksšt‚d S )Nz#@media print { @page { size: A4 } }z @page rule not allowed in @mediaz@mediaz@pager   )
r   r   r   r   r   r   r   r   r   r0   )r   r   Zat_media_ruleZat_page_ruler   r   r   Útest_in_at_mediai   s    r2   )r   r	   r
   r   )NN)r   r   r   )Nr   )r   r   r   )Nr   )r   r   r   )Nr   )r   r   r   )Nr   )r   r   r   )r   r   )r   r   r   )r   r   )r   r   r   )r   r   )r   r   r   )r   N)r   r   r   )r   N)r   r   r   )r   r   r    r   )r!   r"   )r#   r$   )r!   r"   )r#   r$   )r&   r'   )r#   r)   )r!   r"   )r#   r$   )Ú__doc__Ú
__future__r   ZpytestZtinycss.css21r   Ztinycss.page3r   Ztest_tokenizerr   Ú r   ZmarkZparametrizer   r1   r2   r   r   r   r   Ú<module>   sV   










