a
    ü
þdÞ  ã                   @   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dgƒ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)Ú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   úe/var/www/html/stable-diffusion-webui/venv/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
    

r4   zeqnarray.pngc                  C   s*   d} t jdd}|jdd| dddd d S )Nz/\begin{eqnarray*}foo\\bar\\baz\\\end{eqnarray*})r   r   )Zfigsizer+   TÚcenter)ÚusetexZhorizontalalignmentr   )r"   r1   r%   )r%   r&   r   r   r   Útest_multiline_eqnarrayC   s    ÿÿr7   Ú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   )r0   )r0   r   r+   ú$T©r6   ).r   éÿ   r   )Zaxis)r    r   Zuser!   r"   r1   Úclearr%   r2   r3   ÚnpÚarrayZbuffer_rgbaÚanyÚsumÚlenÚvalues)r8   Zheightsr&   Úvalsr)   r   r   r   Útest_minus_no_descentR   s    

ÿrG   Ú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"   r1   r%   r2   r3   r@   ZtestingZassert_array_equalZget_window_extent)rH   r&   r%   Ztext2r   r   r   Útest_usetex_packagesf   s    

ÿ
ÿrL   Úpreamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                 C   s2   | t jd< t  ¡ }|jddddd |j ¡  d S )NrI   r+   zhello, worldTr=   )r"   r!   r1   r%   r2   r3   )rM   r&   r   r   r   Útest_latex_pkg_already_loadedy   s    
rN   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   é   r0   )Úa_bÚcrQ   rP   )Údatar   Zfoo_barr=   )r"   r!   Úranger#   ZplotZlegendr%   r3   )Zdfr&   r'   r   r   r   Útest_usetex_with_underscore„   s    
rT   é   )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   rJ   ZraisesÚ
ValueErrorZsavefig)rV   Zmonkeypatchr&   r'   Ztmpfiler   r   r   Útest_missing_psfontŽ   s    þ
r`   ) Útempfiler   Únumpyr@   rJ   Z
matplotlibr    r   Zmatplotlib.testingr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.testing._markersr   Zmatplotlib.pyplotZpyplotr"   Z
pytestmarkr   r.   r/   r4   r7   ÚmarkZparametrizerG   rL   rN   rT   Zflakyr`   r   r   r   r   Ú<module>   sF   ý






þ

