a
    s=ic„  ã                   @   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m	Z	 d dl
mZmZ d dlmZ d dlmZ eZedgdd	gd
ddd„ ƒZeƒ dd„ ƒZeƒ dd„ ƒZdd„ Zej dg d¢¡dd„ ƒZej dddg¡dd„ ƒZej dddg¡dd „ ƒZd!d"„ Zejjd#d$ej d%dd&g¡d'd(„ ƒƒZdS ))é    )ÚTemporaryFileN)Údviread)Ú_has_tex_package)Úcheck_figures_equalÚimage_comparison)Úneeds_usetexÚtest_usetexZpdfZpngÚmpl20)Zbaseline_imagesÚ
extensionsÚstylec                  C   sÈ   dt jd< t ¡ \} }ddtddddd	œ}|jd
i |¤Ž |jdi |¤Ž |jdi |¤Ž |jdi |¤Ž |jdi |¤Ž dd„ |jD ƒD ]}| |¡ qŒdd„ |jD ƒD ]}| |¡ q¬| 	¡  d S )NTútext.usetexZbaselineé   r   ÚkÚnone)ÚpadZ	edgecolorZ	facecolor)ZverticalalignmentÚsizeZbbox)çš™™™™™É?gffffffæ?zO\LaTeX\ $\left[\int\limits_e^{2e}\sqrt\frac{\log^3 x}{x}\,\mathrm{d}x \right\}$)r   ç333333Ó?Zlg)gš™™™™™Ù?r   z$\frac{1}{2}\pi$)g333333ã?r   z	$p^{3^A}$)gš™™™™™é?r   z	$p_{3_2}$c                 S   s   h | ]}|  ¡ d  ’qS )r   ©Úget_position©Ú.0Út© r   úm/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/matplotlib/tests/test_usetex.pyÚ	<setcomp>%   ó    ztest_usetex.<locals>.<setcomp>c                 S   s   h | ]}|  ¡ d  ’qS ©é   r   r   r   r   r   r   '   r   )
ÚmplÚrcParamsÚpltÚsubplotsÚdictÚtextZtextsZaxvlineZaxhlineZset_axis_off)ÚfigÚaxÚkwargsÚxÚyr   r   r   r      s"    
ÿúc                 C   s   dt jd< |  ddd¡ d S )NTr   ç      à?z% a comment©r   r    r$   ©Zfig_testZfig_refr   r   r   Ú
test_empty,   s    
r-   c                 C   s*   dt jd< |  ddd¡ | ddd¡ d S )NTr   r*   z$-$u   âˆ’r+   r,   r   r   r   Útest_unicode_minus2   s    
r.   c                  C   s:   dt jd< t  ¡ } |  ¡  dd¡ dtjd< | j ¡  d S )NTzaxes.formatter.use_mathtextéÿÿÿÿr   r   )r!   r    ÚfigureZadd_subplotZset_xlimr   ÚcanvasÚdraw)r%   r   r   r   Útest_mathdefault9   s
    

r3   Úfontsize)é   é
   é   c                 C   s¦   t j d¡ | t jd< i }t ¡ }dD ]b}| ¡  |D ]}|jddd|› ddd q6|j 	¡  t
 |j ¡ ¡d d	kjd
d ¡ ||< q&th | ¡ £ƒd
ks¢J ‚d S )Nr	   z	font.size)r   )r/   )r/   r   r*   ú$T©Zusetex).r   éÿ   r   )Zaxis)r   r   Zuser    r!   r0   Úclearr$   r1   r2   ÚnpÚarrayZbuffer_rgbaÚanyÚsumÚlenÚvalues)r4   Zheightsr%   Úvalsr(   r   r   r   Útest_minus_no_descentC   s    

ÿrC   ÚpkgZxcolorZchemformulac                 C   sŠ   t | ƒst | › d¡ dtjd< t ¡ }| ddd¡}|j 	¡  d|  tjd< t ¡ }| ddd¡}|j 	¡  t
j | ¡ | ¡ ¡ d S )Nz is not availableTr   r*   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}útext.latex.preamble)r   ÚpytestÚskipr   r    r!   r0   r$   r1   r2   r<   ÚtestingZassert_array_equalZget_window_extent)rD   r%   r$   Ztext2r   r   r   Útest_usetex_packagesW   s    

ÿ
ÿrI   Úpreamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                 C   s2   | t jd< t  ¡ }|jddddd |j ¡  d S )NrE   r*   zhello, worldTr9   )r!   r    r0   r$   r1   r2   )rJ   r%   r   r   r   Útest_latex_pkg_already_loadedj   s    
rK   c                  C   sh   dt jd< tdƒd d d… tdƒdœ} t  ¡ \}}|jdd| d | ¡  |jd	d	d
dd t  ¡  d S )NTr   é   r/   )Úa_bÚcrN   rM   )Údatar   Zfoo_barr9   )r!   r    Úranger"   ZplotÚlegendr$   r2   )Údfr%   r&   r   r   r   Útest_usetex_with_underscoreu   s    
rS   é   )ZrerunsÚfmtÚsvgc              	   C   sš   |  tjddd„ ¡ dtjd< t ¡ \}}| ddd¡ tƒ H}t	 
t¡ |j|| d W d	  ƒ n1 sn0    Y  W d	  ƒ n1 sŒ0    Y  d	S )
z:An error is raised if a TeX font lacks a Type-1 equivalentÚ__getitem__c                 S   s   t jddd d d dS )Ns   texfonts	   Some Font)ZtexnameZpsnameZeffectsÚencodingÚfilename)r   ZPsFont)Úselfr   r   r   r   Ú<lambda>…   s   þz%test_missing_psfont.<locals>.<lambda>Tr   r*   Zhello)ÚformatN)Úsetattrr   Z
PsfontsMapr   r    r!   r"   r$   r   rF   ZraisesÚ
ValueErrorZsavefig)rU   Zmonkeypatchr%   r&   Ztmpfiler   r   r   Útest_missing_psfont   s    þ
r_   )Útempfiler   Únumpyr<   rF   Z
matplotlibr   r   Zmatplotlib.testingr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.testing._markersr   Zmatplotlib.pyplotZpyplotr!   Z
pytestmarkr   r-   r.   r3   ÚmarkZparametrizerC   rI   rK   rS   Zflakyr_   r   r   r   r   Ú<module>   sB   ý





þ

