o
    û›hÇ  ã                   @   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   úVc:\Users\shubh\Videos\agent\nova\Lib\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 )z‹test 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`   ú
þþÿú	ú	


