a
    ëÝEb^^  ã                   @   s¤  d dl m Z  d dlZd dlZd dlZd dlmZ d dlZd dlZ	d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ ejje	 d¡ d	d
�Zedgƒdd„ ƒZ edgƒdd„ ƒZ!edgdd�dd„ ƒZ"edgƒdd„ ƒZ#dd„ Z$edgƒdd„ ƒZ%dd„ Z&ed gƒd!d"„ ƒZ'ed#gdd�d$d%„ ƒZ(ed&gƒd'd(„ ƒZ)d)d*„ Z*ejj+d+d,d-gd.d/gd0�d1d2„ ƒZ,d3d4„ Z-d5d6„ Z.d7d8„ Z/d9d:„ Z0d;d<„ Z1d=d>„ Z2ej +d?g d@¢¡ej +dAg dB¢¡dCdD„ ƒƒZ3edEgƒdFdG„ ƒZ4edHgƒdIdJ„ ƒZ5edKgƒdLdM„ ƒZ6dNdO„ Z7edPgƒdQdR„ ƒZ8dSdT„ Z9edUgƒdVdW„ ƒZ:ej +dXg dY¢¡dZd[„ ƒZ;d\d]„ Z<d^d_„ Z=ed`da„ ƒZ>edbdc„ ƒZ?ej +ddg de¢¡dfdg„ ƒZ@edhgƒdidj„ ƒZAedkgƒdldm„ ƒZBdndo„ ZCdpdq„ ZDedrgds�dtdu„ ƒZEedvgdd�dwdx„ ƒZFdydz„ ZGd{d|„ ZHd}d~„ ZIedrgds�dd€„ ƒZJd�d‚„ ZKdƒd„„ ZLd…d†„ ZMd‡dˆ„ ZNed‰gdd�dŠd‹„ ƒZOdŒd�„ ZPdŽd�„ ZQed�gdd�d‘d’„ ƒZRed“gdd�d”d•„ ƒZSdS )–é    )ÚdatetimeN)Úassert_almost_equal)Ú
MouseEvent)ÚFontProperties)Úcheck_figures_equalÚimage_comparison)ÚTextTz"This test needs a TeX installation)ÚreasonZfont_stylesc                     s  ‡ ‡fdd„} ddl m‰ m‰ tjddtdd� t ¡ \}}| d	d
d
dd�}|jddd|d� | dd
d
dddd�}|jddd|d� | ddd
dddd�}|jddd|d� | d	d
d
dddd�}|jddd|d� | d	d
d
dddd�}|jd d!d|d� | 	g ¡ | 
g ¡ d S )"Nc                     s(   ˆ f i | ¤Ž}ˆ|t  ¡ d�}ˆ |d�S )N)Ú	directory)Úfname)ÚmplZget_data_path)ÚkwÚpropÚpath©r   Úfindfont© úZ/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/matplotlib/tests/test_text.pyÚfind_matplotlib_font   s    z.test_font_styles.<locals>.find_matplotlib_fontr   r   Úignorez>findfont: Font family \[u?'Foo'\] not found. Falling back to .zmatplotlib.font_manager)Úmodulez
sans-serifÚnormalé   )ÚfamilyÚstyleÚvariantÚsizezNormal Font)çš™™™™™¹?r   úaxes fraction)ÚxycoordsÚfontpropertiesZFooÚboldiô  )r   r   r   ÚweightZstretchr   z	Bold Font)r   çš™™™™™É?z
sans serifÚitaliciî  zBold Italic Font)r   ç333333Ó?éÈ   z
Light Font)r   çš™™™™™Ù?éd   zCondensed Font)r   ç      à?)Úmatplotlib.font_managerr   r   ÚwarningsÚfilterwarningsÚUserWarningÚpltÚsubplotsÚannotateÚ
set_xticksÚ
set_yticks)r   ÚfigÚaxZnormal_fontZ	bold_fontZbold_italic_fontZ
light_fontZcondensed_fontr   r   r   Útest_font_styles   sž    üüüúüúüúüúü
r5   Ú	multilinec                  C   s’   t  ¡  t  ddd¡} |  d¡ t jddddddd	� t jddd
dddd	� t jddddddd	� t  dd¡ t  dd¡ |  g ¡ |  g ¡ d S )Né   zmultiline
text alignmentr#   r)   zTpTpTp
$M$
TpTpTpé   ÚcenterÚtop)r   ÚhaÚvazTpTpTp
$M^{M^{M^{M}}}$
TpTpTpgš™™™™™é?zTpTpTp
$M_{q_{q_{q}}}$
TpTpTpr   )	r.   ÚfigureÚsubplotÚ	set_titleÚtextZxlimZylimr1   r2   ©r4   r   r   r   Útest_multilinel   s$    
ÿþþ
rB   Z
multiline2Zmpl20)r   c               	      sÆ  dt jd< t  ¡ \} }| ddg¡ | ddg¡ |jdddd	� g d
¢}| j ¡ ‰ ‡ fdd„}d}t|ƒD ].\}}|j	d| d d||dd�}|||ƒ ql|j	ddddd� |jdddd	� t|ƒD ].\}}|j	d| d d||dd�}|||ƒ qÆ|j	ddddd� |jdddd	� t|ƒD ]0\}}|j	d| d d||dd�}|||ƒ �q |j	ddddd� |jdddd	� t|ƒD ]2\}}|j	d| d d||ddd�}|||ƒ �q||j	ddddd� d S )Né   útext.kerning_factorr   gffffffö?é   r)   ZC2r%   )ÚcolorZ	linewidth)ZLinez2 Lineg
 2 Lgz$\sum_i x $zhi $\sum_i x $
testztest
 $\sum_i x $z$\sum_i x $
 $\sum_i x $c                    sB   t jdddd| jd�}| | ˆ ¡ | j ¡ ¡j¡ |  |¡ d S )N©r   r   r7   F)Úclip_onÚ	transform)	ÚmpatchesZ	RectangleÚ	transAxesZ
set_boundsÚget_window_extentZtransformedÚinvertedZboundsZ	add_patch)r4   ÚttÚr©Úrendererr   r   Údraw_box’   s    ÿ
ÿÿz!test_multiline2.<locals>.draw_boxÚleftr#   r   Úbottom©ÚhorizontalalignmentÚverticalalignmentg333333ó?zBottom align©rF   gÍÌÌÌÌÌô?r:   z	Top aligngÍÌÌÌÌÌü?ÚbaselinezBaseline alignr8   )rV   rW   ÚrotationzBot align, rot20)
r.   ÚrcParamsr/   Úset_xlimÚset_ylimZaxhlineÚcanvasÚget_rendererÚ	enumerater@   )r3   r4   ÚstsrR   ZhoralÚnnÚstrN   r   rP   r   Útest_multiline2„   sH    

	ÿÿÿÿrd   zantialiased.pngc                  C   sB   dt jd< tjdd�} | jdddddd	� | jdd
dddd	� d S )NTztext.antialiased)g      @ç      è?©Úfigsizer)   re   Zantialiasedr9   rU   ç      Ð?z
$\sqrt{x}$)r   r[   r.   r=   r@   ©r3   r   r   r   Útest_antialiasing¸   s    
ÿÿrj   c                  C   s\   t jjddd�} t| dƒ�}t j |¡}W d   ƒ n1 s<0    Y  | d¡dksXJ ‚d S )NZ	HelveticaÚafm)ZfontextÚrbZVAVAVAVAVAVA)g     ¼@iÎ  )r   Úfont_managerr   Úopenrk   ZAFMZstring_width_height)ÚfnÚfhrk   r   r   r   Útest_afm_kerningÇ   s    *rq   ztext_contains.pngc                  C   sê   t  ¡ } t  ¡ }td| jdddd ƒ}t ddd¡}t ddd¡}t ||¡\}}t jdddd	ddd
�}| j 	¡  t
|j|jƒD ]f\}}t  ¡ j ||g¡\|_|_| |¡\}}	|r¸dnd}
|j ¡ }|j||d|
d� |j |¡ q~d S )NÚbutton_press_eventr)   r7   rh   re   é   r'   zhello worldr9   )r;   ÚfontsizerZ   ÚyellowÚredÚorX   )r.   r=   Zaxesr   r^   ÚnpZlinspaceZmeshgridr@   ÚdrawÚzipZflatÚgcarK   rI   ÚxÚyÚcontainsZviewLimÚfrozenÚplotÚset)r3   r4   ZmeventÚxsZysÚtxtr|   r}   r~   Ú_rF   Zvlr   r   r   Útest_containsÎ   s"    ÿ

r…   c                  C   sb   t  ¡ \} }|jdddddid�}| j ¡  td| jg|j d¡¢R Ž }| |¡d	i fks^J ‚d S )
NZhello)r'   r'   )ç333333ã?r†   Z
arrowstylez->)ÚxyÚxytextZ
arrowpropsrr   )r)   r†   F)	r.   r/   r0   r^   ry   r   Z	transDatarI   r~   )r3   r4   ÚannÚeventr   r   r   Útest_annotation_containsí   s    ÿ
ÿ
ÿr‹   Útitlesc                  C   sJ   t  ¡  t  ddd¡} | jddd� | jddd� |  g ¡ |  g ¡ d S )Nr7   z
left titlerS   ©Úloczright titleÚright)r.   r=   r>   r?   r1   r2   rA   r   r   r   Útest_titlesù   s    
r�   Ztext_alignmentc                  C   sÊ   t  ¡  t  ddd¡} d}dD ]N}dD ]D}| j|d|d ||tdddd	�d
� | j|dd||d� |d7 }q&q|  ddgddg¡ |  ddgddg¡ |  ddg¡ |  ddg¡ |  g ¡ |  	g ¡ d S )Nr7   r   )r   rs   )r:   rT   rY   r9   r)   z TjÚroundZwheat)ÚboxstyleZ	facecolorÚalpha)r<   rZ   Úbboxg      ð?z$\sum_{i=0}^{j}$)r<   rZ   r   g      ø?)
r.   r=   r>   r@   Údictr€   r\   r]   r1   r2   )r4   r|   rZ   Ú	alignmentr   r   r   Útest_alignment  s&    þ
ÿ
r—   zaxes_titles.pngc                  C   sP   t  ¡  t  ddd¡} | jddddd� | jddddd� | jd	d	ddd� d S )
Nr7   r9   r8   i¼  )rŽ   rt   Z
fontweightrS   é   i�  r�   )r.   r=   r>   r?   rA   r   r   r   Útest_axes_titles  s
    r™   c                  C   s  t  ¡ \} }|jddddd�}| j ¡  | | jj¡}d}| ||f¡ | j ¡  | | jj¡}t|j	|j	ƒD ]\}}|| |ksnJ ‚qn|jddddd�}| j ¡  | | jj¡}d}||f|_
| j ¡  | | jj¡}t|j	|j	ƒD ]\}}|| |ksæJ ‚qæd S )NÚtestrG   úfigure pixels)rˆ   Ú
textcoordsé   )r.   r/   r0   r^   ry   rL   rQ   Zset_positionrz   ÚminZxyann)r3   r4   r‰   Zinit_posZ	shift_valZpost_posÚaÚbr   r   r   Útest_set_position&  s.    ÿ

ÿ


r¡   r@   Ú ÚOÚemptyz	non-empty)Úidsc                 C   sx   t  ¡ \}}|jdd| ddd�}|j ¡  |j}| ¡ }|j|d d�}tjj	| 
¡ | 
¡ d dd� |j|kstJ ‚d S )	Nr)   rS   rT   )r;   r<   é
   )Údpiçš™™™™™©?©Zrtol)r.   r/   r@   r^   ry   r§   rL   rx   ÚtestingÚassert_allcloseÚ
get_points)r@   r3   r4   Út1r§   Zbbox1Zbbox2r   r   r   Útest_non_default_dpiF  s    
ÿr®   c                   C   s@   t j d¡dksJ ‚t j d¡dks(J ‚t j d¡dks<J ‚d S )NÚ
horizontalç        Úverticalg     €V@z15.ç      .@©r   r@   Úget_rotationr   r   r   r   Útest_get_rotation_stringV  s    rµ   c                  C   s"   dD ]} t j | ¡| ksJ ‚qd S )N)r²   g33333³0@gš™™™™YS@r³   ©Úir   r   r   Útest_get_rotation_float\  s    r¸   c                  C   s&   dD ]} t j | ¡t| ƒksJ ‚qd S )N)éC   é   é)   )r   r@   r´   Úfloatr¶   r   r   r   Útest_get_rotation_inta  s    r½   c                   C   s:   t  t¡� tj d¡ W d   ƒ n1 s,0    Y  d S )NZ
hozirontal)ÚpytestÚraisesÚ
ValueErrorr   r@   r´   r   r   r   r   Útest_get_rotation_raisesf  s    rÁ   c                   C   s   t j d ¡dksJ ‚d S )Nr°   r³   r   r   r   r   Útest_get_rotation_nonek  s    rÂ   c                  C   s2   t g d¢g d¢ƒD ]\} }ttj | ¡|ƒ qd S )N)g     €v@g     �w@gš™™™™	Œ@)r°   g      1@gfffff&f@)rz   r   r   r@   r´   )r·   Újr   r   r   Útest_get_rotation_mod360o  s    rÄ   r;   )r9   r�   rS   r<   )r9   r:   rT   rY   Zcenter_baselinec                 C   sv   t  ¡ \}}td|| d�}|jdddi|¤Ž}|jdddi|¤Ž}|j ¡  t| |jj¡ 	¡ | |jj¡ 	¡ ƒ d S )Nr   )rZ   r<   r;   )r)   r)   rš   Zrotation_modeÚanchorÚdefault)
r.   r/   r•   r@   r^   ry   r   rL   rQ   r¬   )r;   r<   r3   r4   r   Út0r­   r   r   r   Ú%test_null_rotation_with_rotation_modet  s    
ÿrÈ   Ztext_bboxclipc                  C   s8   t jdddddd� t jddddd	�} |  d
di¡ d S )NgÍÌÌÌÌÌì?r#   zIs bbox clipped?rO   T)ZbackgroundcolorrH   r)   zIs fancy bbox clipped?©rH   r’   zround, pad=0.1)r.   r@   Zset_bbox)Útr   r   r   Útest_bbox_clipping�  s    rË   z!annotation_negative_ax_coords.pngc               	   C   sÊ   t  ¡ \} }|jdddgdddgddd� |jdddgdddgddd	d
� |jdddgdddgddd� |jdddgdddgddd	d
� |jdddgdddgddd� |jdddgdddgddd	d
� d S )Nú+ ptsrs   r8   zaxes pointsé    ©rˆ   rœ   r‡   r   rt   ú- ptsiìÿÿÿr:   ©rˆ   rœ   r‡   r   rt   r<   ú+ fracre   r¨   r   ú- fracçš™™™™™©¿ú+ pixelsé    é   zaxes pixelsú- pixelsiçÿÿÿ©r.   r/   r0   ©r3   r4   r   r   r   Ú"test_annotation_negative_ax_coordsˆ  s8    
þ
ý
þ
ý
þ
ýrÚ   z"annotation_negative_fig_coords.pngc               	   C   sÊ   t  ¡ \} }|jdddgdddgddd� |jddd	gddd	gddd
d� |jdddgdddgddd� |jdddgdddgddd
d� |jdddgdddgddd� |jdddgdddgddd
d� d S )NrÌ   r¦   éx   zfigure pointsrÍ   rÎ   rÏ   éöÿÿÿé´   r:   rÐ   rÑ   r¨   gš™™™™™á?zfigure fractionrÒ   rÓ   r)   rÔ   é2   r›   r×   iÎÿÿÿr(   rØ   rÙ   r   r   r   Ú#test_annotation_negative_fig_coords¤  s8    
þ
ý
þ
ý
þ
ýrß   c                  C   sÀ   t  dd¡\} \}}t  ¡  |jr&J ‚|jr0J ‚| jr:J ‚| ddd¡}|jsRJ ‚|js\J ‚| jsfJ ‚|jdddgd�}|js‚J ‚|jsŒJ ‚| js–J ‚t  ¡  |jr¨J ‚|jr²J ‚| jr¼J ‚d S )Nr7   rE   r)   Zaardvark©r‡   )r.   r/   Zdraw_allÚstaler@   r0   )r3   Úax1Úax2Ztxt1Zann1r   r   r   Útest_text_staleÀ  s"    










rä   zagg_text_clip.pngc                  C   sZ   t j d¡ t d¡\} \}}t j dd¡D ](\}}|j||ddd� | ||d¡ q,d S )Nr7   rE   r¦   ÚfooTrÉ   )rx   ÚrandomÚseedr.   r/   Zrandr@   )r3   râ   rã   r|   r}   r   r   r   Útest_agg_text_clip×  s
    rè   c                  C   s>   dt jd< t jjdd�} |  ¡ }dt jd< ||  ¡ ks:J ‚d S )Nr¦   z	font.sizeZlarge©r   r(   )r   r[   rm   r   Zget_size_in_points)ÚfpZsz1r   r   r   Útest_text_size_bindingà  s
    

rë   zfont_scaling.pdfc                  C   s‚   dt jd< tjdd�\} }|j t ¡ ¡ |j t ¡ ¡ | dd¡ t	t
ddd	ƒƒD ]&\}}|jd
|d dj|d�|d� qVd S )Né*   úpdf.fonttype)gš™™™™™@gÍÌÌÌÌÌ(@rf   rÜ   iX  é   é+   rE   r   rs   z{fs} pt font size)Úfs)rt   )r   r[   r.   r/   ÚxaxisZset_major_locatorZNullLocatorÚyaxisr]   r`   Úranger@   Úformat)r3   r4   r·   rð   r   r   r   Útest_font_scalingé  s    
rõ   zspacing1, spacing2))r'   rE   )rE   r'   )rE   rE   c           	      C   sš   d}t  ¡ }|j ¡ }t jdd|| d�}t jdd||d�}|j ¡  |j|d�}|j|d�}|j|jkslJ ‚| |kr†|j|jks–J ‚n|j|jks–J ‚d S )Nzline1
line2rh   r)   )ZlinespacingrP   )	r.   r=   r^   r_   r@   ry   rL   ÚwidthÚheight)	Zspacing1Zspacing2Ztext_stringr3   rQ   Útext1Útext2Zbox1Zbox2r   r   r   Útest_two_2line_textsõ  s    

