
    Xh
                         d Z 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Zd
 Zd Zd Zd Zd Zy)zTest Widget.    N)InteractiveShell)display)capture_output   )widget)Widget)Buttonc                     t        j                         } t               5 }t               }t	        |       d d d        t        j                        dk(  sJ d       |j                  d   j                  }|d   t              k(  sJ d       d|vsJ d       |j                  dk(  sJ t        |j                               |j                  dk(  sJ t        |j                               y # 1 sw Y   xY w)	N   expect 1 outputr   
text/plainexpected plain text output(application/vnd.jupyter.widget-view+jsonzwidget has no view )r   instancer   r   r   lenoutputsdatareprstdoutstderrshellcapwmime_bundles       X/var/www/html/myenv/lib/python3.12/site-packages/ipywidgets/widgets/tests/test_widget.pytest_no_widget_viewr      s     %%'E		 SH
 s{{q 3"33 ++a.%%K|$Q/M1MM/2+EE::-T#**--::-T#**--    C++C4c                     t        j                         } t               5 }t               }t	        |       d d d        t        j                        dk(  sJ d       |j                  d   j                  }|d   t              k(  sJ d       d|v sJ d       |j                  dk(  sJ t        |j                               |j                  dk(  sJ t        |j                               y # 1 sw Y   xY w)	Nr   r   r   r   r   r   zwidget should have have a viewr   )r   r   r   r	   r   r   r   r   r   r   r   r   s       r   test_widget_viewr!   &   s     %%'E		 SH
 s{{q 3"33 ++a.%%K|$Q/M1MM/2kA('(A::-T#**--::-T#**-- r   c                  P   t        d      D  cg c]  } t                }} t        t        j                        dkD  sJ d       t        j                  |d   j
                     |d   u sJ t        j                          t        t        j                        dk(  sJ d       y c c} w )N
   r   zexpect active widgetsz active widgets should be cleared)ranger	   r   r   
_instancesmodel_idr   	close_all)iwidgetss     r   test_close_allr*   9   s    !&r+Avx+G+v  !A%>'>>%WQZ001WQZ???
v  !Q&J(JJ& ,s   B#c                  :   t               } t        j                  | j                     | u sJ t	        j
                         5 }t        j                  t        j                  j                  u sJ t        j                  t        j                  j                  u sJ t        j                  t        j                  j                  u sJ t        j                  t        j                  j                  u sJ t        j                          t        j                  j                  rJ t        j                  j                  rJ 	 d d d        t        j                  d      d   j                  t!        fdD              sJ t#        |      dk(  sJ y # 1 sw Y   SxY w)Nr   )contextr   c              3   <   K   | ]  }|j                   k(    y wN)filename).0xcaller_paths     r   	<genexpr>z%test_compatibility.<locals>.<genexpr>R   s     9Qqzz[(9s      )r	   r   r%   r&   pytestdeprecated_callr   r)   _active_widgets	_registrywidget_types_widget_typesr'   inspectstackr/   allr   )buttonrecordr2   s     @r   test_compatibilityr@   E   s8   XFV__-777				! 1V  FMM$9$9999  FMM$A$AAAA6==#=#====6==#>#>>>>==((((==000001 --*1-66K9&9999v;!1 1s   C=FFc                  $   t               } t        j                  t              5  t	        j                  |        d d d        t        j                  t              5  t	        j
                  |        d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY wr.   )r	   r5   raisesNotImplementedErrorcopydeepcopy)r>   s    r   test_widget_copyrF   V   sj    XF	*	+ 		&	*	+ f   s   A:B:BB)__doc__r;   r5   IPython.core.interactiveshellr   IPython.displayr   IPython.utils.capturer   r   r   r   widget_buttonr	   rD   r   r!   r*   r@   rF        r   <module>rN      s?       : # 0   " .&.&	K"rM   