o
    Zh                     @   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   ZpngexistsZ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/html/lang_env/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   capZrich2r   r   r   test_rich_output_displayj   s   


r3   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r6   fileN)r   r   r)   r.   printhello_stdouthello_stderrsysstderrr/   stdoutr   r2   r   r   r   test_capture_outputy   s   

r@   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)r>   r4   r5   r7   Nr-   r   r   r)   r.   r9   r:   r;   r<   r=   r/   r>   r0   r1   r?   r   r   r   test_capture_output_no_stdout   s   
rB   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=   r4   r5   r7   Nr-   rA   r?   r   r   r   test_capture_output_no_stderr   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  t|j
ks5J t|jks<J |jg ksCJ dS )z"test capture_output(display=False)r(   F)r/   r4   r5   r7   N)r   r   r)   r.   r9   r:   r;   r<   r=   r/   r>   r1   r?   r   r   r   test_capture_output_no_display   s   
rD   )__doc__r<   ZpytestZIPython.utilsr   dictZ	_mime_mapr$   r%   r)   r+   r:   r;   markZparametrizeitemsr    r'   r*   r,   r3   r@   rB   rC   rD   r   r   r   r   <module>   s`   
		


