a
    s=ic'                     @   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d1d	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-d. Z&d/d0 Z'dS )2    )contextmanager)Path)TemporaryDirectoryN)pyplotstyle)USER_LIBRARY_PATHSSTYLE_EXTENSIONz
image.cmapZpinkc                 c   s   |st }d| tf }zrt P}t||jddd | D dd t| t	
  dV  W d   n1 sr0    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   l/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/matplotlib/tests/test_style.py	<genexpr>       ztemp_style.<locals>.<genexpr>utf-8encodingN)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_available1   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_use6   s    
r1   c              	   C   s   t | d}|jddd tdtn dtjdkr4dnd	 |   }t	|" t
jd
 dksdJ W d    n1 sx0    Y  W d    n1 s0    Y  d S )Nfilezaxes.facecolor: adeader   r   r*   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    

r;   c                 C   s   dt jt< dt }t| |}|jt dt dd t|" t jt tksTJ W d    n1 sh0    Y  t jt dksJ d S )Nr)   ztext.z : r   r   )	r,   r-   r.   r   r   r   r0   r   r/   )r   r   r9   r   r   r   test_single_pathH   s    


0r<   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sJ d S r(   r+   r   r   r   r   test_contextR   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_dict[   s    
0rB   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sJ d S Nr)   r>   r*   )r,   r-   r.   r   r   r   r/   r?   r   r   r   'test_context_with_dict_after_namedstyled   s    
NrD   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sJ d S rC   r+   r?   r   r   r   (test_context_with_dict_before_namedstyleo   s    
NrE   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 s0    Y  t jt | ksJ t j| | ksJ d S )Nr)   ztext.usetexTr*   r+   )r@   Zother_paramrA   dr   r   r   .test_context_with_union_of_dict_and_namedstylez   s    
NrG   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 s0    Y  tjt |ksJ W d    n1 s0    Y  d S )Nr)   r>   Zbadparam)r   r/   r.   r,   r-   pytestZraisesKeyError)r@   rA   xr   r   r   test_context_with_badparam   s    <rK   equiv_styles)mpl20default)mpl15ZclassicrM   rO   )Z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)rL   Zrc_dictsZstyZrc_basenmrcr   r   r   
test_alias   s    0"rT   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
    
r\   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 rU   )r,   r-   rX   rY   r   r   r   r   test_xkcd_cm   s    
0r]   c                  C   s   t jd t j } W d    n1 s,0    Y  t j| ksDJ tt jj t j	d W d    n1 st0    Y  t j| ksJ d S )Nzseaborn-v0_8-brightzseaborn-bright)
r,   r   r/   r-   rP   rH   ZwarnsZ_apiZMatplotlibDeprecationWarningZuse)Zseaborn_brightr   r   r   test_deprecated_seaborn_styles   s    (*r^   c                   C   s   t jjjh t jjksJ d S )N)r,   r   coreZSTYLE_BLACKLISTZrcsetup_validatorsr   r   r   r   test_up_to_date_blacklist   s    ra   )N)(
contextlibr   pathlibr   tempfiler   r5   numpyrZ   rH   Z
matplotlibr,   r   rX   r   Zmatplotlib.style.corer   r   r.   r0   r   r   r%   r'   r1   r;   r<   r=   rB   rD   rE   rG   rK   markZparametrizerT   r\   r]   r^   ra   r   r   r   r   <module>   sF   

		
	