rú   c                  C   s:   t  ¡ \} }| dtjd¡ | tjdd¡ | j ¡  d S )Nr   ÚnanÚinf)r.   r/   r@   rx   rû   rü   r^   ry   rÙ   r   r   r   Útest_nonfinite_pos
  s    rý   c                  C   sj   dt jd< t  ¡ } |  ddd¡}| jt ¡ dd� | ¡ j}| jt ¡ dd� t	j
j| ¡ j|dd	� d S )
Nr7   ztext.hinting_factorr)   z	some textÚsvg©rô   Úpngr   r©   )r.   r[   r=   r@   ÚsavefigÚioÚBytesIOrL   Z	intervalxrx   rª   r«   )r3   rÊ   Úexpectedr   r   r   Útest_hinting_factor_backends  s    

ÿr  c                  C   sx   t  ¡ } dt jd< |  d¡}dt jd< |  d¡}| j ¡  |df|dffD ](\}}|jjD ]}|j 	¡ |ksZJ ‚qZqJd S )NFútext.usetexéy   Téz   )
r.   r=   r[   Úadd_subplotr^   ry   rñ   Ú
majorTicksÚlabel1Z
get_usetex)r3   râ   rã   r4   ÚusetexrÊ   r   r   r   Útest_usetex_is_copied  s    




