o
    ˷e                     @   s  d Z ddlZddlZddlmZ edddddd	d
ZdddZddddiZdddddddZ	ddiddiddiddiddiddidZ
dZdZejde dd  Zd!d" Zejde d#d$ Zejde d%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 ZdS )1zTests for IPython.utils.capture    N)capture	image/png
image/jpegimage/svg+xml	text/htmlapplication/jsonapplication/javascript)
_repr_png__repr_jpeg_
_repr_svg__repr_html__repr_json__repr_javascript_s
   binarydataz<b>bold</b>)r   r   
      )widthheightz<svg>zalert();z{})r   r   r   r   r   r   pngexistsjpegsvghtmljsjsonzhello, stdoutzhello, stderrmethod_mimec                 C   s(   t  }| \}}t|| du sJ dS )zRichOutput with no argsN)r   
RichOutputgetattr)r   richmethodmime r    W/var/www/ideatree/venv/lib/python3.10/site-packages/IPython/utils/tests/test_capture.pytest_rich_output_emptyE   s   r"   c                  C   sz   t } t}tj| |d}| | d ksJ | | d |d fks#J | du s+J | du s3J | du s;J dS )ztest RichOutput basicsdatametadatar   r   N)	
basic_databasic_metadatar   r   r   r	   _repr_latex_r   r   )r$   r%   r   r    r    r!   test_rich_outputL   s   r)   c                 C   s4   t }tj|d}| \}}t|| || ksJ dS )z test RichOutput with no metadatar$   N)	full_datar   r   r   )r   r$   r   r   r   r    r    r!   test_rich_output_no_metadataX   s   r,   c                 C   sB   t }t}tj||d}| \}}t|| || || fksJ dS )ztest RichOutput with metadatar#   N)r+   full_metadatar   r   r   )r   r$   r%   r   r   r   r    r    r!   test_rich_output_metadataa   s
   $r.   c                  C   s   t } tj| d}t }|  W d   n1 sw   Y  t|jdks)J |jd }|j|jks6J |j|jks>J dS )ztest RichOutput.display

    This is a bit circular, because we are actually using the capture code we are testing
    to test itself.
    r*   N   r   )	r+   r   r   capture_outputdisplaylenoutputsr$   r%   )r$   r   caprich2r    r    r!   test_rich_output_displayj   s   


r6   c                  C   sx   t jtd} t  }ttdd ttdtjd | 	  W d   n1 s'w   Y  t|j
ks3J t|jks:J dS )zcapture_output worksr*    endr9   fileN)r   r   r+   r0   printhello_stdouthello_stderrsysstderrr1   stdoutr   r4   r    r    r!   test_capture_outputy   s   

rC   c                  C   s   t jtd} t jdd}ttdd ttdtjd | 	  W d   n1 s)w   Y  d|j
ks5J t|jks<J t|jdksEJ dS )	z!test capture_output(stdout=False)r*   F)rA   r7   r8   r:   Nr/   r   r   r+   r0   r<   r=   r>   r?   r@   r1   rA   r2   r3   rB   r    r    r!   test_capture_output_no_stdout   s   
rE   c               	   C   s   t jtd} t  0 t jdd}ttdd ttdtjd | 	  W d   n1 s.w   Y  W d   n1 s=w   Y  t|j
ksIJ d|jksPJ t|jdksYJ dS )	z!test capture_output(stderr=False)r*   F)r@   r7   r8   r:   Nr/   rD   rB   r    r    r!   test_capture_output_no_stderr   s   
 rF   c                  C   s   t jtd} t jdd}ttdd ttdtjd | 	  W d   n1 s)w   Y  t|j
ks5J t|jks<J |jg ksCJ dS )z"test capture_output(display=False)r*   F)r1   r7   r8   r:   N)r   r   r+   r0   r<   r=   r>   r?   r@   r1   rA   r3   rB   r    r    r!   test_capture_output_no_display   s   
rG   )__doc__r?   pytestIPython.utilsr   dict	_mime_mapr&   r'   r+   r-   r=   r>   markparametrizeitemsr"   r)   r,   r.   r6   rC   rE   rF   rG   r    r    r    r!   <module>   s`   
		


