Format: application/x-python-code
⬇ Download File (18.0 KB)
   1  o
   2  
   3  ��h�8�@s�dZddlmZzddlZWndZYddlZddlmZddlmZddl	m
   4  Z
   5  mZmZm
   6  Z
   7  mZmZddlmZGdd	�d	e�ZGd
   8  d�de�ZGdd
   9  �d
  10  �ZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Z d$d%�Z!d&d'�Z"d(d)�Z#d*d+�Z$d,d-�Z%d.d/�Z&d0d1�Z'd2d3�Z(d4d5�Z)d6d7�Z*d8d9�Z+d:d;�Z,d<d=�Z-Gd>d?�d?e�Z.d@dA�Z/dBdC�Z0dDdE�Z1dFdG�Z2dHdI�Z3dJdK�Z4dLdM�Z5dNdO�Z6dPdQ�Z7dRdS�Z8dTdU�Z9dS)VzTests for the Formatters.�)�piN)�get_ipython)�Config)�PlainTextFormatter�
  11  HTMLFormatter�PDFFormatter�
  12  _mod_name_key�DisplayFormatter�
  13  JSONFormatter)�capture_outputc@�eZdZdd�ZdS)�AcC�dS)N�A()���selfrr�Xc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/tests/test_formatters.py�__repr__�z
  14  A.__repr__N��__name__�
  15  __module__�__qualname__rrrrrr
  16  �r
  17  c@r)�BcCr)N�B()rrrrrrrz
  18  B.__repr__Nrrrrrrrrc@�eZdZdS)�CN�rrrrrrrrsrc@r)�BadReprcC�td��)Nzbad repr��
  19  ValueErrorrrrrr�zBadRepr.__repr__Nrrrrrr rr c@seZdZdZdS)�	BadPrettyN�rrr�
  20  _repr_pretty_rrrrr%"sr%c@�eZdZdd�Zdd�ZdS)�
  21  GoodPrettycC�|�d�dS�N�foo��text)r�pp�cyclerrrr'&�zGoodPretty._repr_pretty_cCr)N�GoodPretty()rrrrrr)rzGoodPretty.__repr__N)rrrr'rrrrrr)%�r)cCr*r+r-)�objr/r0rrr�foo_printer,r1r5cCs�t�}|�tt�|t��dksJ�|t��dksJ�|t��dks$J�|t��d|_|t��dks5J�|t��dks>J�|t��dksGJ�dS)Nr,rFrr2)r�for_typer
  22  r5rr)r%�pprint��frrr�test_pretty/s
  23  r:cCs
  24  t�}dS�N)rr8rrr�
  25  test_deferred>�
  26  r<cCst�}|t�tt�ks
  27  J�d|_trt��}|ddksJ�|t�dks&J�d|_tr7t��}|ddks7J�|t�dks?J�d|_trPt��}|ddksPJ�|t�dksXJ�d|_|t�d	kscJ�d
  28  |_trtt��}|ddkstJ�|t�tt�ks~J�dS)
  29  z(test various values for float_precision.r�	precision�3�z3.14z%gz3.14159z%ez3.141593e+00��N)rr�repr�float_precision�numpyZget_printoptions)r9�porrr�test_precisionAs0rGcsNt���fdd�}t�t|d�t�t|d�t�t|d�t�t|d�dS)z0test various invalid values for float_precision.cs
  30  |�_dSr;)rD)�pr8rr�set_fp`r=z"test_bad_precision.<locals>.set_fp�%z%.3f%ir,�����N)r�pytest�raisesr#)rIrr8r�test_bad_precision]srNcCsjt�}|�tt�dus
  31  J�|�t�tusJ�|�t�tusJ�|�td�tus)J�|�td�tus3J�dSr;)rr6rr5r8rrr�
  32  test_for_typehsrOcCs�t�}dtjdf}|�|t�dusJ�|�|�tusJ�tt�|jvs&J�|�t�tus/J�tt�|jvs8J�t|jvs?J�dS�Nz%s.%sr)rrrr6r5r�deferred_printers�
  33  type_printers�r9Ztype_strrrr�test_for_type_stringusrTcCszt�}tj}|�|dt�dusJ�|�|d�tusJ�|�|d�tus%J�|�|dd�tus0J�|�|dd�tus;J�dS)Nr)rrrZfor_type_by_namer5)r9�modrrr�test_for_type_by_name�srVcCsbt�}|�tt�|�t��tusJ�t�t��|�t��Wd�dS1s*wYdSr;)	rr6rr5�lookuprLrM�KeyErrorr
  34  r8rrr�test_lookup�s"�rYcCsXt�}dtjdf}|�|t�|�t��tusJ�tt�|jvs#J�t|jvs*J�dSrP)	rrrr6r5rWrrQrRrSrrr�test_lookup_string�srZcCs^t�}|�tt�|�t�tusJ�t�t��|�t�Wd�dS1s(wYdSr;)	rr6rr5�lookup_by_typerLrMrXr
  35  r8rrr�test_lookup_by_type�s"�r\cCs�t�}dtjdf}|�|t�tt�|jvsJ�t|jvs J�|�|�tus)J�tt�|jvs2J�t|jvs9J�|�t�tusBJ�tt�|jvsKJ�t|jvsRJ�dSrP)	rrrr6r5rrQrRr[rSrrr�test_lookup_by_type_string�sr]cCs<t�}|�tt�dtjdf}t|vsJ�||vsJ�dSrP)rr6rr5rrSrrr�test_in_formatter�s
  36  r^cCs<t�}dtjdf}|�|t�||vsJ�t|vsJ�dSrP)rrrr6r5rSrrr�test_string_in_formatter�s
  37  r_cCs
  38  t�}|�tt�|�t�tusJ�|�td�tusJ�|�tt�|�t�tus+J�t�t��
  39  |�t�Wd�n1s@wYt�t��
  40  |�t�Wd�n1sZwYt�t��
  41  |�t	�Wd�n1stwY|�t	d�dus�J�dSr;)
  42  rr6rr5r[�poprLrMrXr
  43  r8rrr�test_pop�s ���racCsft�}dtjdf}t�t��
  44  |�|�Wd�n1swY|�|t�|�|�t�t��
  45  |�	t�Wd�n1sDwYt�t��
  46  |�|�Wd�n1s^wY|�tt�|�|d�tussJ�t�t��
  47  |�	t�Wd�n1s�wYt�t��
  48  |�|�Wd�n1s�wY|�|d�dus�J�dSrP)
  49  rrrrLrMrXr`r6r5r[rSrrr�test_pop_string�s,�
  50  ����rbcCs�t�}Gdd�dt�}|�}t��}||�}Wd�n1s wY|dus+J�d|jvs2J�d|jvs9J�d|jvs@J�dS)Nc@r)z"test_error_method.<locals>.BadHTMLcSr!)N�Bad HTMLr"rrrr�_repr_html_�r$z.test_error_method.<locals>.BadHTML._repr_html_N�rrrrdrrrr�BadHTML�rrf�	Tracebackrcrd)r�objectr�stdout)r9rf�bad�captured�resultrrr�test_error_method�s
  51  �rmcCsvt�}Gdd�dt�}|�}t��}||�}Wd�n1s wY|dus+J�d|jks2J�d|jks9J�dS)Nc@r)z6test_nowarn_notimplemented.<locals>.HTMLNotImplementedcS�t�r;��NotImplementedErrorrrrrrdrzBtest_nowarn_notimplemented.<locals>.HTMLNotImplemented._repr_html_Nrerrrr�HTMLNotImplementedrrqrA)rrhr�stderrri)r9rq�hrkrlrrr�test_nowarn_notimplementeds
  52  �rtcCs~t�}|�tdd��t��}|d�}Wd�n1swY|dus(J�d|jvs/J�d|jvs6J�d|jvs=J�dS)NcSstSr;)�
  53  name_error)�irrr�<lambda>�z*test_warn_error_for_type.<locals>.<lambda>�rg�	NameErrorru)rr6�intrri)r9rkrlrrr�test_warn_error_for_type
  54  s
  55  �r|cCs�t�}Gdd�dt�}|�}t��}||�}Wd�n1s wY|dus+J�d|jvs2J�d|jvs9J�d|jvs@J�d|jvsGJ�dS)Nc@r)z+test_error_pretty_method.<locals>.BadPrettycSr�N�hellorrrrrr'rz9test_error_pretty_method.<locals>.BadPretty._repr_pretty_Nr&rrrrr%rr%rgr'�givenZargument)rrhrri)r9r%rjrkrlrrr�test_error_pretty_methods
  56  �r�cCstt�}t�}t��}||�}Wd�n1swY|dus#J�d|jvs*J�d|jvs1J�d|jvs8J�dS)Nrgrr#)rr rri)r9rjrkrlrrr�test_bad_repr_traceback&s
  57  �r�c@r)�MakePDFcCr�NZPDFrrrrr�
  58  _repr_pdf_3rzMakePDF._repr_pdf_N)rrrr�rrrrr�2rr�cCs t�}t�}||�dksJ�dSr�)r�r)Zpdfr9rrr�test_pdf_formatter6sr�cCs�t�}Gdd�dt�}t��}||�}Wd�n1swY|dus(J�d|jvs/J�t��
  59  }||��}Wd�n1sBwY|dksMJ�|jdksTJ�dS)Nc@r)z'test_print_method_bound.<locals>.MyHTMLcSrr}rrrrrrd?rz3test_print_method_bound.<locals>.MyHTML._repr_html_Nrerrrr�MyHTML>rr��FormatterWarningr~rA)rrhrrr)r9r�rkrlrrr�test_print_method_bound<s
  60  ��r�c	Cs$Gdd�dt�}t�}|�}|jdksJ�t��}||�}Wd�n1s'wY|dus2J�d|jvs9J�Gdd�dt�}|�}t��}||�}Wd�n1sVwY|dusaJ�Gdd�dt�}|�}t��}||�}Wd�n1s~wY|dus�J�d|jvs�J�dS)	Nc@r)z-test_print_method_weird.<locals>.TextMagicHatcSs|Sr;r�r�keyrrr�__getattr__Orz9test_print_method_weird.<locals>.TextMagicHat.__getattr__N�rrrr�rrrr�TextMagicHatNrr�rdr�c@r)z1test_print_method_weird.<locals>.CallableMagicHatcs�fdd�S)Ncs�Sr;rr�r�rrrw^rxzOtest_print_method_weird.<locals>.CallableMagicHat.__getattr__.<locals>.<lambda>rr�rr�rr�]sz=test_print_method_weird.<locals>.CallableMagicHat.__getattr__Nr�rrrr�CallableMagicHat\rr�c@r)z,test_print_method_weird.<locals>.BadReprArgscSr)N�htmlr)r�extra�argsrrrrdgrz8test_print_method_weird.<locals>.BadReprArgs._repr_html_Nrerrrr�BadReprArgsfrr�)rhrrdrrr)	r�r9Ztext_hatrkrlr�Zcall_hatr�rjrrr�test_print_method_weirdLs,
  61  �
  62  �
  63  �r�cCs�t�}t�}t��}||�}Wd�n1swY|dus#J�|jdks*J�t��}|t�}Wd�n1s<wY|dusGJ�|jdksNJ�dS)zCconfig objects don't pretend to support fancy reprs with lazy attrsNrA)rrrrr)r9�cfgrkrlrrr�test_format_configrs
  64  �
  65  �r�cCsptdd�}ttd��}||�}|dksJ�d|_||�}|dks"J�|ttd���}|��}t|�dks6J�dS)N�)�max_seq_length�z[0, ...]rz	[0, 1, 2]i)r�list�ranger��
  66  splitlines�len)r9Zlisr.�linesrrr�test_pretty_max_seq_length�s
  67  r�cs�t�j}g�G�fdd�dt�}Gdd�dt�}|jj}d|j_|�}|�}|�|�\}}|dt|�iks7J�|iks=J��gksCJ�|�|�\}}|iksPJ�|iksVJ��|gks]J�||j_dS)z>Objects with _ipython_display_ defined bypass other formatterscseZdZ�fdd�ZdS)z6test_ipython_display_formatter.<locals>.SelfDisplayingcs��|�dSr;)�appendr�Zcatcherrr�_ipython_display_�r1zHtest_ipython_display_formatter.<locals>.SelfDisplaying._ipython_display_N)rrrr�rr�rr�SelfDisplaying�sr�c@r()z9test_ipython_display_formatter.<locals>.NotSelfDisplayingcSr)N�NotSelfDisplayingrrrrrr�rzBtest_ipython_display_formatter.<locals>.NotSelfDisplaying.__repr__cSrnr;rorrrrr��rzKtest_ipython_display_formatter.<locals>.NotSelfDisplaying._ipython_display_N)rrrrr�rrrrr��r3r�T�
  68  text/plainN)r�display_formatterrhZipython_display_formatter�enabled�formatrC)r9r�r��save_enabled�yes�no�d�mdrr�r�test_ipython_display_formatter�s"r�cCs�Gdd�dt�}t�j}|jd}|j}d|_|�}|�|�\}}||_t|�gd�ks.J�|iks4J�|j|dhd�\}}t|���dgksKJd��|dd	ksUJd
  69  ��dS)Nc@s&eZdZddd�Zdd�Zdd�ZdS)	z#test_repr_mime.<locals>.HasReprMimeNcSsddiddd�S)N�x�yz
  70  <HasReprMime>�i-overwrite)�application/json+test.v2�
  71  plain/text�	image/pngr�r�include�excluderrr�_repr_mimebundle_�s
  72  ��z5test_repr_mime.<locals>.HasReprMime._repr_mimebundle_cSr)Nzshould-be-overwrittenrrrrr�
  73  _repr_png_�rz.test_repr_mime.<locals>.HasReprMime._repr_png_cSr)Nz
  74  <b>hi!</b>rrrrrrd�rz/test_repr_mime.<locals>.HasReprMime._repr_html_�NN)rrrr�r�rdrrrr�HasReprMime�s
  75  	r��	text/htmlT)r�r�r�r�r�r��r�z:Include should filter out even things from repr_mimebundler�z!_repr_mimebundle_ take precedence)	rhrr��
  76  formattersr�r��sortedr��keys)r�r9Zhtml_fr�r4r�r�rrr�test_repr_mime�s"
  77  
  78  ��r�cCslGdd�dt�}hd�}hd�}t�j}|j|||d�||d�|j||d�|d�|j||d�|d�dS)Nc@seZdZddd�Zdd�ZdS)z1test_pass_correct_include_exclude.<locals>.TesterNcSs||_||_dSr;�r�r�r�rrr�__init__�s
  79  z:test_pass_correct_include_exclude.<locals>.Tester.__init__c[s0|r||jkrtd��|r||jkrtd��dS)Nz.include got modified: display() may be broken.z.exclude got modified: display() may be broken.)r�r#r�)rr�r��kwargsrrrr��s
  80  zCtest_pass_correct_include_exclude.<locals>.Tester._repr_mimebundle_r�)rrrr�r�rrrr�Tester�s
  81  r�>�a�c�b>�er9r�r�)r�r��rhrr�r�)r�r�r�r9rrr�!test_pass_correct_include_exclude�sr�cCsZGdd�dt�}t�j}|�}|�|�\}}t|�ddgks J�|dddd�iks+J�dS)Nc@�eZdZddd�ZdS)z,test_repr_mime_meta.<locals>.HasReprMimeMetaNcSsddi}dddd�i}||fS)Nr�zbase64-image-datary�
  82  ��width�heightr)rr�r��data�metadatarrrr��s���z>test_repr_mime_meta.<locals>.HasReprMimeMeta._repr_mimebundle_r��rrrr�rrrr�HasReprMimeMeta��r�r�r�ryr�r�)rhrr�r�r�)r�r9r4r�r�rrr�test_repr_mime_meta�s
  83  ��r�cCs<Gdd�dt�}t�j}|�}|�|�\}}d|vsJ�dS)Nc@r�)z+test_repr_mime_failure.<locals>.BadReprMimeNcSrnr;)�RuntimeErrorr�rrrr�
  84  rz=test_repr_mime_failure.<locals>.BadReprMime._repr_mimebundle_r�r�rrrr�BadReprMimer�r�r�r�)r�r9r4r�r�rrr�test_repr_mime_failures
  85  r�cCs`ddlm}ddlm}Gdd�d|�}|dd��|_|�}t�}|js&J�||�dks.J�dS)	Nr)�
  86  partialmethod)�
  87  NamedTuplec@r)z6test_custom_repr_namedtuple_partialmethod.<locals>.FooNrrrrr�Foosr�cSr)N�Hello Worldr)r4rrrrwrxz;test_custom_repr_namedtuple_partialmethod.<locals>.<lambda>r�)�	functoolsr��typingr�rrr7)r�r�r�r,r9rrr�)test_custom_repr_namedtuple_partialmethods
  88  r�):�__doc__�mathrrErLZIPythonrZtraitlets.configr�IPython.core.formattersrrrrr	r
  89  ZIPython.utils.iorrhr
  90  rrr r%r)r5r:r<rGrNrOrTrVrYrZr\r]r^r_rarbrmrtr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�<module>sd 
  91  
  92  
  93  
  94  
  95  &
  96  ")