r  c                  C   s(   t  ¡ } | jddddd� | j ¡  d S )Nr)   z	$\frac12$T©r  )r.   r=   r@   r^   ry   ri   r   r   r   Útest_single_artist_usetex.  s    r  Úfmt)r   Zpdfrþ   c                 C   s:   dt jd< t  ¡ }|jddddd� |jt ¡ | d� d S )NTr  r)   Z2_2_2Fr  rÿ   )r.   r[   r=   r@   r  r  r  )r  r3   r   r   r   Útest_single_artist_usenotex8  s    
r  ztext_as_path_opacity.svgc                   C   sP   t  ¡  t  ¡  ¡  t jddddd� t jddddd� t jddd	dd
d� d S )Nrh   Úc©r   r   r   r)   rX   r)   rŸ   ©r“   re   r|   ©r   r   r   r7   ©r“   rF   )r.   r=   r{   Úset_axis_offr@   r   r   r   r   Útest_text_as_path_opacityD  s
    r  ztext_as_text_opacity.svgc                   C   sZ   dt jd< t ¡  t ¡  ¡  tjddddd� tjddddd	� tjdd
dddd� d S )NÚnonezsvg.fonttyperh   z50% using `color`r  rX   r)   z50% using `alpha`r  re   z"50% using `alpha` and 100% `color`r  r  )r   r[   r.   r=   r{   r  r@   r   r   r   r   Útest_text_as_text_opacityM  s    
ÿr  c                   C   s,   t  ddgddg¡ tt  dgdd¡ƒ d S )NÚAÚBr7   rE   r)   ÚBoo)r.   r€   Úreprr@   r   r   r   r   Útest_text_reprX  s    r  c                  C   sf   t  dd¡\} }|jddd�}| | j ¡ ¡}|  ¡  | | j ¡ ¡}tj| 	¡ | 	¡ dd�rbJ ‚d S )Nr7   Ú
annotation)r)   r)   rà   g�íµ ÷Æ°>r©   )
r.   r/   r0   rL   r^   r_   Ztight_layoutrx   Zallcloser¬   )r3   r4   ZanZextent1Zextent2r   r   r   Útest_annotation_update^  s    ÿr!  r   )Ú
extensionsc                 C   sl   |   ¡ }| t ¡ dd¡ |jdt ¡ dfdddd� |  ¡ }| t ¡ dd¡ |jdt ¡ dfdd	� d S )
Nr7   rw   r|   r)   )Údatar   rG   zoffset points)r   rˆ   rœ   )r   )r	  r€   r   Únowr0   ©Zfig_testZfig_refr4   r   r   r   Útest_annotation_unitsi  s    þr&  zlarge_subscript_title.pngc                  C   s†   dt jd< d t jd< t jddddd�\} }|d	 }| d
¡ |jddd� | g ¡ |d }|jd
dd� |jddd� | g ¡ d S )NrC   rD   zaxes.titleyr7   rE   )é	   g      @T)rg   Zconstrained_layoutr   z$\sum_{i} x_i$zNew wayrS   r�   g)\�Âõ(ð?)r}   zOld Way)r.   r[   r/   r?   Zset_xticklabels)r3   Zaxsr4   r   r   r   Útest_large_subscript_titleu  s    



