U
    d»{j}f  ã                   @   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 d dlm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j% &de'e(dfe'd d gd fe)d!d"fe)d#d$fe)d%d&fe)d'd(ff¡d)d*„ ƒZ*ed+gƒd,d-„ ƒZ+ed.gdd�d/d0„ ƒZ,ed1gƒd2d3„ ƒZ-d4d5„ Z.ej%j&d6d7d8gd9d:gd;�d<d=„ ƒZ/d>d?„ Z0d@dA„ Z1dBdC„ Z2dDdE„ Z3dFdG„ Z4dHdI„ Z5ej% &dJdKdLdMg¡ej% &dNdKdOdPdQdRg¡dSdT„ ƒƒZ6edUgƒdVdW„ ƒZ7edXgƒdYdZ„ ƒZ8ed[gƒd\d]„ ƒZ9d^d_„ Z:ed`gƒdadb„ ƒZ;dcdd„ Z<edegƒdfdg„ ƒZ=ej% &dhdidjdkg¡dldm„ ƒZ>dndo„ Z?dpdq„ Z@drds„ ZAedtdu„ ƒZBedvdw„ ƒZCej% &dxdydzd{g¡d|d}„ ƒZDed~gƒdd€„ ƒZEed�gƒd‚dƒ„ ƒZFd„d…„ ZGd†d‡„ ZHedygdˆ�d‰dŠ„ ƒZIed‹gdd�dŒd�„ ƒZJdŽd�„ ZKd�d‘„ ZLd’d“„ ZMedygdˆ�d”d•„ ƒZNd–d—„ ZOd˜d™„ ZPdšd›„ ZQej% &dœd�džgg¡dŸd „ ƒZRd¡d¢„ ZSed£gdd�d¤d¥„ ƒZTd¦d§„ ZUd¨d©„ ZVdªd«„ ZWed¬gdd�d­d®„ ƒZXed¯gdd�d°d±„ ƒZYed²d³„ ƒZZdS )´é    )ÚdatetimeN)Úassert_almost_equal)Ú
MouseEvent)ÚFontProperties)Úcheck_figures_equalÚimage_comparison)Úneeds_usetex)ÚTextZ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ksnt
‚| ¡ d
ks~t
‚| ¡ d
ksŽt
‚| ¡ d
ksžt
‚| ¡ d
ks®t
‚| 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 | Ž}ˆ|t  ¡ d�}ˆ |d�S )N)Ú	directory)Úfname)ÚmplZget_data_path)ÚkwÚpropÚpath©r   Úfindfont© úY/var/www/html/bwave/python/venv/lib/python3.8/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DejaVu SansZ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ÚannotateZget_fontnameÚAssertionErrorZget_fontstyleZget_fontvariantZ
get_weightZget_stretchÚ
set_xticksÚ
set_yticks)	r   ÚfigÚaxZnormal_fontÚaZ	bold_fontZbold_italic_fontZ
light_fontZcondensed_fontr   r   r   Útest_font_styles   s¨    üüüúüúüúüúü
r7   Ú	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ylimr2   r3   ©r5   r   r   r   Útest_multilinem   s>    
     ÿ    þ    þ
rD   Z
multiline2Zmpl20)r   c               	      sÎ  dt jd< t  ¡ \} }| ddg¡ | ddg¡ |jdddd	� d
dddddg}| j ¡ ‰ ‡ fdd„}d}t|ƒD ].\}}|j	d| d d||dd�}|||ƒ qt|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	linewidthZ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   r9   F)Úclip_onÚ	transform)	ÚmpatchesZ	RectangleÚ	transAxesZ
set_boundsÚget_window_extentZtransformedÚinvertedZboundsZ	add_patch)r5   ÚttÚr©Úrendererr   r   Údraw_box“   s    ÿ
ÿÿz!test_multiline2.<locals>.draw_boxÚleftr#   r   Úbottom©ÚhorizontalalignmentÚverticalalignmentg333333ó?zBottom align©rH   gÍÌÌÌÌÌô?r<   z	Top aligngÍÌÌÌÌÌü?ÚbaselinezBaseline alignr:   )rX   rY   ÚrotationzBot align, rot20)
r.   ÚrcParamsr/   Úset_xlimÚset_ylimZaxhlineÚcanvasÚget_rendererÚ	enumeraterB   )r4   r5   ÚstsrT   ZhoralÚnnÚstrP   r   rR   r   Útest_multiline2…   sP    
 ÿ
	ÿÿÿ ÿrf   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)   rg   Zantialiasedr;   rW   ç      Ð?z
