
    hMhD                     |    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dd	 e
d
          dZ G d de          ZdS )    N)TestCase)	MagicMock)
TraitError)
FileUploadfile-name.txt
text/plainQ     r>2   file contentnametypesizelast_modifiedcontentc                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestFileUploadc                 `    t                      }|j        dk    sJ |j        rJ |j        rJ d S )N r   acceptmultipledisabledselfuploaders     k/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ipywidgets/widgets/tests/test_widget_upload.pytest_constructionz TestFileUpload.test_construction   sB    <<"$$$$$$$$$$$$$$    c                 h    t          ddd          }|j        dk    sJ |j        sJ |j        sJ d S )Nz.txtT)r   r   r   r   r   s     r   test_construction_with_paramsz,TestFileUpload.test_construction_with_params   sT    D49 9 9&((((          r   c                 <    t                      }|j        dk    sJ d S )N )r   valuer   s     r   test_empty_initial_valuez'TestFileUpload.test_empty_initial_value&   s$    <<~######r   c                    t                      }dt          gi}|                    |           t          |j                  dk    sJ |j        \  }|j        dk    sJ |j        dk    sJ |j        dk    sJ |j        	                                dk    sJ |j
        t          j        dddd	d
ddt          j        j                  k    sJ d S )Nr$      r   r   r	   r     	      :      P tzinfo)r   FILE_UPLOAD_FRONTEND_CONTENT	set_statelenr$   r   r   r   r   tobytesr   dtdatetimetimezoneutc)r   r   messageuploaded_files       r   test_receive_single_filez'TestFileUpload.test_receive_single_file*   s    <<9:;7###8>""a''''#>!_4444!\1111!U****$,,../AAAA'KaBBr{OOOP P P P P Pr   c                    t          d          }dt          i t          ddigi}|                    |           t          |j                  dk    sJ |j        d         j        dk    sJ |j        d	         j        dk    sJ d S )
NT)r   r$   r   zother-file-name.txt   r   r   r'   )r   r0   r1   r2   r$   r   r   r   r8   s      r   test_receive_multiple_filesz*TestFileUpload.test_receive_multiple_files9   s    t,,,,S/SF<Q3RS
 	7###8>""a''''~a %8888~a %)>>>>>>>r   c                     ddl m} t                      }t          |          }t                      |_        d|_        ||_        dt          gi}|                    |           |j        	                                 d S )Nr   )Comm)speczdoes not matterr$   )
ipykernel.commr@   r   r   sendkernelcommr0   r1   assert_not_called)r   r@   r   	mock_commr8   s        r   ,test_serialization_deserialization_integrityz;TestFileUpload.test_serialization_deserialization_integrityF   s     	('''''<<4(((	"	,	!9:;7### 	((*****r   c                     t                      }dt          gi}|                    |           g |_        |                    d          dg ik    sJ d S )Nr$   key)r   r0   r1   r$   	get_stater=   s      r   test_resetting_valuez#TestFileUpload.test_resetting_valueY   sb     <<9:;7###!!g!..7B-??????r   c                    t                      }t          d          }dddt          j        ddddd	d
dt          j        j                  |dg|_        |                    d          }t          |d                   dk    sJ |d         \  }|d         dk    sJ |d         dk    sJ |d         dk    sJ |d         dk    sJ |d         |k    sJ d S )Ns   some contentzsome-name.txtr   i1  r(   r'   r)   r*   r+   r,   r-   r.   r   r$   rJ   r   r   r   r   r
   r   )	r   
memoryviewr4   r5   r6   r7   r$   rL   r2   )r   r   r   stateentrys        r   test_setting_non_empty_valuez+TestFileUpload.test_setting_non_empty_valued   s   <<_--# [q!RRPRP[P_```
 
  ""w"//5>""a''''.V}////V},,,,V}####_%6666Y7******r   N)__name__
__module____qualname__r   r!   r%   r:   r>   rH   rM   rR   r#   r   r   r   r      s        % % %! ! !$ $ $
 
 
? ? ?+ + +&	@ 	@ 	@+ + + + +r   r   )r5   r4   unittestr   unittest.mockr   	traitletsr   
ipywidgetsr   rO   r0   r   r#   r   r   <module>rZ      s              # # # # # #             ! ! ! ! ! ! "z/**    `+ `+ `+ `+ `+X `+ `+ `+ `+ `+r   