U
    d»{j„  ã                   @   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dddg¡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|Ž |jd|Ž |jd|Ž |jd|Ž |jd|Ž dd„ |jD ƒD ]}| |¡ qxdd„ |jD ƒD ]}| |¡ q˜| 	¡  d S )NTútext.usetexZbaselineé   r   ÚkÚnone)ÚpadZ	edgecolorZ	facecolor)ZverticalalignmentÚsizeZbboxçš™™™™™É?çffffffæ?úO\LaTeX\ $\left[\int\limits_e^{2e}\sqrt\frac{\log^3 x}{x}\,\mathrm{d}x \right\}$ç333333Ó?Úlgçš™™™™™Ù?ú$\frac{1}{2}\pi$ç333333ã?ú	$p^{3^A}$çš™™™™™é?ú	$p_{3_2}$c                 S   s   h | ]}|  ¡ d  ’qS )r   ©Zget_position©Ú.0Út© r!   ú[/var/www/html/bwave/python/venv/lib/python3.8/site-packages/matplotlib/tests/test_usetex.pyÚ	<setcomp>%   s     ztest_usetex.<locals>.<setcomp>c                 S   s   h | ]}|  ¡ d  ’qS ©é   r   r   r!   r!   r"   r#   '   s     )r   r   r   )r   r   r   )r   r   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    
r4   c                 C   s*   dt jd< |  ddd¡ | ddd¡ d S )NTr   r1   z$-$u   âˆ’r2   r3   r!   r!   r"   Útest_unicode_minus2   s    
r5   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
    

r:   Ú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| ¡ ™ƒd
ks t‚d S )Nr	   z	font.size)r$   )r6   )r6   r%   r1   ú$T©Zusetex).r   éÿ   r%   )Zaxis)r&   r   Zuser'   r(   r7   Úclearr+   r8   r9   ÚnpÚarrayZbuffer_rgbaÚanyÚsumÚlenÚvaluesÚAssertionError)r;   Zheightsr,   Úvalsr/   r!   r!   r"   Útest_minus_no_descentC   s    

ÿrK   Ú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   r1   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}útext.latex.preamble)r   ÚpytestÚskipr&   r'   r(   r7   r+   r8   r9   rC   ZtestingZassert_array_equalZget_window_extent)rL   r,   r+   Ztext2r!   r!   r"   Útest_usetex_packagesW   s    

ÿ
ÿrP   Úpreamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                 C   s2   | t jd< t  ¡ }|jddddd� |j ¡  d S )NrM   r1   zhello, worldTr@   )r(   r'   r7   r+   r8   r9   )rQ   r,   r!   r!   r"   Útest_latex_pkg_already_loadedj   s    
rR   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   é   r6   )Úa_bÚcrU   rT   )Údatar   Zfoo_barr@   )r(   r'   Úranger)   ZplotZlegendr+   r9   )Zdfr,   r-   r!   r!   r"   Útest_usetex_with_underscoreu   s    
rX   é   )ZrerunsÚfmtÚsvgc              
   C   sr   |  tjddd„ ¡ dtjd< t ¡ \}}| ddd¡ tƒ �*}t	 
t¡� |j|| d� W 5 Q R X W 5 Q R X 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   r1   Zhello)ÚformatN)Úsetattrr   Z
PsfontsMapr&   r'   r(   r)   r+   r   rN   ZraisesÚ
ValueErrorZsavefig)rZ   Zmonkeypatchr,   r-   Ztmpfiler!   r!   r"   Útest_missing_psfont   s     þ
rd   )Útempfiler   ÚnumpyrC   rN   Z
matplotlibr&   r   Zmatplotlib.testingr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.testing._markersr   Zmatplotlib.pyplotZpyplotr(   Z
pytestmarkr   r4   r5   r:   ÚmarkZparametrizerK   rP   rR   rX   Zflakyrd   r!   r!   r!   r"   Ú<module>   sB   ý





þ

