o
    ȷ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decoderJSONEncoderForHTMLencodernon_ascii_encoderself r   \/var/www/ideatree/venv/lib/python3.10/site-packages/simplejson/tests/test_encode_for_html.pysetUp   s   

zTestEncodeForHTML.setUpc                 C   T   |  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      z#TestEncodeForHTML.test_basic_encodec                 C   r   r   )r   r	   r   r
   r   r   r   test_non_ascii_basic_encode   r   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   
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   )unittest
simplejsonr   TestCaser   r   r   r   r   <module>   s    