
    hMhF                         d Z ddlZddlZddlmZ ddlZddlZddlZddlm	Z	 e	d             Z
dZd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )zTest Image widget    NImage)contextmanagerc               #   2  K   t          j        dd          } t          j                    \  }}t	          j        |           t          |d          5 }|                    |            d d d            n# 1 swxY w Y   |V  t	          j        |           d S )Nzipywidgets.widgets.testsz!data/jupyter-logo-transparent.pngwb)	pkgutilget_datatempfilemkstemposcloseopenwriteremove)	LOGO_DATAhandlefnamefs       j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ipywidgets/widgets/tests/test_widget_image.pyget_logo_pngr      s        !;!DF FI$&&MFEHV	eT		 a		               KKKIes   A44A8;A8@3ff9eafd7197083153e83339a72e7a335539bae189c33554c680e4382c98af02c                  "    t                       d S Nr        r   test_empty_imager   %   s    	GGGGGr   c                  *    d} t          |            d S )Ns   eʀ͚k#)valuer   )random_bytess    r   test_image_valuer    *   s    =L	r   c                  f    t          d           t          d           t          d           d S )Npngformatjpegurlr   r   r   r   test_image_formatr'   0   s;    			r   c                      t                      5 } t          j        |           }t          |j        t
                     d d d            d S # 1 swxY w Y   d S r   )r   r   	from_fileassert_equal_hashr   LOGO_PNG_DIGEST)LOGO_PNGimgs     r   test_from_filenamer.   9   s    	 68oh''#)_5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   /AAAc                      t                      } t                      5 }|                     |           t          | j        t
                     d d d            d S # 1 swxY w Y   d S r   )r   r   set_value_from_filer*   r   r+   )r-   r,   s     r   test_set_from_filenamer1   @   s    
''C	 68)))#)_5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   0AA!Ac                      t                      5 } t          | d          5 }t          j        |          }t	          |j        t                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S Nrb)r   r   r   r)   r*   r   r+   r,   r   r-   s      r   test_from_filer6   H   s    	 :8(D!! 	:Q/!$$Cci999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:: : : : : : : : : : : : : : : : : :s4   A3/AA3A	A3"A	#A33A7:A7c                     t                      } t                      5 }t          |d          5 }|                     |           t	          | j        t                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S r3   )r   r   r   r0   r*   r   r+   )r-   r,   r   s      r   test_set_value_from_filer8   O   s    
''C	 :8(D!! 	:Q##A&&&ci999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:: : : : : : : : : : : : : : : : : :s4   B0A*B*A.	.B1A.	2BB	Bc                  H    t          j        d          } | j        dk    sJ d S )N(https://jupyter.org/assets/main-logo.svg(   https://jupyter.org/assets/main-logo.svgr   from_urlr   r-   s    r   test_from_url_unicoder?   W   s,    
.C
D
DC9CCCCCCCr   c                  H    t          j        d          } | j        dk    sJ d S )Nr;   r<   r>   s    r   test_from_url_bytesrA   \   s,    
.D
E
EC9CCCCCCCr   c                      t          j        dd          5 } | j        }|                                  t	          j        |          }d d d            n# 1 swxY w Y   |j        dk    sJ d S )N.svgFsuffixdeletezsvg+xmlr
   NamedTemporaryFilenamer   r   r)   r$   r   rI   r-   s      r   test_format_inference_filenamerK   b   s    		$F5	A	A	A $Qv				od##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $
 :""""""s   0AAAc                      t          j        dd          5 } t          j        |           }|j        dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nz.gifFrD   gif)r
   rH   r   r)   r$   )r   r-   s     r   test_format_inference_filerN   k   s    		$F5	A	A	A #Qoa  zU"""""# # # # # # # # # # # # # # # # # #s   "AAAc                  p    t          j        d          } t          j        |           }|j        dk    sJ d S )Nr   r"   )ioBytesIOr   r)   r$   )fstreamr-   s     r   test_format_inference_streamrS   r   s7    jooG
/'
"
"C:r   c                  `   t          j        d          } t          j        |           }|                                }t          |d         t          t          f          sJ t          |d                   |d<   t                      }|                    |           |j	        |j	        k    sJ d S )Ns   123r   )
rP   rQ   r   r)   	get_state
isinstancebytes
memoryview	set_stater   )rR   r-   	img_stateimg_copys       r   test_serializer\   z   s    j  G
/'
"
"CI i(5**=>>>>>#Ig$677Ig wwHy!!!9&&&&&&r   c                      t          j        dd          5 } | j        }|                                  t	          j        |d          }d d d            n# 1 swxY w Y   |j        dk    sJ d S )NrC   FrD   rM   r#   rG   rJ   s      r   !test_format_inference_overridabler^      s    		$F5	A	A	A 2Qv				od51112 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 :s   2AAAc                     t                      5 } t          | d          5 }t          j        |          }t	          |                                          dk     sJ |                                                    d          sJ |                                dd         dk    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr4      )z...)r   r   r   r)   len__repr__endswithr5   s      r   test_value_repr_lengthrg      sF   	 28(D!! 	2Q/!$$Cs||~~&&,,,,<<>>**3/////<<>>"R%(E11111		2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s5   CBB4(C4B8	8C;B8	<CCCc                  ^    t          j        d          } d|                                 v sJ d S )Nr;   r:   )r   r=   re   r>   s    r   test_value_repr_urlri      s1    
.D
E
EC5GGGGGGr   c                 |    t          j        d          }|                    |            |                                S )Nsha256)hashlibnewupdate	hexdigest)byte_strms     r   get_hash_hexrr      s1    HAHHX;;==r   c                 0    t          |           |k    sJ d S r   )rr   )rp   digests     r   r*   r*      s!    !!V++++++r   )__doc__rP   r   
ipywidgetsr   rl   r   r
   
contextlibr   r   r+   r   r    r'   r.   r1   r6   r8   r?   rA   rK   rN   rS   r\   r^   rg   ri   rr   r*   r   r   r   <module>rx      s     				 				          % % % % % %    U  
    6 6 66 6 6: : :: : :D D D
D D D# # ## # #  ' ' '"  2 2 2H H H  , , , , ,r   