$\sqrt{x}$)r   r]   r.   r?   rB   ©r4   r   r   r   Útest_antialiasing¹   s    
ÿÿrl   c               	   C   sH   t jjddd�} t| dƒ�}t j |¡}W 5 Q R X | d¡dksDt‚d S )NZ	HelveticaÚafm)ZfontextÚrbZVAVAVAVAVAVA)g     ¼@iÎ  )r   Úfont_managerr   ÚopenZ_afmZAFMZstring_width_heightr1   )ÚfnÚfhrm   r   r   r   Útest_afm_kerningÈ   s    rs   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)   r9   rj   rg   é   r'   zhello worldr;   )r=   Úfontsizer\   ÚyellowÚredÚorZ   )r.   r?   Zaxesr   r`   ÚnpZlinspaceZmeshgridrB   ÚdrawÚzipZflatÚgcarM   rK   ÚxÚyÚcontainsZviewLimÚfrozenÚplotÚset)r4   r5   ZmeventZxsZysÚtxtr~   r   r€   Ú_rH   Zvlr   r   r   Útest_containsÏ   s,         ÿ

r†   c                  C   s`   t  ¡ \} }|jdddddid�}| j ¡  td| jf|j d¡žŽ }| |¡d	i fks\t	‚d S )
NZhello)r'   r'   )ç333333ã?r‡   Z
arrowstylez->)ÚxyÚxytextZ
arrowpropsrt   )r)   r‡   F)
r.   r/   r0   r`   r{   r   Z	transDatarK   r€   r1   )r4   r5   ÚannÚeventr   r   r   Útest_annotation_containsî   s       ÿ
 ÿ
