
    _f                         d dl 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	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZ  G d de          Z G d de          Z e	d           G d de                      ZdS )    N)ContentFile)storages)TestCase)override_settings)
LazyObject)storage)settings)css_tag)renderc                       e Zd Zd ZdS )GzipStoragec                 <    t          j        ddi          | _        d S )NBACKENDz,compressor.storage.GzipCompressorFileStorager   create_storage_wrappedselfs    P/var/www/html/env/lib/python3.11/site-packages/compressor/tests/test_storages.py_setupzGzipStorage._setup   s%     /E1
      N__name__
__module____qualname__r    r   r   r   r      #            r   r   c                       e Zd Zd ZdS )BrotliStoragec                 <    t          j        ddi          | _        d S )Nr   z.compressor.storage.BrotliCompressorFileStorager   r   s    r   r   zBrotliStorage._setup   s%     /G1
  r   Nr   r   r   r   r   r      r   r   r   T)COMPRESS_ENABLEDc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	StorageTestCasec                     t           j        | _        t                      t           _        t                      t           _        d S N)r   default_storager   r   brotli_storager   s    r   setUpzStorageTestCase.setUp    s+    &6"---!.r   c                 (    | j         t          _         d S r%   )r&   r   r   s    r   tearDownzStorageTestCase.tearDown%   s    "&"6r   c                    t           j                            dt          d                     |                     t
          j                            t
          j                            t          j
        d                               |                     t
          j                            t
          j                            t          j
        d                               d S )Ntest.txt	yeah yeahztest.txt.gz)r   r&   saver   
assertTrueospathexistsjoinr	   COMPRESS_ROOTr   s    r   test_gzip_storagez!StorageTestCase.test_gzip_storage(   s    $$Z[1I1IJJJGNN27<<(>
KKLL	
 	
 	
 	GNN27<<(>NNOO	
 	
 	
 	
 	
r   c                    d                     d t          d          D                                                       }dt          j                            dt          |                     |                     t          j	        
                    t          j	                             t          j        d                               |                     t          j	        
                    t          j	                             t          j        d                               d}t          j                    }t          t          j	                             t          j        d          d          5 t!          fd	d          D ]}||                    |          z  }	 d d d            n# 1 swxY w Y   |                     ||           d S )
N,c                 ,    g | ]}t          |          S r   )str).0is     r   
<listcomp>z7StorageTestCase.test_brotli_storage.<locals>.<listcomp>2   s    888qCFF888r   i  i   r,   ztest.txt.brr   rbc                  .                                    S r%   )read)
chunk_sizefs   r   <lambda>z5StorageTestCase.test_brotli_storage.<locals>.<lambda>>   s    QVVJ%7%7 r   )r3   rangeencoder   r'   r.   r   r/   r0   r1   r2   r	   r4   brotliDecompressoropeniterprocessassertEqual)r   payloaddecompressed_databr_decompressordatar@   rA   s        @@r   test_brotli_storagez#StorageTestCase.test_brotli_storage1   s   ((88E$KK88899@@BB
##JG0D0DEEEGNN27<<(>
KKLL	
 	
 	
 	GNN27<<(>NNOO	
 	
 	
   -//"',,x5}EEtLL 	CPQ77777== C C!_%<%<T%B%BB!!C	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	"344444s   10F..F25F2c                     d}dt           j        i}t          d          }|                     |t	          ||                     d S )Na2  {% load compress %}{% compress css %}
        <link rel="stylesheet" href="{{ STATIC_URL }}css/one.css" type="text/css">
        <style type="text/css">p { border:5px solid white;}</style>
        <link rel="stylesheet" href="{{ STATIC_URL }}css/two.css" type="text/css">
        {% endcompress %}
        
STATIC_URLz)/static/CACHE/css/output.e701f86c6430.css)r	   COMPRESS_URLr
   rJ   r   )r   templatecontextouts       r   test_css_tag_with_storagez)StorageTestCase.test_css_tag_with_storageB   sL      !67ABBfXw7788888r   c                     | j                             dt          d                    }| j                             dt          d                    }|                     ||           |                     d|           d S )Nr,   r-   _)r&   r.   r   rJ   assertNotIn)r   	filename1	filename2s      r   (test_duplicate_save_overwrites_same_filez8StorageTestCase.test_duplicate_save_overwrites_same_fileM   st    (--j+k:R:RSS	(--j+k:R:RSS	I...i(((((r   c           	         t           j                            dt          d                     |                     t
          j                            t
          j                            t          j
        dd                               |                     | j                            t
          j                            dd                               d S )Nr,   r-   CACHE)r    default_offline_manifest_storager.   r   r/   r0   r1   r2   r3   r	   r4   r&   r   s    r   test_offline_manifest_storagez-StorageTestCase.test_offline_manifest_storageS   s    055K00	
 	
 	
 	GNN27<<(>TTUU	
 	
 	
 	,33BGLL*4U4UVVWWWWWr   N)
r   r   r   r(   r*   r5   rO   rV   r\   r`   r   r   r   r#   r#      s        1 1 1
7 7 7
 
 
5 5 5"	9 	9 	9) ) )X X X X Xr   r#   )r0   rE   django.core.files.baser   django.core.files.storager   django.testr   django.test.utilsr   django.utils.functionalr   
compressorr   compressor.confr	   compressor.tests.test_baser
   "compressor.tests.test_templatetagsr   r   r   r#   r   r   r   <module>rj      sf   				  . . . . . . . . . . . .             / / / / / / . . . . . .       $ $ $ $ $ $ . . . . . . 5 5 5 5 5 5    *       J    D)))<X <X <X <X <Xh <X <X *)<X <X <Xr   