U
    4Jeë  ã                   @   s&   d dl Z d dlZG dd„ de jƒZdS )é    Nc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestEncodeForHTMLc                 C   s&   t  ¡ | _t  ¡ | _t jdd| _d S )NF)Úensure_ascii)ÚjsonÚJSONDecoderÚdecoderZJSONEncoderForHTMLÚencoderÚnon_ascii_encoder©Úself© r   úI/tmp/pip-unpacked-wheel-52sb2ggr/simplejson/tests/test_encode_for_html.pyÚsetUp   s    

zTestEncodeForHTML.setUpc                 C   sT   |   d| j d¡¡ |   d| j d¡¡ |   d| j d¡¡ |   d| j d¡¡ d S ©	Nz"\u0026"ú&z"\u003c"ú<z"\u003e"ú>z"\u2028"u   â€¨)ÚassertEqualr   Úencoder	   r   r   r   Útest_basic_encode   s    z#TestEncodeForHTML.test_basic_encodec                 C   sT   |   d| j d¡¡ |   d| j d¡¡ |   d| j d¡¡ |   d| j d¡¡ d S r   )r   r   r   r	   r   r   r   Útest_non_ascii_basic_encode   s    z-TestEncodeForHTML.test_non_ascii_basic_encodec              	   C   s*   dD ] }|   || j | j |¡¡¡ qd S )Nz&<>)r   r   Údecoder   r   )r
   Úcharr   r   r   Útest_basic_roundtrip   s     
ÿÿz&TestEncodeForHTML.test_basic_roundtripc                 C   s8   d}|   d| j |¡¡ |   || j | j |¡¡¡ d S )Nz)</script><script>alert("gotcha")</script>zK"\u003c/script\u003e\u003cscript\u003ealert(\"gotcha\")\u003c/script\u003e")r   r   r   r   r   )r
   Z
bad_stringr   r   r   Útest_prevent_script_breakout   s    
ý 
ÿÿz.TestEncodeForHTML.test_prevent_script_breakoutN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s
   r   )ZunittestZ
simplejsonr   ZTestCaser   r   r   r   r   Ú<module>   s   