ÿrŒ   zerr, xycoords, matchzUnknown return typez!Unknown coordinate type: \[0, 0\]Úfooz$'foo' is not a recognized coordinatezfoo barz('foo bar' is not a recognized coordinatez
offset fooz'xycoords cannot be an offset coordinatezaxes fooz'foo' is not a recognized unitc              	   C   sF   t  ¡ \}}tj| |d��" |jddd|d� |j ¡  W 5 Q R X d S )N©Úmatchrˆ   rI   ©r)   r)   )r‰   r   )r.   r/   ÚpytestÚraisesr0   r`   r{   )Úerrr   r�   r4   r5   r   r   r   Útest_annotate_errorsú   s    	r”   Útitlesc                  C   sJ   t  ¡  t  ddd¡} | jddd� | jddd� |  g ¡ |  g ¡ d S )Nr9   z
left titlerU   ©Úloczright titleÚright)r.   r?   r@   rA   r2   r3   rC   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 )Nr9   r   )r   ru   )r<   rV   r[   r;   r)   z TjÚroundZwheat)ÚboxstyleZ	facecolorÚalpha)r>   r\   Úbboxg      ð?z$\sum_{i=0}^{j}$)r>   r\   r   g      ø?)
r.   r?   r@   rB   Údictr‚   r^   r_   r2   r3   )r5   r~   r\   Z	alignmentr   r   r   Útest_alignment  s6        þ    ÿ
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 )
Nr9   r;   r:   i¼  )r—   rv   Z
fontweightrU   é   i�  r˜   )r.   r?   r@   rA   rC   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snt
‚qn|jddddd�}| j ¡  | | jj¡}d}||f|_| j ¡  | | jj¡}t|j	|j	ƒD ]\}}|| |ksæt
‚qæd S )NÚtestrI   úfigure pixels)r‰   Ú
textcoordsé   )r.   r/   r0   r`   r{   rN   rS   Zset_positionr|   Úminr1   Zxyann)r4   r5   rŠ   Zinit_posZ	shift_valZpost_posr6   Úbr   r   r   Útest_set_position6  s:       ÿ

   ÿ


r¨   rB   Ú ÚOÚemptyz	non-empty)Zidsc                 C   sx   t  ¡ \}}|jdd| ddd�}|j ¡  |j}| ¡ }|j|d d�}tjj	| 
¡ | 
¡ d dd� |j|kstt‚d S )	Nr)   rU   rV   )r=   r>   é
   )Údpiçš™™™™™©?©Zrtol)r.   r/   rB   r`   r{   r­   rN   rz   ÚtestingÚassert_allcloseÚ
get_pointsr1   )rB   r4   r5   Út1r­   Zbbox1Zbbox2r   r   r   Útest_non_default_dpiV  s    
ÿr´   c                   C   s0   t dd� ¡ dkst‚t dd� ¡ dks,t‚d S )NÚ
horizontal©r\   ç        Úverticalg     €V@©r	   Úget_rotationr1   r   r   r   r   Útest_get_rotation_stringf  s    r»   c                  C   s$   dD ]} t | d� ¡ | kst‚qd S )N)g      .@g33333³0@gš™™™™YS@r¶   r¹   ©Úir   r   r   Útest_get_rotation_floatk  s    r¾   c                  C   s(   dD ]} t | d� ¡ t| ƒkst‚qd S )N)éC   é   é)   r¶   )r	   rº   Úfloatr1   r¼   r   r   r   Útest_get_rotation_intp  s    rÃ   c                	   C   s$   t  t¡� tdd� W 5 Q R X d S )NZ
hozirontalr¶   ©r‘   r’   Ú
ValueErrorr	   r   r   r   r   Útest_get_rotation_raisesu  s    rÆ   c                   C   s   t d d� ¡ dkst‚d S )Nr¶   r·   r¹   r   r   r   r   Útest_get_rotation_nonez  s    rÇ   c                  C   s8   t dddgdddgƒD ]\} }tt| d� ¡ |ƒ qd S )Ng     €v@g     �w@gš™™™™	Œ@r·   g      1@gfffff&f@r¶   )r|   r   r	   rº   )r½   Újr   r   r   Útest_get_rotation_mod360~  s    rÉ   r=   r;   r˜   rU   r>   r<   rV   r[   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   )r\   r>   r=   r)   r¢   Zrotation_modeÚanchorÚdefault)r)   r)   r¢   )r)   r)   r¢   )
r.   r/   rž   rB   r`   r{   r   rN   rS   r²   )r=   r>   r4   r5   r   Út0r³   r   r   r   Ú%test_null_rotation_with_rotation_modeƒ  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?rQ   T)ZbackgroundcolorrJ   r)   zIs fancy bbox clipped?©rJ   r›   zround, pad=0.1)r.   rB   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ú+ ptsru   r:   zaxes pointsé    ©r‰   r¤   rˆ   r   rv   ú- ptsiìÿÿÿr<   ©r‰   r¤   rˆ   r   rv   r>   ú+ fracrg   r®   r   ú- fracçš™™™™™©¿ú+ pixelsé    é   zaxes pixelsú- pixelsiçÿÿÿ©r.   r/   r0   ©r4   r5   r   r   r   Ú"test_annotation_negative_ax_coords—  s\       þ   ý   þ   ý   þ   ý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³  s\       þ   ý   þ   ý   þ   ýrä   c                  C   sÀ   t  dd¡\} \}}t  ¡  |jr&t‚|jr0t‚| jr:t‚| ddd¡}|jsRt‚|js\t‚| jsft‚|jdddgd�}|js‚t‚|jsŒt‚| js–t‚t  ¡  |jr¨t‚|jr²t‚| jr¼t‚d S )Nr9   rG   r)   Zaardvark©rˆ   )r.   r/   Zdraw_allÚstaler1   rB   r0   )r4   Ú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 )Nr9   rG   r¬   r�   TrÎ   )rz   ÚrandomÚseedr.   r/   ZrandrB   )r4   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:t‚d S )Nr¬   z	font.sizeZlarge©r   r(   )r   r]   ro   r   Zget_size_in_pointsr1   )Ú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ÍÌÌÌÌÌ(@rh   rá   iX  é   é+   rG   r   ru   z{fs} pt font size)Úfs)rv   )r   r]   r.   r/   ÚxaxisZset_major_locatorZNullLocatorÚyaxisr_   rb   ÚrangerB   Úformat)r4   r5   r½   rô   r   r   r   Útest_font_scalingø  s    
rù   zspacing1, spacing2)r'   rG   )rG   r'   )rG   rG   c           	      C   sš   d}t  ¡ }|j ¡ }|jdd|| d�}|jdd||d�}|j ¡  |j|d�}|j|d�}|j|jkslt‚| |kr†|j	|j	ks–t‚n|j	|j	ks–t‚d S )Nzline1
line2rj   r)   ©ZlinespacingrR   )
r.   r?   r`   ra   rB   r{   rN   Úwidthr1   Úheight)	Zspacing1Zspacing2Ztext_stringr4   rS   Útext1Útext2Zbox1Zbox2r   r   r   Útest_two_2line_texts  s    

