o
    a"<fy                     @   s  d dl Z d dlZzd dlZW n ey   dZY nw zd dlZW n ey+   dZY nw d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ G dd dZeedu dG d	d
 d
eeZeedu dG dd deeZG dd deeZG dd deeZdS )    N)override_settings)SOURCE_HUNKSOURCE_FILE)settings)CompressorTestCasec                       s$   e Zd Z fddZdd Z  ZS )ParserTestCasec                    s(   | j | jd| _| j  t   d S )N)COMPRESS_PARSER)r   
parser_clsr   	__enter__supersetUpself	__class__ T/var/www/html/kck/venv/lib/python3.10/site-packages/compressor/tests/test_parsers.pyr      s   
zParserTestCase.setUpc                 C   s   | j d d d  d S N)r   __exit__r   r   r   r   tearDown   s   zParserTestCase.tearDown)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    r   zlxml not foundc                   @      e Zd ZdZdS )LxmlParserTestszcompressor.parser.LxmlParserNr   r   r   r	   r   r   r   r   r      s    r   zhtml5lib not foundc                   @   sF   e Zd ZdZdd Zdd Zedddd	 Zed
dddd ZdS )Html5LibParserTestsz compressor.parser.Html5LibParserc                 C   s   | j  }ttjtjddddddddf}| ||d	 d d
 |d	 d
 j	|d	 d
 j
f  tdd df}| ||d d d
 | j j|d d
 f  ttjtjddddddddf}| ||d d d
 |d d
 j	|d d
 j
f  d S )Ncssone.csscss/one.cssz"{http://www.w3.org/1999/xhtml}link
stylesheetz/static/css/one.cssztext/css)relhreftyper      p { border:5px solid green;};<style type="text/css">p { border:5px solid green;}</style>   two.csscss/two.cssz/static/css/two.css   css_nodesplit_contentsr   ospathjoinr   COMPRESS_ROOTassertEqualtagattribr   parserelem_strr   splitout0out1out2r   r   r   test_css_split*   s>   
  z"Html5LibParserTests.test_css_splitc                 C   s   | j  }ttjtjdddddddd f}| ||d d d	 |d d	 j	|d d	 j
|d d	 jf  td
d dddid
f}| ||d d d	 |d d	 j	|d d	 j
|d d	 jf  d S )Njszone.jsz	js/one.jsz${http://www.w3.org/1999/xhtml}scriptz/static/js/one.jsztext/javascript)srcr$   r   r%   zobj.value = "value";r$   r(   )js_noder.   r   r/   r0   r1   r   r2   r3   r4   r5   textr   )r   r9   r:   r;   r   r   r   test_js_splitI   s.   
  z!Html5LibParserTests.test_js_splitFCOMPRESS_ENABLEDc                 C       |  t| jt| j  d S r   r3   lenr   r-   outputr   r   r   r   test_css_return_if_offb   s    z*Html5LibParserTests.test_css_return_if_offr   )COMPRESS_PRECOMPILERSrD   c                 C   rE   r   )r3   rG   r>   r@   rH   r   r   r   r   test_js_return_if_offk   s    z)Html5LibParserTests.test_js_return_if_offN)	r   r   r   r	   r=   rB   r   rI   rK   r   r   r   r   r   $   s    

r   c                   @   s*   e Zd ZdZdd Zedddd ZdS )	BeautifulSoupParserTestsz%compressor.parser.BeautifulSoupParserc                 C   s   | j  }ttjtjdddd d f}| ||d d d |d d j	|d d j
f  tdd df}| ||d d d | j j|d d f  ttjtjdd	d
d d f}| ||d d d |d d j	|d d j
f  d S )Nr   r   r    r   r%   r&   r'   r(   r)   r*   r+   r,   r8   r   r   r   r=   v   s6   
  z'BeautifulSoupParserTests.test_css_splitFrC   c                 C   rE   r   rF   r   r   r   r   rI      s    z/BeautifulSoupParserTests.test_css_return_if_offN)r   r   r   r	   r=   r   rI   r   r   r   r   rL   q   s
    rL   c                   @   r   )HtmlParserTestszcompressor.parser.HtmlParserNr   r   r   r   r   rM      s    rM   )r/   unittestlxmlImportErrorhtml5libdjango.test.utilsr   compressor.baser   r   compressor.confr   compressor.tests.test_baser   r   skipIfr   r   rL   rM   r   r   r   r   <module>   s.    
L'