o
    ‘i1  ã                   @   sÈ  d dl mZ d dlmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
mZmZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZ d dl
Zd dlm Z d dlmZ d dl m!Z" e	j#j$d	d
e	j# %dddg¡e	j# %dddg¡e	j#j%dddi fddddifddddifddddifddi fddddifddddifgg d¢ddd„ ƒƒƒƒZ&dd „ Z'eed!d"„ ƒƒZ(ed#gƒd$d%„ ƒZ)eed#gƒd&d'„ ƒƒZ*d(d)„ Z+ed*d+„ ƒZ,ed,d-„ ƒZ-ed.d/„ ƒZ.ed0gƒd1d2„ ƒZ/ed3gƒd4d5„ ƒZ0ed6gƒd7d8„ ƒZ1edgd9d:d;„ ƒZ2ed<d=„ ƒZ3ed>gd?d@dAdB„ ƒZ4e	j# %dCdDdEg¡dFdG„ ƒZ5dHdI„ Z6dJdK„ Z7dLdM„ Z8edNgdOdPdQdR„ ƒZ9edSgdTdPdUdV„ ƒZ:edWgƒdXdY„ ƒZ;edZgd[d\id?d]d^d_„ ƒZ<d`da„ Z=dS )bé    )ÚCounter)ÚPathN)ÚcbookÚpathÚpatheffectsÚfont_manager)ÚFigure)ÚEllipse)Úneeds_ghostscriptÚneeds_usetex)Úcheck_figures_equalÚimage_comparisoné   )ZrerunsÚ	papersizeÚletterÚfigureÚorientationZportraitÚ	landscapezformat, use_log, rcParamsÚpsFúps.usedistillerÚghostscriptÚxpdfútext.usetexTÚepsú	ps.useafm)r   zps with distiller=ghostscriptzps with distiller=xpdfzps with usetexr   zeps afmzeps with usetex)Zidsc                 C   s$  t j |¡ t jd dkr/zt  d¡ W nH t jy. } zt t|ƒ¡ W Y d }~n3d }~ww t jd dkr]zt  d¡ t  d¡ W n t jy\ } zt t|ƒ¡ W Y d }~nd }~ww t 	¡ \}}t
 ¡ }t
 ¡  }	|rv| d¡ | ddgddg¡ d	}
t jd
 s‹|
d7 }
| |
¡ g }t jd
 rœ| t¡ t jd r§| t j¡ z|j|| ||d |j|	| ||d W n t|ƒyÖ } zt t|ƒ¡ W Y d }~nd }~ww |jrÜJ ‚|	jráJ ‚| ¡  d¡}|	 ¡ }| dkrNt jd dkr|dkrd| ¡ vsJ ‚nFd| ¡ v sJ ‚n<t jd st jd
 r:|dkr%dnd}|dkr0d| nd}||v s9J ‚n|dkrGd|vsFJ ‚nd|v sNJ ‚t dd|¡}t dd|¡}|| dd¡ksgJ ‚W d   ƒ n1 srw   Y  W d   ƒ d S W d   ƒ d S 1 s‹w   Y  d S )Nr   r   Úgsr   ZpdftopsÚlogé   é   u	   DÃ©jÃ  vur   u    âˆ’â‚¬r   )Úformatr   Ú	papertypeÚasciir   r   s   letterr   s   432.0s   576.0s   -dDEVICEWIDTHPOINTS=s   -sPAPERSIZEs   %%DocumentPaperSizess   (?<=
%%CreationDate: ).*ó    s   
ó   
)ÚmplÚrcParamsÚupdateZ_get_executable_infoZExecutableNotFoundErrorÚpytestÚskipÚstrÚpltÚsubplotsÚioÚStringIOÚBytesIOZ
set_yscaleÚplotÚ	set_titleÚappendÚRuntimeErrorÚMatplotlibDeprecationWarningÚsavefigÚtupleÚclosedÚgetvalueÚencodeÚlowerÚreÚsubÚreplace)r   Zuse_logr%   r   r   ÚexcÚfigÚaxZs_bufZb_bufÚtitleZallowable_exceptionsZs_valZb_valÚwidthÚwanted© rC   úo/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/matplotlib/tests/test_backend_ps.pyÚtest_savefig_to_stringio   s~   €ÿ
€ÿ