rÿ   c                	   C   s,   t  t¡� tjddddd� W 5 Q R X d S )Nrj   r)   r�   Úabcrú   )r‘   r’   Ú	TypeErrorr.   rB   r   r   r   r   Útest_validate_linespacing  s    r  c                  C   s:   t  ¡ \} }| dtjd¡ | tjdd¡ | j ¡  d S )Nr   ÚnanÚinf)r.   r/   rB   rz   r  r  r`   r{   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 )
Nr9   ztext.hinting_factorr)   z	some textÚsvg©rø   Úpngr   r¯   )r.   r]   r?   rB   ÚsavefigÚioÚBytesIOrN   Z	intervalxrz   r°   r±   )r4   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sZt
‚qZqJd S )NFútext.usetexéy   Téz   )r.   r?   r]   Úadd_subplotr`   r{   rõ   Ú
majorTicksÚlabel1Z
get_usetexr1   )r4   rç   rè   r5   ÚusetexrÏ   r   r   r   Útest_usetex_is_copied3  s    




r  c                  C   s(   t  ¡ } | jddddd� | j ¡  d S )Nr)   z	$\frac12$T©r  )r.   r?   rB   r`   r{   rk   r   r   r   Útest_single_artist_usetexB  s    r  Úfmtr  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?   rB   r	  r
  r  )r  r4   r   r   r   Útest_single_artist_usenotexL  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 )Nrj   Úc©r   r   r   r)   rZ   r)   r6   ©rœ   rg   r~   ©r   r   r   r9   ©rœ   rH   )r.   r?   r}   Úset_axis_offrB   r   r   r   r   Útest_text_as_path_opacityX  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.fonttyperj   z50% using `color`r  rZ   r)   z50% using `alpha`r  rg   z"50% using `alpha` and 100% `color`r  r  )r   r]   r.   r?   r}   r  rB   r   r   r   r   Útest_text_as_text_opacitya  s    
ÿr"  c                   C   s,   t  ddgddg¡ tt  dgdd¡ƒ d S )NÚAÚBr9   rG   r)   ÚBoo)r.   r‚   ÚreprrB   r   r   r   r   Útest_text_reprl  s    r'  c                  C   sf   t  dd¡\} }|jddd�}| | j ¡ ¡}|  ¡  | | j ¡ ¡}tj| 	¡ | 	¡ dd�rbt
‚d S )Nr9   Ú
annotationr�   rå   g�íµ ÷Æ°>r¯   )r.   r/   r0   rN   r`   ra   Ztight_layoutrz   Zallcloser²   r1   )r4   r5   ZanZextent1Zextent2r   r   r   Útest_annotation_updater  s    ÿ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 )
Nr9   ry   r~   r)   )Údatar   rI   zoffset points)r   r‰   r¤   )r   )r  r‚   r   Únowr0   ©Zfig_testZfig_refr5   r   r   r   Útest_annotation_units}  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 )NrE   rF   zaxes.titleyr9   rG   )é	   g      @T)ri   Zconstrained_layoutr   z$\sum_{i} x_i$zNew wayrU   r–   g)\�Âõ(ð?)r   zOld Way)r.   r]   r/   rA   Zset_xticklabels)r4   Zaxsr5   r   r   r   Útest_large_subscript_title‰  s    



r0  c                  C   s@   t jdd�} d}| jdd|dd�}| j ¡  | ¡ dks<t‚d S )	N©rE   rò   rh   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?   rB   r`   r{   Z_get_wrapped_textr1   )r4   ÚsrB   r   r   r   Ú	test_wrap›  s
    
r6  c                  C   s<   t jdd�} | jddddd�}| j ¡  | ¡ dks8t‚d S )Nr1  rh   g      #@é   ZAlonglineoftexttowrapTr2  r4  ©r4   rB   r   r   r   Útest_long_word_wrap¦  s    
r9  c                  C   s<   t jdd�} | jddddd�}| j ¡  | ¡ dks8t‚d S )Nr1  rh   r   znon wrapped textTr2  r4  r8  r   r   r   Útest_wrap_no_wrap­  s    
r:  c                 C   s`   |   ¡ }| ddg¡ | ddg¡ |jjd j d¡ |  ¡ }| ddg¡ | ddg¡ d S )Nr   r9   u   â‚¬r6   Úwr©   )r  r3   Zset_yticklabelsrö   r  r  Z	set_colorr-  r   r   r   Útest_buffer_size´  s    r<  c                  C   sL   t  ¡  t jdddd�} t jdddd�}|  ¡ dks8t‚| ¡ dksHt‚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_sizer1   )rý   rþ   r   r   r   Ú$test_fontproperties_kwarg_precedenceÂ  s
    r@  c                  C   s@   t  ¡ } t ¡  d¡}| jddd|dd�}| ¡ }t|dƒ d S )Nru   r   r¢   T)rK   Ztransform_rotates_text)r.   r}   ÚmtransformsZAffine2DZ
