
    XhF                         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y)zTest Image widget    NImage)contextmanagerc               #   &  K   t        j                  dd      } t        j                         \  }}t	        j
                  |       t        |d      5 }|j                  |        d d d        | t	        j                  |       y # 1 sw Y   #xY ww)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       ^/var/www/html/myenv/lib/python3.12/site-packages/ipywidgets/widgets/tests/test_widget_image.pyget_logo_pngr      s|        !;!DFI$$&MFEHHV	eT	 a		 KIIe s   ABB#"BB
B@3ff9eafd7197083153e83339a72e7a335539bae189c33554c680e4382c98af02c                      t                y Nr        r   test_empty_imager   %   s    	Gr   c                       d} t        |        y )Ns   eʀ͚k#)valuer   )random_bytess    r   test_image_valuer    *   s    =L	r   c                  L    t        d       t        d       t        d       y )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        y # 1 sw Y   y xY wr   )r   r   	from_fileassert_equal_hashr   LOGO_PNG_DIGEST)LOGO_PNGimgs     r   test_from_filenamer.   9   s:    	 68ooh'#))_56 6 6s   0AAc                      t               } t               5 }| j                  |       t        | j                  t
               d d d        y # 1 sw Y   y xY wr   )r   r   set_value_from_filer*   r   r+   )r-   r,   s     r   test_set_from_filenamer1   @   sA    
'C	 68)#))_56 6 6s   ,A

Ac                      t               5 } t        | d      5 }t        j                  |      }t	        |j
                  t               d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wNrb)r   r   r   r)   r*   r   r+   r,   r   r-   s      r   test_from_filer6   H   s`    	 :8(D! 	:Q//!$Ccii9	:: :	: 	:: :s"   A%0AA%A"	A%%A.c                      t               } t               5 }t        |d      5 }| j                  |       t	        | j
                  t               d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wr3   )r   r   r   r0   r*   r   r+   )r-   r,   r   s      r   test_set_value_from_filer8   O   sg    
'C	 :8(D! 	:Q##A&cii9	:: :	: 	:: :s"   A+,AA+A(	$A++A4c                  P    t        j                  d      } | j                  dk(  sJ y )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
DC99CCCCr   c                  P    t        j                  d      } | j                  dk(  sJ y )Nr;   r<   r>   s    r   test_from_url_bytesrA   \   s$    
..D
EC99CCCCr   c                      t        j                  dd      5 } | j                  }| j                          t	        j
                  |      }d d d        j                  dk(  sJ y # 1 sw Y   xY w)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 $Qvv		ood#$
 ::"""$ $s   2A$$A-c                      t        j                  dd      5 } t        j                  |       }|j                  dk(  sJ 	 d d d        y # 1 sw Y   y xY w)Nz.gifFrD   gif)r
   rH   r   r)   r$   )r   r-   s     r   test_format_inference_filerN   k   sI    		$	$F5	A #Qooa zzU"""# # #s   'A		Ac                  z    t        j                  d      } t        j                  |       }|j                  dk(  sJ y )Nr   r"   )ioBytesIOr   r)   r$   )fstreamr-   s     r   test_format_inference_streamrS   r   s/    jjoG
//'
"C::r   c                  <   t        j                  d      } t        j                  |       }|j	                         }t        |d   t        t        f      sJ t        |d         |d<   t               }|j                  |       |j                  |j                  k(  sJ y )Ns   123r   )
rP   rQ   r   r)   	get_state
isinstancebytes
memoryview	set_stater   )rR   r-   	img_stateimg_copys       r   test_serializer\   z   s    jj G
//'
"CI i(5**=>>>#Ig$67Ig wHy!99&&&r   c                      t        j                  dd      5 } | j                  }| j                          t	        j
                  |d      }d d d        j                  dk(  sJ y # 1 sw Y   xY w)NrC   FrD   rM   r#   rG   rJ   s      r   !test_format_inference_overridabler^      s_    		$	$F5	A 2Qvv		ood512
 ::2 2s   4A&&A/c                  ^   t               5 } t        | d      5 }t        j                  |      }t	        |j                               dk  sJ |j                         j                  d      sJ |j                         dd dk(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr4      )z...)r   r   r   r)   len__repr__endswithr5   s      r   test_value_repr_lengthrg      s    	 28(D! 	2Q//!$Cs||~&,,,<<>**3///<<>"R(E111		22 2	2 	22 2s#   B#A-BB#B 	B##B,c                  V    t        j                  d      } d| j                         v sJ y )Nr;   r:   )r   r=   re   r>   s    r   test_value_repr_urlri      s%    
..D
EC5GGGr   c                 n    t        j                  d      }|j                  |        |j                         S )Nsha256)hashlibnewupdate	hexdigest)byte_strms     r   get_hash_hexrr      s(    HAHHX;;=r   c                 $    t        |       |k(  sJ y 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::D
D##'"2H,r   