ÿ

ÿ€ÿ



ÿ
TÉrE   c                  C   sl   t jdddgtjd< t ¡ \} }| g d¢¡ t ¡ }| j	|dd W d   ƒ d S 1 s/w   Y  d S )Né   Úw)Ú	linewidthÚ
foregroundzpath.effects)r   r   r   r   ©r   )
r   Z
withStroker$   r%   r*   r+   r/   r,   r.   r4   )r>   r?   r   rC   rC   rD   Útest_patheffectst   s   
ÿ
"ÿrK   c                 C   s~   t | dƒ}| ¡  tjtt|ƒd# dtjd< t 	g d¢¡ t 
d¡ tj|d dd	 W d   ƒ d S 1 s8w   Y  d S )
Nzshort-1)ÚtempdirTr   )r   r   r   rF   z\textbf{time} (s)ztex_demo.epsr   rJ   )r   Úmkdirr   Z_setattr_cmÚtempfiler)   r$   r%   r*   r/   Úxlabelr4   )ZtmpdirZbase_tempdirrC   rC   rD   Útest_tilde_in_tempfilename}   s   


"úrP   z	empty.epsc                  C   s@   t  ¡ \} }| ¡  |jddgddd |jdddddd d S )Nr   r   Úr©ÚcolorÚalphaç      à?Úfoo)r*   r+   Úset_axis_offr/   Útext©r>   r?   rC   rC   rD   Útest_transparency   s   rZ   c                  C   sJ   dt jd< t ¡ \} }| ¡  |jddgddd |jdddddd d S )	NTr   r   r   rQ   rR   rU   rV   )r$   r%   r*   r+   rW   r/   rX   rY   rC   rC   rD   Útest_transparency_tex˜   s
   
r[   c                  C   sÈ   t  ¡ \} }t ¡ }| j|dd | ¡ }W d   ƒ n1 s w   Y  t d|tj¡}|s1J ‚t d|tj¡}|s=J ‚t	ddƒD ]}d| 
|¡vsMJ ‚t| 
|¡ƒt t| 
|¡ƒd¡ksaJ ‚qBd S )Nr   rJ   s$   ^%%BoundingBox: (.+) (.+) (.+) (.+)$s)   ^%%HiResBoundingBox: (.+) (.+) (.+) (.+)$r   é   ó   .)r*   r+   r,   r.   r4   r7   r:   ÚsearchÚ	MULTILINEÚrangeÚgroupÚintr'   ZapproxÚfloat)r>   r?   ÚbufZbbZhibbÚirC   rC   rD   Ú	test_bbox¢   s   

þÿ*ýrf   c                   C   sV   dt jd< t d¡ t t¡ tjt 	¡ dd W d  ƒ dS 1 s$w   Y  dS )z"Test failing latex subprocess callTr   z$22_2_2$r   rJ   N)
r$   r%   r*   rO   r'   Zraisesr2   r4   r,   r.   rC   rC   rC   rD   Útest_failing_latex´   s
   

"ÿrg   c                 C   s\   |   d¡ tjddddd tjddddd tjt ¡ dd	 | j\}d
| ¡ v s,J ‚d S )NÚWARNINGçš™™™™™¹?rV   T)Zusetexçš™™™™™É?Úbarr   rJ   zas if usetex=False)Z	set_levelr*   Úfigtextr4   r,   r.   ÚrecordsÚ
getMessage)ÚcaplogÚrecordrC   rC   rD   Útest_partial_usetex¾   s   
rq   c                 C   s6   t j dddœ¡ t ddd¡ tjt ¡ dd d S )NTz$\usepackage{color,graphicx,textcomp})r   ztext.latex.preamblerU   rV   r   rJ   )r$   r%   r&   r*   rl   r4   r,   r.   )ro   rC   rC   rD   Útest_usetex_preambleÈ   s   ýrr   z
useafm.epsc                  C   s:   dt jd< t ¡ \} }| ¡  | d¡ | ddd¡ d S )NTr   rU   Zqk)r$   r%   r*   r+   rW   ZaxhlinerX   rY   rC   rC   rD   Útest_useafmÓ   s
   

