
    G8c                     P   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        Z e       d        Z e       d        Zd Z edg      d        Zej0                  j3                  dg d      d        Zej0                  j3                  dddg      d        Zej0                  j3                  dddg      d        Zd Zej0                  j=                  d      ej0                  j3                  d dd!g      d"               Zy)#    )TemporaryFileN)dviread)_has_tex_package)check_figures_equalimage_comparison)needs_usetextest_usetexpdfpngmpl20)baseline_images
extensionsstylec                  h   dt         j                  d<   t        j                         \  } }ddt	        ddd      d	} |j
                  d
i |  |j
                  di |  |j
                  di |  |j
                  di |  |j
                  di | |j                  D ch c]  }|j                         d    c}D ]  }|j                  |        |j                  D ch c]  }|j                         d    c}D ]  }|j                  |        |j                          y c c}w c c}w )NTtext.usetexbaseline   r   knone)pad	edgecolor	facecolor)verticalalignmentsizebbox)皙?gffffff?zO\LaTeX\ $\left[\int\limits_e^{2e}\sqrt\frac{\log^3 x}{x}\,\mathrm{d}x \right\}$)r   333333?lg)g?r   z$\frac{1}{2}\pi$)g333333?r   z	$p^{3^A}$)g?r   z	$p_{3_2}$   )mplrcParamspltsubplotsdicttexttextsget_positionaxvlineaxhlineset_axis_off)figaxkwargstxys         >/usr/lib/python3/dist-packages/matplotlib/tests/test_usetex.pyr	   r	      s   
 #'CLLllnGC#-rqC6BDFBGG   BGG%f%BGG4V4BGG,V,BGG,V,+-884aannq!4 


1+-884aannq!4 


1OO	 54s   %D*&D/c                 P    dt         j                  d<   | j                  ddd       y )NTr         ?z% a commentr    r!   r%   fig_testfig_refs     r1   
test_emptyr8   ,   s     "&CLLMM"b-(    c                 v    dt         j                  d<   | j                  ddd       |j                  ddd       y )NTr   r3   z$-$u   −r4   r5   s     r1   test_unicode_minusr;   2   s1    "&CLLMM"b% LLR)*r9   c                      dt         j                  d<   t        j                         } | j                         j	                  dd       dt
        j                  d<   | j                  j                          y )NTzaxes.formatter.use_mathtextr   r   )r"   r!   figureadd_subplotset_xlimr    canvasdraw)r+   s    r1   test_mathdefaultrC   9   sQ    26CLL./
**,COOr1% #'CLLJJOOr9   zeqnarray.pngc                  b    d} t        j                  d      }|j                  dd| ddd       y )Nz/\begin{eqnarray*}foo\\bar\\baz\\\end{eqnarray*})r   r   )figsizer3   Tcenter)usetexhorizontalalignmentr   )r"   r>   r%   )r%   r+   s     r1   test_multiline_eqnarrayrI   C   s;    	 	 **V
$CHHS#tD!)X  Gr9   fontsize)   
      c           	         t         j                  j                  d       | t         j                  d<   i }t	        j
                         }dD ]  }|j                          |D ]  }|j                  ddd| dd        |j                  j                          t        j                  |j                  j                               d   d	k7  j                  d
      j                         ||<    t        h |j!                               d
k(  sJ y )Nr   z	font.size))r   )r=   )r=   r   r3   $TrG   ).r      r   )axis)r    r   user!   r"   r>   clearr%   rA   rB   nparraybuffer_rgbaanysumlenvalues)rJ   heightsr+   valsr/   s        r1   test_minus_no_descentr^   R   s    
 IIMM' (CLLG
**,C& -		 	4AHHRq1XdH3	4

((3::#9#9#;<VDK#1#+cce 	- "!"#q(((r9   pkgxcolorchemformulac                    t        |       st        j                  |  d       dt        j                  d<   t        j                         }|j                  ddd      }|j                  j                          d| z  t        j                  d<   t        j                         }|j                  ddd      }|j                  j                          t        j                  j                  |j                         |j                                y )Nz is not availableTr   r3   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}text.latex.preamble)r   pytestskipr    r!   r"   r>   r%   rA   rB   rU   testingassert_array_equalget_window_extent)r_   r+   r%   text2s       r1   test_usetex_packagesrj   f   s    C se,-."&CLL
**,C88C45DJJOO 	DcI LL&'
**,CHHS#56EJJOOJJ!!%"9"9";"&"8"8":<r9   preamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                     | t         j                  d<   t        j                         }|j                  dddd       |j                  j                          y )Nrc   r3   zhello, worldTrP   )r"   r!   r>   r%   rA   rB   )rk   r+   s     r1   test_latex_pkg_already_loadedrm   y   s@    
 +3CLL&'
**,CHHR^DH1JJOOr9   c                  ,   dt         j                  d<   t        d      d d d   t        d      d} t        j                         \  }}|j	                  dd|        |j                          |j                  d	d	d
d       t        j                          y )NTr      r=   )a_bcrq   rp   )datar   foo_barrP   )r"   r!   ranger#   plotlegendr%   rB   )dfr+   r,   s      r1   test_usetex_with_underscorerx      sq    "&CLLq$B$eAh	/BllnGCGGCRG IIKGGAq)DG)HHJr9      )rerunsfmtsvgc                    |j                  t        j                  dd        dt        j                  d<   t        j                         \  }}|j                  ddd       t               5 }t        j                  t              5  |j                  ||        ddd       ddd       y# 1 sw Y   xY w# 1 sw Y   yxY w)	z:An error is raised if a TeX font lacks a Type-1 equivalent__getitem__c                 6    t        j                  ddd d d       S )Ns   texfonts	   Some Font)texnamepsnameeffectsencodingfilename)r   PsFont)selfr   s     r1   <lambda>z%test_missing_psfont.<locals>.<lambda>   s    |4$8 r9   Tr   r3   hello)formatN)setattrr   
PsfontsMapr    r!   r"   r#   r%   r   rd   raises
ValueErrorsavefig)r{   monkeypatchr+   r,   tmpfiles        r1   test_missing_psfontr      s     M	89
 #'CLLllnGCGGCg	 )GV]]:%> )GC() ) ) ) ) )s$   *B5B)B5)B2	.B55B>) tempfiler   numpyrU   rd   
matplotlibr    r   matplotlib.testingr   matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr   matplotlib.pyplotpyplotr"   
pytestmarkr	   r8   r;   rC   rI   markparametrizer^   rj   rm   rx   flakyr    r9   r1   <module>r      sf   "     / O 4  
 "Ou~
	. ) )
 + + >"#G $G [1) 2)& = 9:< ;<$ #%?@	 !/) 0 )r9   