o
    ^i
                     @   s   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
d Zdd Zdd Zdd Zdd ZdS )zTest Widget.    N)InteractiveShell)display)capture_output   )widget)WidgetButtonc                  C   s   t  } t }t }t| W d    n1 sw   Y  t|jdks)J d|jd j}|d t|ks;J dd|vsCJ d|j	dksOJ t|j	|j
dks[J t|j
d S )	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_bundle r   _/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/ipywidgets/widgets/tests/test_widget.pytest_no_widget_view      

r   c                  C   s   t  } t }t }t| W d    n1 sw   Y  t|jdks)J d|jd j}|d t|ks;J dd|v sCJ d|j	dksOJ t|j	|j
dks[J t|j
d S )	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   r   r   r   test_widget_view&   r   r    c                  C   sf   dd t dD } ttjdksJ dtj| d j | d u s"J t  ttjdks1J dd S )Nc                 S   s   g | ]}t  qS r   r   ).0ir   r   r   
<listcomp>;   s    z"test_close_all.<locals>.<listcomp>
   r   zexpect active widgetsz active widgets should be cleared)ranger   r   
_instancesmodel_idr   	close_all)widgetsr   r   r   test_close_all9   s
   r*   c                     s   t  } tj| j | u sJ t <}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 s6J t  tjjr@J tjjrFJ W d    n1 sPw   Y  tjddd j t fdd|D skJ t|dkssJ d S )Nr   )contextr
   c                 3   s    | ]}|j  kV  qd S N)filename)r!   xcaller_pathr   r   	<genexpr>R   s    z%test_compatibility.<locals>.<genexpr>   )r	   r   r&   r'   pytestdeprecated_callr   r)   _active_widgets	_registrywidget_types_widget_typesr(   inspectstackr-   allr   )buttonrecordr   r/   r   test_compatibilityE   s   
	r>   c                  C   st   t  } tt t|  W d    n1 sw   Y  tt t|  W d    d S 1 s3w   Y  d S r,   )r	   r3   raisesNotImplementedErrorcopydeepcopy)r<   r   r   r   test_widget_copyV   s   "rC   )__doc__r9   r3   IPython.core.interactiveshellr   IPython.displayr   IPython.utils.capturer   r   r   r   widget_buttonr	   rA   r   r    r*   r>   rC   r   r   r   r   <module>   s   