rs   z	type3.epsc                   C   s   t  ddd¡ d S )NrU   zI/J)r*   rl   rC   rC   rC   rD   Útest_type3_fontÜ   s   rt   zcoloredhatcheszerolw.epsc                  C   sh   t  ¡ } |  tdddddddd¡ |  tdd	d	d
dddd¡ |  tdddddddd¡ |  ¡  d S )N)r   r   r   ú/ÚnonerQ   r   )ZhatchZ	facecolorÚ	edgecolorrH   )rU   rU   rU   ú+Úgrj   )r   r   g333333Ó?gš™™™™™é?ú\Úb)r*   ZgcaZ	add_patchr	   rW   )r?   rC   rC   rD   Ú!test_colored_hatch_zero_linewidthá   s   ÿÿÿr|   )Ú
extensionsc                 C   s*   |   ¡ }|jddd| jdd |  ¡  d S )Nr   ZhelloT)Z	transformZclip_on)Zadd_subplotrX   ZtransFigure)Zfig_testZfig_refr?   rC   rC   rD   Útest_text_clipí   s   r~   c                 C   s>   t  ¡ }| ddd¡ | d }| |¡ tjjj|dd d S )NrU   Údefztest.epsF)Úcache)r*   r   rX   r4   r$   ÚtestingÚcompareÚconvert)Útmp_pathr>   ÚoutrC   rC   rD   Útest_d_glyphõ   s
   
r†   ztype42_without_prep.epsZmpl20)Ústylec                   C   s&   dt jd< dt jd< t ddd¡ d S )Né*   úps.fonttypeZstixzmathtext.fontsetrU   zMass $m$)r$   r%   r*   rl   rC   rC   rC   rD   Útest_type42_font_without_prep   s   

rŠ   ÚfonttypeÚ3Z42c                 C   sl   | t jd< t ¡ \}}| ddd¡ t ¡ }|j|dd dt| › dd	 d
 }t	 
|| ¡ t	j¡s4J ‚d S )Nr‰   g      Ð?rU   z&Forty-two is the answer to everything!r   rJ   s
   /FontType zutf-8)Úencodings    def)r$   r%   r*   r+   rX   r,   r.   r4   Úbytesr:   r^   r7   r_   )r‹   r>   r?   rd   ÚtestrC   rC   rD   Útest_fonttype	  s   
r   c                  C   sH   t  ¡ \} }|jddgdd t ¡ }| j|dd | ¡ dks"J ‚dS )z-Test that dashed lines do not break PS outputr   r   z--)Z	linestyler   rJ   N)r*   r+   r/   r,   r.   r4   Útell)r>   r?   rd   rC   rC   rD   Útest_linedash  s
   r’   c                  C   s<   t ƒ } |  ddd¡ t ¡ }| j|dd | j|dd d S )NrU   z
foo

r   rJ   r   )r   rX   r,   r.   r4   )r   rd   rC   rC   rD   Útest_empty_line$  s
   r“   c                  C   sœ   t ƒ } | jddtddd}|jD ]}|jg g d | ddg¡ q|  d¡ t ¡ }| j	|d	d
 | 
d¡ dd„ | ¡ D ƒ}tt|ƒ ¡ ƒdksLJ ‚d S )NrF   Zpolar)Z
projection)Z
subplot_kw)ZxticksZyticksr   r   zhello, worldr   rJ   r   c                 S   s$   g | ]}|  d ¡r| d¡d ‘qS )ru   ú r   )Ú
startswithÚ	partition)Ú.0ÚlnrC   rC   rD   Ú
<listcomp>:  s    þz0test_no_duplicate_definition.<locals>.<listcomp>)r   r+   ÚdictZflatÚsetr/   Zsuptitler,   r-   r4   ÚseekÚ	readlinesÚmaxr   Úvalues)r>   Zaxsr?   rd   ZwdsrC   rC   rD   Útest_no_duplicate_definition-  s   


