Format: application/x-python-code
⬇ Download File (14.1 KB)
   1  o
   2  
   3  ��hI>�@s�ddlZddlZddlZddlmZddlZddlmZddlm	Z	ddl
   4  mZddlm
   5  Z
   6  ddlmZddlmZddlmmZd	d
   7  �Zdd�Zd
   8  d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Ze�d�dd��Z ddd dd!d"�Z!e�d�d#d$��Z"e�d�d%d&��Z#d'd(�Z$d)d*�Z%d+d,�Z&e�'d-�d.d/��Z(d0d1�Z)d2d3�Z*d4d5�Z+d6d7�Z,d8d9�Z-d:d;�Z.d<d=�Z/d>d?�Z0d@dA�Z1dBdC�Z2dS)D�N)�mock��display)�get_ipython)�capture_output)�NamedFileInTemporaryDirectory)�paths)�AssertNotPrintscCs�d}tj|ddd�}d||��ksJ�tj|ddd�d�}d||��ks(J�tj|dd�}d||��ks9J�tj|d	�}d
   9  ||��ksIJ�tj|dd�}d
  10  ||��ksZJ�dS)z5Simple test for display.Image(args, width=x,height=y)z+http://www.google.fr/images/srpr/logo3w.png��)�url�width�heightz(<img src="%s" width="200" height="200"/>)rr
  11  �r�metadata)rrz<img src="%s" width="200"/>�rz<img src="%s"/>T)r�
  12  unconfinedz"<img src="%s" class="unconfined"/>N)r�Image�_repr_html_)�thisurl�img�r�Uc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/tests/test_display.py�test_image_sizesrcCsZt�jj}tjjD]!}tjj|}tjd|d�}||�\}}t|�t|dg�ks*J�q	dS)Nsgarbage)�format�
  13  text/plain)r�display_formatterrrrZ_ACCEPTABLE_EMBEDDINGSZ
  14  _MIMETYPES�sorted)�fmtr�mimer�datarrrr�test_image_mimes$s
  15  �r cCsDtjddddgd�ddid�d	d
  16  ddd
  17  d�d�}dt|�ks J�dS)NZFeatureZPointg�rh��TT�g�S㥛�r@)�typeZcoordinates�namez	Inca City)r!Zgeometry�
  18  propertieszVhttp://s3-eu-west-1.amazonaws.com/whereonmars.cartodb.net/{basemap_id}/{z}/{x}/{y}.pngzcelestia_mars-shaded-16k_globalzCelestia/praeseper�)Z
  19  basemap_idZattributionZminZoomZmaxZoom)rZurl_templateZ
  20  layer_optionsz%<IPython.core.display.GeoJSON object>)rZGeoJSON�str)Zgjrrr�test_geojson-s ���
  21  ��r&cC�ptj�t�}tjtj�|d�dd�}|jdksJ�|jdks J�|�	�\}}|ddks.J�|ddks6J�dS)N�2x2.pngT��retina�rr
  22  )
  23  �os�path�dirname�__file__rr�joinr
  24  r�
  25  _repr_png_��hererr�mdrrr�test_retina_pngD�r5cs�ddl}ddlm}d�d�|��|��d��
  26  }|���Wd�n1s'wY�������fdd�}tjd|d	��-tj	�d
  27  �}|�
  28  ��d�dusQJ�tj	�d
  29  d
  30  �}|�
  31  ��d�dusdJ�Wd�dS1sowYdS)Nr)�BytesIOs&<svg><circle x="0" y="0" r="1"/></svg>zhttp://test.com/circle.svg�wbcsPGdd�d�}|d�kr|��S|d�dkr$|��}d|jd<|S|d�S)Nc@seZdZdd�Zdd�ZdS)z@test_embed_svg_url.<locals>.mocked_urlopen.<locals>.MockResponsecSs||_ddi|_dS)Nzcontent-type�
  32  image/svg+xml)�	_svg_data�headers)�self�svgrrr�__init__[szItest_embed_svg_url.<locals>.mocked_urlopen.<locals>.MockResponse.__init__cSs|jS)N)r:)r<rrr�read_szEtest_embed_svg_url.<locals>.mocked_urlopen.<locals>.MockResponse.readN)�__name__�
  33  __module__�__qualname__r>r?rrrr�MockResponseZsrCr�z�gzipzcontent-encoding)r;)�args�kwargsrC�ret�Zgzip_svgZsvg_datarrr�mocked_urlopenYs
  34  z*test_embed_svg_url.<locals>.mocked_urlopenzurllib.request.urlopen)Zside_effectrz<svgTrD)rE�ior7�open�write�getvaluer�patchrZSVG�
  35  _repr_svg_�
  36  startswith)rEr7�fprJr=rrIr�test_embed_svg_urlNs �"�rScCr')Nz2x2.jpgTr)r+rr
  37  )
  38  r,r-r.r/rrr0r
  39  r�_repr_jpeg_r2rrr�test_retina_jpegqr6rUcCst�d�dS)NZ�iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB94BCRQnOqNu0b4AAAAKSURBVAjXY2AAAAACAAHiIbwzAAAAAElFTkSuQmCC)rrrrrr�test_base64image{srVcCs�t��}tjttjtj�	|d�dd�t�ttj�tjttjdddd�tj�	|d�}tj|d�}d	|j
  40  ks9J�|��d
  41  usAJ�tjtj�	|d�dd�}d
  42  |j
  43  ksTJ�|��d
  44  us\J�d
  45  S)z4test format constraint, and validity of jpeg and pngztesting/tests/badformat.zipT)�filename�embedzthis is not an imageZ	badformat)rrrXzcore/tests/2x2.png)rW�pngNztesting/tests/logo.jpgF�jpeg)
  46  �ipathZget_ipython_package_dir�pytest�raises�
  47  ValueErrorrrr,r-r0rr1rT)ZtpathZimgfilerrrr�test_image_filename_defaults~s0���r_cCsddlm}|��S)Nr��
  48  InlineBackend)Zmatplotlib_inline.configra�instancer`rrr�_get_inline_config�srcZ
  49  matplotlibcCs�t�}d|_t���t��Wd�n1swY|js#J�t���
  50  t�d�Wd�n1s7wY|jrAJ�dS)NF)rcZ
  51  close_figuresr\�deprecated_callrZset_matplotlib_close)�cfgrrr�test_set_matplotlib_close�s
  52  
  53  �
  54  
  55  �rf�	image/pngz
  56  image/jpegzapplication/pdfr9)rYrZ�pdfr*r=c	Cs�ddlm}t�jj}dD]<}dd�|D�}t���
  57  tj|�Wd�n1s*wY|�	�D]\}}||vrB||vsAJ�q3||vsHJ�q3q
  58  dS)Nr��Figure)�rY)rhr=)rZr*rYrcSsh|]}t|�qSr)�
  59  _fmt_mime_map)�.0rrrr�	<setcomp>�sz.test_set_matplotlib_formats.<locals>.<setcomp>)
  60  �matplotlib.figurerjrr�
  61  formattersr\rdr�set_matplotlib_formats�items)rjrp�formatsZactive_mimesr�frrr�test_set_matplotlib_formats�s
  62  
  63  ���rucCs�ddlm}t�}t�}|j�tdd��tdd�}t���t	j
  64  di|��Wd�n1s1wY|jjd}|�
  65  |�}|j}|}d	|d
  66  <d|d<|�|j�||ksZJ�dS)
  67  Nrri�bar)Zfoo�)ZdpirYrgT�base64rrk)rorjrrcZprint_figure_kwargs�update�dictr\rdrrqrrpZlookup_by_type�keywords)rj�iprerG�	formatterrtZformatter_kwargs�expectedrrr�"test_set_matplotlib_formats_kwargs�s 
  68  
  69  �
  70  rcCs�t�}td��
  71  |�d�Wd�n1swYz|�d�Wn	ty,Ynwtd��|�d�Wd�dS1sBwYdS)z�
  72      Test that display is available without import
  73  
  74      We don't really care if it's in builtin or anything else, but it should
  75      always be available.
  76      �	NameErrorrNzdel display)rr	Zrun_cellr�)r|rrr�test_display_available�s
  77  ��
  78  "�r�cCsHt�d�}t|�dks
  79  J�|jdksJ�d|_t|�t�|�ks"J�dS)NzThis is a simple testz$<IPython.core.display.Pretty object>T)r�Pretty�reprr�_show_mem_addr�object�__repr__��prrr�test_textdisplayobj_pretty_repr�s
  80  
  81  r�cCs�t�d�}t|�dks
  82  J�d|_t|�t�|�ksJ�d|_t|�dks&J�t�d�}t|�dks3J�d|_t|�t�|�ksAJ�d|_t|�dksLJ�dS)N�<br />z"<IPython.core.display.HTML object>TF�z(<IPython.core.display.Javascript object>)r�HTMLr�r�r�r�Z
  83  Javascript)�h�jrrr�test_displayobject_repr�s
  84  
  85  r�z
  86  warnings.warncCsht��|��t�d�|��t�d�|��t�d�|�d�|��t�d�|�d�dS)Nr�zE<html><p>Lots of content here</p><iframe src="http://a.com"></iframe>z$<iframe src="http://a.com"></iframe>z-Consider using IPython.display.IFrame insteadz$<IFRAME SRC="http://a.com"></IFRAME>)rr�Zassert_not_calledZassert_called_withZ
  87  reset_mock)Zm_warnrrr�test_encourage_iframe_over_htmls
  88  
  89  
  90  
  91  
  92  r�cCs:t�d�}dt|�vs
  93  J�d|_d|_|��dksJ�dS)N�
  94  z0/10z100%�z;<progress style='width:100%' max='10' value='5'></progress>)r�ProgressBarr�Z
  95  html_width�progressrr�rrr�
  96  test_progresss
  97  
  98  r�cCshtdd��}t�d�D]}|j}d�|�|vsJ�qWd�n1s$wY|j}d|vs2J�dS)NFrr�z{0}/5z5/5)rrr��stdoutr)Zcaptured�i�outrrr�test_progress_iters��r�cCs�ddi}|g}ddd�ddd�ddd�ddd�g}t�|�tj|dd�tj|dd	�tj|ddd�g}t||�D]\}}|��||fksEJ�q7tjdd
  99  ��)}t�d�t�t�|��}t	|�dksbJ�|��||d
 100  fksnJ�Wd�n1sxwYt�|�tj|dd�tj|dd	�tj|ddd�g}t||�D]\}}|��||fks�J�q�tjdd
 101  ��*}t�d�t�t�|��}t	|�dks�J�|��||d
 102  fks�J�Wd�dS1s�wYdS)N�ar�F�root)�expandedr�TZcustom)r�)r�)�record�alwaysr+r)
 103  r�JSON�zip�_repr_json_�warnings�catch_warnings�simplefilter�json�dumps�len)�dZlisrZ	json_objsr�r4�wrrr�	test_json'sB��
 104  ��
 105  "�r�cCsdt�d�}|jr
 106  J�|��}d|vsJ�d|vsJ�t�t��
 107  t�d�}Wd�n1s/wYtd��p}|�d�|�	�t�|j
 108  �}|jrMJ�|��}d|vsWJ�tj|j
 109  dd�}|��}d	|vsiJ�tj|j
 110  dd
 111  d�}|��}d|vs|J�tjddd
 112  d�}|��}d	|vs�J�tjdddd�}|��}d|vs�J�Wd�dS1s�wYdS)zMuse a tempfile, with dummy-data, to ensure that video embedding doesn't crashzhttp://ignoredz
 113  src="data:zsrc="http://ignored"sabcNztest.mp4T)rXz src="data:video/mp4;base64,YWJj"zvideo/other)rX�mimetypez"src="data:video/other;base64,YWJj"z	video/mp4ZYWJjz	video/xyzz src="data:video/xyz;base64,YWJj")rZVideorXrr\r]r^rrM�closer")�v�htmlrtrrr�test_video_embeddingOs8
 114  
 115  �
 116  
 117  
 118  "�r�cCs2d}tj|ddid�}|��|ddifksJ�dS)Nz
 119  <h1>Test</h1>�isolatedT)r)rr�r)�sr�rrr�test_html_metadatassr�cCsVt�}tj�|jd��1}t�d�}|dusJ�tjddd�}t|tj�s&J�tjddd�}t|tj�s5J�Wd�n1s?wY|j|jksLJ�|j	dksSJ�|j
 120  d	\}}|d
 121  ks`J�|dtd�iid�ksmJ�|j
 122  d
 123  \}}|d
 124  kszJ�|dtd�iid|jid�ks�J�|j
 125  d\}}|d
 126  ks�J�|dtd�iid|jid�ks�J�dS)N�publish�x�y�secret��
 127  display_idrDT�rrr)rrr+r��rr�	transient�)rrrOr��display_pubr�
 128  isinstance�
 129  DisplayHandler�Z
 130  call_count�call_args_listr�)r|�pub�handleZhandle2rFrGrrr�test_display_idysH
 131  ������	���r�c	Cst�}tj�|jd��0}t�t��
 132  t�	d�Wd�n1s!wYtj	ddd�tj	ddd�Wd�n1s>wY|j
 133  d\}}|dksPJ�|d	td�iid
 134  didd�ksaJ�|j
 135  d
 136  \}}|dksnJ�|d	td�iid
 137  didd�ksJ�dS)Nr�r��1r�r��2rrrr�T�rrr�ryr+)rrrOr�r�r\r]�	TypeErrorrZupdate_displayr�r�)r|r�rFrGrrr�test_update_display�s8�����
 138  ���r�cCs�t�}t��}t|jt�sJ�t�d�}|jdksJ�tj�|j	d��}|�d�|�
 139  d�Wd�n1s8wY|jd\}}|dksJJ�|dtd�iid|jid	�ks[J�|jd
 140  \}}|dkshJ�|dtd�iid|jidd�kszJ�dS)
 141  Nzmy-idr�r�r�rrrr�r�r+Tr�)
 142  rrr�r�r�r%rrOr�r�ryr�r�)r|r�r�rFrGrrr�test_display_handle�s8
 143  
 144  ����	���r�cCs�d}tj|dd�}d||��ksJ�tj|ddd�}d||��ks%J�tj|dd�}d	||��ks6J�tj|d
 145  did�}|jdksFJ�tj�t�}tjtj�|d�dd
 146  �}|jdks_J�|�	�\}}|d
 147  dksmJ�dS)z+Simple test for display.Image(args, alt=x,)zhttp://example.com/image.pngzan image)r�altz<img src="%s" alt="an image"/>T)rrr�z1<img src="%s" class="unconfined" alt="an image"/>z>"& <z*<img src="%s" alt="&gt;&quot;&amp; &lt;"/>r�rr()r�N)
 148  rrrr�r,r-r.r/r0r1)rrr3�_r4rrr�test_image_alt_tag�s �r�cCs>t�t��t�d���Wd�dS1swYdS)Nz/this/file/does/not/exist/)r\r]�FileNotFoundErrorrrr1rrrr�/test_image_bad_filename_raises_proper_exception�s"�r�)3r�r,r�Zunittestrr\ZIPythonrZIPython.core.getipythonrZIPython.utils.iorZIPython.utils.tempdirrrr[ZIPython.testing.toolsr	ZIPython.testing.decorators�testingZ
 149  decorators�decrr r&r5rSrUrVr_rcZskip_withoutrfrlrurr�r�r�rOr�r�r�r�r�r�r�r�r�r�r�rrrr�<module>s`	
 150  #
 151  
 152  �
 153  
 154  	
 155  
 156  	($,!#