r(  c                  C   s@   t jdd�} d}| jdd|dd�}| j ¡  | ¡ dks<J ‚d S )	N©rC   rî   rf   z?This is a very long text that should be wrapped multiple times.gffffffæ?r)   T©Úwrapz?This is a very long
text that should be
wrapped multiple
times.©r.   r=   r@   r^   ry   Z_get_wrapped_text)r3   Úsr@   r   r   r   Ú	test_wrap‡  s
    
r.  c                  C   s<   t jdd�} | jddddd�}| j ¡  | ¡ dks8J ‚d S )Nr)  rf   g      #@é   ZAlonglineoftexttowrapTr*  r,  ©r3   r@   r   r   r   Útest_long_word_wrap’  s    
r1  c                  C   s<   t jdd�} | jddddd�}| j ¡  | ¡ dks8J ‚d S )Nr)  rf   r   znon wrapped textTr*  r,  r0  r   r   r   Útest_wrap_no_wrap™  s    
r2  c                 C   s`   |   ¡ }| ddg¡ | ddg¡ |jjd j d¡ |  ¡ }| ddg¡ | ddg¡ d S )Nr   r7   u   â‚¬rŸ   Úwr¢   )r	  r2   Zset_yticklabelsrò   r
  r  Z	set_colorr%  r   r   r   Útest_buffer_size   s    r4  c                  C   sL   t  ¡  t jdddd�} t jdddd�}|  ¡ dks8J ‚| ¡ dksHJ ‚dS )z>Test that kwargs take precedence over fontproperties defaults.ÚvaluezTimes New Romang      D@)r    r   Úcounts)r   r    N)r.   r=   ZxlabelZylabelÚget_size)rø   rù   r   r   r   Ú$test_fontproperties_kwarg_precedence®  s
    r8  c                  C   s@   t  ¡ } t ¡  d¡}| jddd|dd�}| ¡ }t|dƒ d S )Nrs   r   rš   T)rI   Ztransform_rotates_text)r.   r{   ÚmtransformsZAffine2DZ
rotate_degr@   r´   r   )r4   rI   r@   Úresultr   r   r   Útest_transform_rotates_text·  s    ÿr;  c                  C   sV   t tdd�d d�} t | ƒ}tƒ }| | ¡ | d |d ks>J ‚| d |d ksRJ ‚d S )Nr!   )r"   )r    r”   r    r”   )r•   r   r   Úupdate)ÚinpÚcacherÊ   r   r   r   Útest_update_mutate_inputÀ  s    
ÿ
r?  c                   C   s@   t  t¡�" tjddddd� W d   ƒ n1 s20    Y  d S )Nr)   rå   Zfoobar)r  )r¾   r¿   rÀ   r.   Úfigtextr   r   r   r   Útest_invalid_colorÊ  s    rA  ztext_pdf_kerning.pdfc                   C   s   t  ¡  t jddddd� d S )Nr   r)   ZATATATATATATATATATArs   ré   )r.   r=   r@  r   r   r   r   Útest_pdf_kerningÏ  s    rB  c                 C   sT   t  ¡ }| ddd¡ |j ¡  tdd„ | D ƒƒs6J ‚dd„ | D ƒddgksPJ ‚d S )	Nr)   u   à§¦c                 s   s   | ]}t |jtƒV  qd S )N)Ú
isinstanceÚmessager-   ©Ú.0Úwarnr   r   r   Ú	<genexpr>Ù  ó    z*test_unsupported_script.<locals>.<genexpr>c                 S   s   g | ]}|j j‘qS r   )rD  ÚargsrE  r   r   r   Ú
<listcomp>Û  rI  z+test_unsupported_script.<locals>.<listcomp>)z>Glyph 2534 (\N{BENGALI DIGIT ZERO}) missing from current font.)z7Matplotlib currently does not support Bengali natively.)r.   r=   r@   r^   ry   Úall)Zrecwarnr3   r   r   r   Útest_unsupported_scriptÕ  s    
ÿÿÿrM  c                  C   sv   t  ¡ \} }|jddddd� | j ¡  |jddddd� tjtdd�� | j ¡  W d   ƒ n1 sh0    Y  d S )Nr   z$ \wrong{math} $F)Z
parse_mathTzUnknown symbol)Úmatch)r.   r/   r@   r^   ry   r¾   r¿   rÀ   rÙ   r   r   r   Útest_parse_mathà  s    
rO  ztext_pdf_font42_kerning.pdfc                   C   s(   dt jd< t  ¡  t jddddd� d S )Nrì   rí   r   r)   ZATAVATAVATAVATAVATArs   ré   ©r.   r[   r=   r@  r   r   r   r   Útest_pdf_font42_kerningê  s    
rQ  ztext_pdf_chars_beyond_bmp.pdfc                   C   s2   dt jd< dt jd< t  ¡  t jddddd	� d S )
Nrì   rí   Zstixsanszmathtext.fontsetr   r)   u   Mass $m$ ð�Œˆrs   ré   rP  r   r   r   r   Útest_pdf_chars_beyond_bmpñ  s    

rR  )Tr   r  r+   Únumpyrx   Znumpy.testingr   r¾   Z
matplotlibr   Zmatplotlib.backend_basesr   r*   r   Zmatplotlib.patchesZpatchesrJ   Zmatplotlib.pyplotZpyplotr.   Zmatplotlib.transformsZ
transformsr9  Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.textr   ÚmarkZskipifZcheckdep_usetexZneeds_usetexr5   rB   rd   rj   rq   r…   r‹   r�   r—   r™   r¡   Zparametrizer®   rµ   r¸   r½   rÁ   rÂ   rÄ   rÈ   rË   rÚ   rß   rä   rè   rë   rõ   rú   rý   r  r  r  r  r  r  r  r!  r&  r(  r.  r1  r2  r4  r8  r;  r?  rA  rB  rM  rO  rQ  rR  r   r   r   r   Ú<module>   sÀ   
þ
S

3





	 





	



	








		



