a
    ëÝEb4  ã                   @   s  d dl mZ 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
mZmZ d dlmZmZ dZdZeeiZed-d	d
„ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Z e	j!j"d!d"d#gd$d%gd&�d'd(„ ƒZ#d)d*„ Z$d+d,„ Z%dS ).é    )Úcontextmanager)ÚPath)ÚTemporaryDirectoryN)ÚpyplotÚstyle)ÚUSER_LIBRARY_PATHSÚSTYLE_EXTENSIONz
image.cmapZpinkc                 c   s’   |st }d| tf }zntƒ �L}t||ƒ d dd„ | ¡ D ƒ¡¡ t |¡ t	 
¡  dV  W d  ƒ n1 sn0    Y  W t	 
¡  n
t	 
¡  0 dS )zAContext manager to create a style sheet in a temporary directory.z%s.%sÚ
c                 s   s   | ]\}}d   ||¡V  qdS )z{}: {}N)Úformat)Ú.0ÚkÚv© r   ú[/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/matplotlib/tests/test_style.pyÚ	<genexpr>   ó    ztemp_style.<locals>.<genexpr>N)ÚDUMMY_SETTINGSr   r   r   Ú
write_textÚjoinÚitemsr   Úappendr   Zreload_library)Ú
style_nameÚsettingsÚ	temp_fileÚtmpdirr   r   r   Ú
temp_style   s    
ÿ
&r   c                 C   s^   ddi}d}t ||ƒ� W d   ƒ n1 s,0    Y  t| jƒdkrV|| jd  ¡ v sZJ ‚d S )NZfooÚbarÚbasenameé   r   )r   ÚlenÚrecordsÚ
getMessage)ZcaplogZSETTINGSr   r   r   r   Ú)test_invalid_rc_warning_includes_filename&   s    ÿr"   c                   C   s<   t dtƒ� dtjv sJ ‚W d   ƒ n1 s.0    Y  d S )NZ_test_)r   r   r   Ú	availabler   r   r   r   Útest_available0   s    r$   c                	   C   st   dt jt< tdtƒ�L t d¡�" t jt tks4J ‚W d   ƒ n1 sH0    Y  W d   ƒ n1 sf0    Y  d S ©NÚgrayÚtest©ÚmplÚrcParamsÚPARAMr   r   r   ÚcontextÚVALUEr   r   r   r   Útest_use5   s    
r.   c              	   C   s    t | dƒ}| d¡ tdtƒ�n dtjdkr0dnd | ¡  ¡  }t 	|¡�" t
jd d	ks`J ‚W d   ƒ n1 st0    Y  W d   ƒ n1 s’0    Y  d S )
NÚfilezaxes.facecolor: adeader'   zfile:Úwin32z///Ú zaxes.facecolorz#adeade)r   r   r   r   ÚsysÚplatformÚresolveÚas_posixr   r,   r)   r*   )r   ÚpathÚurlr   r   r   Útest_use_url<   s    

ÿ
þr8   c                 C   s„   dt jt< dt› �}t| |ƒ}| t› dt› �¡ t |¡�" t jt tksPJ ‚W d   ƒ n1 sd0    Y  t jt dks€J ‚d S )Nr&   ztext.z : )	r)   r*   r+   r   r   r   r-   r   r,   )r   r   r6   r   r   r   Útest_single_pathG   s    


0r9   c                	   C   s†   dt jt< tdtƒ�L t d¡�" t jt tks4J ‚W d   ƒ n1 sH0    Y  W d   ƒ n1 sf0    Y  t jt dks‚J ‚d S r%   r(   r   r   r   r   Útest_contextQ   s
    
Nr:   c                  C   sh   d} d}| t jt< t t|i¡�" t jt |ks4J ‚W d   ƒ n1 sH0    Y  t jt | ksdJ ‚d S )Nr&   Úblue)r)   r*   r+   r   r,   ©Úoriginal_valueÚother_valuer   r   r   Útest_context_with_dictZ   s    
0r?   c               	   C   s–   d} d}| t jt< tdtƒ�T t dt|ig¡�" t jt |ksDJ ‚W d   ƒ n1 sX0    Y  W d   ƒ n1 sv0    Y  t jt | ks’J ‚d S ©Nr&   r;   r'   )r)   r*   r+   r   r   r   r,   r<   r   r   r   Ú'test_context_with_dict_after_namedstylec   s    
NrA   c               	   C   s–   d} d}| t jt< tdtƒ�T t t|idg¡�" t jt tksDJ ‚W d   ƒ n1 sX0    Y  W d   ƒ n1 sv0    Y  t jt | ks’J ‚d S r@   r(   r<   r   r   r   Ú(test_context_with_dict_before_namedstylen   s    
NrB   c               	   C   sÐ   d} d}d}||i}| t jt< | t j|< tdtƒ�b t d|g¡�4 t jt tksXJ ‚t j| |ksjJ ‚W d   ƒ n1 s~0    Y  W d   ƒ n1 sœ0    Y  t jt | ks¸J ‚t j| | ksÌJ ‚d S )Nr&   ztext.usetexTr'   r(   )r=   Zother_paramr>   Údr   r   r   Ú.test_context_with_union_of_dict_and_namedstyley   s    
NrD   c               
   C   s¾   d} d}t  t|i¡�” tjt |ks*J ‚t  t| dd i¡}t t¡�4 |� W d   ƒ n1 sb0    Y  W d   ƒ n1 s€0    Y  tjt |ksœJ ‚W d   ƒ n1 s°0    Y  d S )Nr&   r;   Zbadparam)r   r,   r+   r)   r*   ÚpytestZraisesÚKeyError)r=   r>   Úxr   r   r   Útest_context_with_badparam‰   s    <rH   Úequiv_styles)Úmpl20Údefault)Úmpl15ZclassicrJ   rL   )Úidsc              	   C   s„   g }| D ]>}t  |¡�  | tj ¡ ¡ W d   ƒ q1 s<0    Y  q|d }t| dd … |dd … ƒD ]\}}||ksjJ ‚qjd S )Nr   r   )r   r,   r   r)   r*   ÚcopyÚzip)rI   Zrc_dictsZstyZrc_baseÚnmÚrcr   r   r   Ú
test_alias•   s    0"rR   c                   C   sL   t jd d u sJ ‚t ¡  t jd dks,J ‚tj ¡  t jd dksHJ ‚d S ©Nzpath.sketch)r   éd   é   )r)   r*   ÚpltÚxkcdÚnpÚtestingZbreak_cyclesr   r   r   r   Útest_xkcd_no_cm¤   s
    
rZ   c                   C   sb   t jd d u sJ ‚t ¡ �" t jd dks.J ‚W d   ƒ n1 sB0    Y  t jd d u s^J ‚d S rS   )r)   r*   rV   rW   r   r   r   r   Útest_xkcd_cm¬   s    
0r[   )N)&Ú
contextlibr   Úpathlibr   Útempfiler   r2   ÚnumpyrX   rE   Z
matplotlibr)   r   rV   r   Zmatplotlib.style.corer   r   r+   r-   r   r   r"   r$   r.   r8   r9   r:   r?   rA   rB   rD   rH   ÚmarkZparametrizerR   rZ   r[   r   r   r   r   Ú<module>   sB   

		ÿý