rotate_degrB   rº   r   )r5   rK   rB   Úresultr   r   r   Útest_transform_rotates_textË  s    ÿrC  c                  C   sV   t tdd�d d�} t | ƒ}tƒ }| | ¡ | d |d ks>t‚| d |d ksRt‚d S )Nr!   )r"   )r    r�   r    r�   )rž   r   r	   Úupdater1   )ZinpÚcacherÏ   r   r   r   Útest_update_mutate_inputÔ  s    
ÿ
rF  r\   zinvalid stringéZ   c              	   C   s.   t jtdd�� tddd| d� W 5 Q R X d S )Nz5rotation must be 'vertical', 'horizontal' or a numberrŽ   r   r�   r¶   rÄ   r¶   r   r   r   Útest_invalid_rotation_valuesÞ  s
    þrH  c                	   C   s,   t  t¡� tjddddd� W 5 Q R X d S )Nr)   r�   Zfoobar)r  )r‘   r’   rÅ   r.   Úfigtextr   r   r   r   Útest_invalid_coloræ  s    rJ  ztext_pdf_kerning.pdfc                   C   s   t  ¡  t jddddd� d S )Nr   r)   ZATATATATATATATATATAru   rí   )r.   r?   rI  r   r   r   r   Útest_pdf_kerningë  s    rK  c                 C   sT   t  ¡ }| ddd¡ |j ¡  tdd„ | D ƒƒs6t‚dd„ | D ƒddgksPt‚d S )	Nr)   u   à§¦c                 s   s   | ]}t |jtƒV  qd S )N)Ú
isinstanceÚmessager-   ©Ú.0Úwarnr   r   r   Ú	<genexpr>õ  s     z*test_unsupported_script.<locals>.<genexpr>c                 S   s   g | ]}|j j‘qS r   )rM  ÚargsrN  r   r   r   Ú
<listcomp>÷  s     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?   rB   r`   r{   Úallr1   )Zrecwarnr4   r   r   r   Útest_unsupported_scriptñ  s    
ÿÿÿrU  c               	   C   sb   t  ¡ \} }|jddddd� | j ¡  |jddddd� tjtdd�� | j ¡  W 5 Q R X d S )Nr   ú$ \wrong{math} $F)Z
parse_mathTúUnknown symbolrŽ   )r.   r/   rB   r`   r{   r‘   r’   rÅ   rÞ   r   r   r   Útest_parse_mathü  s    
rX  c               	   C   s€   t  ¡ \} }| ddd¡ tjtdd�� | j ¡  W 5 Q R X t 	ddi¡�* t  ¡ \} }| ddd¡ | j ¡  W 5 Q R X d S )Nr   rV  rW  rŽ   ztext.parse_mathF)
r.   r/   rB   r‘   r’   rÅ   r`   r{   r   Z
rc_contextrÞ   r   r   r   Útest_parse_math_rcparams  s    rY  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ATAVATAVATAVATAVATAru   rí   ©r.   r]   r?   rI  r   r   r   r   Útest_pdf_font42_kerning  s    
r[  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$ ð�Œˆru   rí   rZ  r   r   r   r   Útest_pdf_chars_beyond_bmp  s    

r\  c                  C   s~   t jj ¡  t ¡ } |  ddd¡ |  ddd¡ | jddddd� | jddddd� | j ¡  t jj ¡ }|j	|j
kszt‚d S )Nr%   r)   zfoo
barTr  )r   rB   Z!_get_text_metrics_with_cache_implÚcache_clearr.   r?   r`   r{   Ú
cache_infoÚhitsÚmissesr1   )r4   Úinfor   r   r   Útest_metrics_cache#  s    
rb  )[r   r
  r+   Únumpyrz   Znumpy.testingr   r‘   Z
matplotlibr   Zmatplotlib.backend_basesr   r*   r   Zmatplotlib.patchesZpatchesrL   Zmatplotlib.pyplotZpyplotr.   Zmatplotlib.transformsZ
transformsrA  Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.testing._markersr   Zmatplotlib.textr	   r7   rD   rf   rl   rs   r†   rŒ   ÚmarkZparametrizeÚRuntimeErrorÚprintrÅ   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  r   r"  r'  r)  r.  r0  r6  r9  r:  r<  r@  rC  rF  rH  rJ  rK  rU  rX  rY  r[  r\  rb  r   r   r   r   Ú<module>   sÞ   
X

3

ú




	 
 ÿ




	



	








		