ÿr    zmulti_font_type3.epsgR¸…ëQà?)Ztolc                  C   óh   t jdgd} tt  | ¡ƒjdkrt d¡ tjdddgdd tjd	d
d t 	¡ }| 
ddd¡ d S )NúWenQuanYi Zen Hei©Úfamilyúwqy-zenhei.ttcúFont may be missingÚfontúDejaVu Sansé   ©r¤   Úsizer   r   ©r‹   ç333333Ã?çffffffÞ?õ"   There are å‡ ä¸ªæ±‰å­— in between!©ÚfmZFontPropertiesr   ZfindfontÚnamer'   r(   r*   Úrcr   rX   ©Úfpr>   rC   rC   rD   Útest_multi_font_type3A  ó   
r¶   zmulti_font_type42.epsgš™™™™™ù?c                  C   r¡   )Nr¢   r£   r¥   r¦   r§   r¨   r©   rª   r   rˆ   r¬   r­   r®   r¯   r°   r´   rC   rC   rD   Útest_multi_font_type42N  r·   r¸   zscatter.epsc            	      C   sÂ   t j d¡} |  ddd¡}|  ddd¡}|  ddd¡}t ¡ \}}|j|||g d¢dd	 | ¡  d
d„ tddƒD ƒ}|  ddd¡ 	dd¡}ddg}t
j||dd|d}| |¡ | dd¡ d S )Ni!N,r   r   é
   é   éd   )gÍÌÌÌÌÌì?rj   ri   ú<)rw   Úmarkerc                 S   s   g | ]}t j |¡‘qS rC   )r   r   Zunit_regular_polygon)r—   re   rC   rC   rD   r™   d  s    z(test_path_collection.<locals>.<listcomp>r   é   éÈ   é   r   g{®Gáz”?g{®Gáz¤?éÿÿÿÿÚyellow)ZzorderZ
facecolorsÚoffsets)ÚnpÚrandomZdefault_rngÚuniformr*   r+   ÚscatterrW   r`   ZreshapeÚmcollectionsZPathCollectionZadd_collectionZset_xlim)	ÚrngZxvalsZyvalsÚsizesr>   r?   ÚpathsrÃ   ZpcrC   rC   rD   Útest_path_collection[  s   
ÿ
rÌ   zcolorbar_shift.epsZbbox_inchesZtight)Zsavefig_kwargr‡   c                 C   sL   t  g d¢¡}t  g d¢|j¡}tjddgddgddg||d t ¡  d S )N)rQ   ry   r{   )rÁ   g      à¿rU   r   r   r   )ÚcÚcmapÚnorm)ÚmcolorsZListedColormapZBoundaryNormÚNr*   rÇ   Zcolorbar)r„   rÎ   rÏ   rC   rC   rD   Útest_colorbar_shiftm  s    rÒ   c                  C   s„   t  ¡ } t tj¡ | jt ¡ ddd W d   ƒ n1 sw   Y  t tj¡ dtj	d< W d   ƒ d S 1 s;w   Y  d S )Nr   Úauto)r   r    zps.papersize)
r*   r   r'   Zwarnsr$   r3   r4   r,   r.   r%   )r>   rC   rC   rD   Útest_auto_papersize_deprecationv  s   ÿ"ÿrÔ   )>Úcollectionsr   Úpathlibr   r,   r:   rN   ÚnumpyrÄ   r'   Z
matplotlibr   r   r   r   r±   Zmatplotlib.figurer   Zmatplotlib.patchesr	   Zmatplotlib.testing._markersr
   r   Zmatplotlib.testing.decoratorsr   r   r$   Zmatplotlib.collectionsrÈ   Zmatplotlib.colorsÚcolorsrÐ   Zmatplotlib.pyplotZpyplotr*   ÚmarkZflakyZparametrizerE   rK   rP   rZ   r[   rf   rg   rq   rr   rs   rt   r|   r~   r†   rŠ   r   r’   r“   r    r¶   r¸   rÌ   rÒ   rÔ   rC   rC   rC   rD   Ú<module>   s–    ùøJ	

	
	










	


ÿ
