
    XhD                     n    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y)    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
y	)
TestFileUploadc                 r    t               }|j                  dk(  sJ |j                  rJ |j                  rJ y )N r   acceptmultipledisabledselfuploaders     _/var/www/html/myenv/lib/python3.12/site-packages/ipywidgets/widgets/tests/test_widget_upload.pytest_constructionz TestFileUpload.test_construction   s<    <"$$$$$$$$$$$$    c                 z    t        ddd      }|j                  dk(  sJ |j                  sJ |j                  sJ y )Nz.txtT)r   r   r   r   r   s     r   test_construction_with_paramsz,TestFileUpload.test_construction_with_params   sC    D49&(((        r   c                 :    t               }|j                  dk(  sJ y )N )r   valuer   s     r   test_empty_initial_valuez'TestFileUpload.test_empty_initial_value&   s    <~~###r   c                    t               }dt        gi}|j                  |       t        |j                        dk(  sJ |j                  \  }|j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  j                         dk(  sJ |j                  t        j                  dddd	d
ddt        j                  j                        k(  sJ y )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!!\111!!U***$$,,./AAA''KKaBBr{{OP	
Pr   c                    t        d      }dt        i t        ddigi}|j                  |       t        |j                        dk(  sJ |j                  d   j
                  dk(  sJ |j                  d	   j
                  dk(  sJ y )
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~~a %%)>>>>r   c                     ddl m} t               }t        |      }t               |_        d|_        ||_        dt        gi}|j                  |       |j                  j                          y )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}|j                  |       g |_        |j	                  d      dg ik(  sJ y )Nr$   key)r   r0   r1   r$   	get_stater=   s      r   test_resetting_valuez#TestFileUpload.test_resetting_valueY   sN     <9:;7#!!g!.7B-???r   c                 l   t               }t        d      }dddt        j                  ddddd	d
dt        j                  j
                        |dg|_        |j                  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 y )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[P_P_`
  ""w"/5>"a'''.V}///V},,,V}###_%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      sB      #   ! "/*  `+X `+r   