B
    u9a                 @   s:   d Z ddlZddlZG dd dejZedkr6e  dS )z&
Tests for the html module functions.
    Nc               @   s   e Zd Zdd Zdd ZdS )	HtmlTestsc             C   s*   |  tdd |  tddd d S )Nz'<script>"&foo;"</script>'z>&#x27;&lt;script&gt;&quot;&amp;foo;&quot;&lt;/script&gt;&#x27;Fz*'&lt;script&gt;"&amp;foo;"&lt;/script&gt;')assertEqualhtmlescape)self r   /usr/lib/python3.7/test_html.pytest_escape
   s    
zHtmlTests.test_escapec                s  ddddgd  fdd} fdd	}|d
d
 |dd |dd x(dD ] }||| ||d |d  qRW ddddddddddddg}xnt ddddddgdddd d!d"gD ]H\}}x>|D ]6}||| | x"d#D ]}||| | ||  qW qW qW xd$D ]}	||	d% qW xd&D ]}	||	d' q"W x*t d(d)d*d+gd,D ]\}}
|||
 qJW |d-d% |d.d/ |d0d% xd1D ]}||d2 qW xd3D ]}||d4 qW x.d5D ]&}||d6 d7 ||d d6 d7 qW xd8D ]}||d  qW xd9D ]}||| qW |d:d: |d;d< |d=d> |d?d@ |dAdB |dCdD |dEdF |dGdH |dIdI |dJdK dL |dMdN |dOdO d S )PNz&#%dz&#%d;z&#x%xz&#x%x;z$unescape(%r) should have returned %rc                s"   j t| | | |f d d S )N)msg)r   r   unescape)textexpected)errmsgr   r   r   check   s    z&HtmlTests.test_unescape.<locals>.checkc                s8   x2D ]*}||  }j t|| ||f d qW d S )N)r
   )r   r   r   )numr   formatr   )r   numeric_formatsr   r   r   	check_num   s    
z*HtmlTests.test_unescape.<locals>.check_numzno character referencesz&
&	& &&z&0 &9 &a &0; &9; &a;)&z&#z&#xz&#Xz&#yz&#xyz&#Xy;z&#%07dz&#%07d;z&#x%06xz&#x%06x;z&#x%Xz&#x%06Xz&#X%x;z&#X%06x;A   a   "   &   i&  i4 Aa"r   u   ☃u   􁈴) X)i   i   i   i  i   u   �)            i  i  i i              u	   €•r   	   	l     NZo)z&quot;;z&#34;;z&#x22;;z&#X22;;z";)z&quot;quot;z
&#34;quot;z&#x22;quot;z&#X22;quot;z"quot;)z&quotz&#34z&#x22z&#X22   z""")z&ampz&amp;z&AMPz&AMP;)z&Ampz&Amp;z&svadilfari;z&notitu   ¬itz&notit;u   ¬it;z&notinu   ¬inz&notin;u   ∉z,&notReallyAnExistingNamedCharacterReference;u*   ¬ReallyAnExistingNamedCharacterReference;z!&CounterClockwiseContourIntegral;u   ∳z&acE;u   ∾̳z&acEz&#123; i  a4  { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { z2&Eacuteric&Eacute;ric&alphacentauri&alpha;centauriu"   ÉricÉric&alphacentauriαcentauriz&co;)zip)r   r   r   xformatsr   charsendZcpZcher   )r   r   r   r   test_unescape   sj    






"

















zHtmlTests.test_unescapeN)__name__
__module____qualname__r	   r2   r   r   r   r   r   	   s   r   __main__)__doc__r   ZunittestZTestCaser   r3   mainr   r   r   r   <module>   s
   ]