
    m7hm                     4   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	       Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z e	jB                  jE                  dddgddg      d        Z#d Z$d Z%d Z&d Z'y)!    )contextmanager)Path)TemporaryDirectoryN)pyplotstyle)USER_LIBRARY_PATHSSTYLE_EXTENSIONz
image.cmappinkc              #     K   |st         }|  dt         }	 t               5 }t        ||      j	                  dj                  d |j                         D              d       t        j                  |       t        j                          d ddd       t        j                          y# 1 sw Y   xY w# t        j                          w xY ww)zAContext manager to create a style sheet in a temporary directory..
c              3   0   K   | ]  \  }}| d |   yw)z: N ).0kvs      ]C:\Users\ashis\OneDrive\Desktop\poolpix\venv\Lib\site-packages\matplotlib/tests/test_style.py	<genexpr>ztemp_style.<locals>.<genexpr>   s!     C2B$!QQCr!+2Bs   utf-8encodingN)DUMMY_SETTINGSr	   r   r   
write_textjoinitemsr   appendr   reload_library)
style_namesettings	temp_filetmpdirs       r   
temp_styler"      s      !,a01I!V#..		C(..2BCC  / " %%f-  " " 	 "! 	s4   C
B9 A/B-B9 C-B62B9 9CCc                     ddi}d}t        ||      5  	 d d d        t        | j                        dk(  r|| j                  d   j                         v sJ y # 1 sw Y   CxY w)Nfoobarbasename   r   )r"   lenrecords
getMessage)caplogSETTINGSr&   s      r   )test_invalid_rc_warning_includes_filenamer-   '   se    u~HH	Hh	' 
( 1$FNN1-88::< ;:	 
(	's   AA c                  x    t        dt              5  dt        j                  v sJ 	 d d d        y # 1 sw Y   y xY w)N_test_)r"   r   r   	availabler       r   test_availabler2   1   s*    	Hn	-5??*** 
.	-	-s   09c                     dt         j                  t        <   t        dt              5  t        j                  d      5  t         j                  t           t        k(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wNgraytestmplrcParamsPARAMr"   r   r   contextVALUEr   r1   r   test_user=   6   sZ     CLL	FN	+]]6"<<&%/// # 
,	+"" 
,	+s"   A=!A1 A=1A:	6A==Bc                 v   | dz  }|j                  dd       t        dt              5  dt        j                  dk(  rdnd	z   |j                         j                         z   }t        j                  |      5  t        j                  d
   dk(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nfilezaxes.facecolor: adeader   r   r6   zfile:win32z/// zaxes.facecolorz#adeade)r   r"   r   sysplatformresolveas_posixr   r;   r8   r9   )tmp_pathpathurls      r   test_use_urlrI   =   s    fDOO,wO?	FN	+<<72%<((*+ ]]3<< 01Y>>>  	 
,	+  	 
,	+s$   AB/8B#B/#B,	(B//B8c                 X   dt         j                  t        <   | dt         z  }|j	                  t         dt
         d       t        j                  |      5  t         j                  t           t
        k(  sJ 	 d d d        t         j                  t           dk(  sJ y # 1 sw Y   &xY w)Nr5   ztext.z : r   r   )r8   r9   r:   r	   r   r<   r   r;   )rF   rG   s     r   test_single_pathrK   H   s     CLLo.//DOOugS(7O;	t	||E"e+++ 
<<&((( 
	s   !B  B)c                  J   dt         j                  t        <   t        dt              5  t        j                  d      5  t         j                  t           t        k(  sJ 	 d d d        d d d        t         j                  t           dk(  sJ y # 1 sw Y   .xY w# 1 sw Y   2xY wr4   r7   r   r1   r   test_contextrM   Q   sr     CLL	FN	+]]6"<<&%/// # 
, <<&((( #" 
,	+s"   B!B BB	BB"c                     d} d}| t         j                  t        <   t        j                  t        |i      5  t         j                  t           |k(  sJ 	 d d d        t         j                  t           | k(  sJ y # 1 sw Y   &xY w)Nr5   blue)r8   r9   r:   r   r;   original_valueother_values     r   test_context_with_dictrS   Z   sg    NK(CLL	{+	,||E"k111 
-<<.000 
-	,s   A::Bc                  Z   d} d}| t         j                  t        <   t        dt              5  t        j                  dt        |ig      5  t         j                  t           |k(  sJ 	 d d d        d d d        t         j                  t           | k(  sJ y # 1 sw Y   .xY w# 1 sw Y   2xY wNr5   rO   r6   )r8   r9   r:   r"   r   r   r;   rP   s     r   'test_context_with_dict_after_namedstylerV   c   s    NK(CLL	FN	+]]FUK$89:<<&+555 ; 
, <<.000 ;: 
,	+s#   B!
B(B!B	B!!B*c                  b   d} d}| t         j                  t        <   t        dt              5  t        j                  t        |idg      5  t         j                  t           t        k(  sJ 	 d d d        d d d        t         j                  t           | k(  sJ y # 1 sw Y   .xY w# 1 sw Y   2xY wrU   r7   rP   s     r   (test_context_with_dict_before_namedstylerX   n   s    NK(CLL	FN	+]]UK0&9:<<&%/// ; 
, <<.000 ;: 
,	+s#   B%
!B,B%B"	B%%B.c                     d} d}d}||i}| t         j                  t        <   | t         j                  |<   t        dt              5  t        j                  d|g      5  t         j                  t           t        k(  sJ t         j                  |   |k(  sJ 	 d d d        d d d        t         j                  t           | k(  sJ t         j                  |   | k(  sJ y # 1 sw Y   GxY w# 1 sw Y   KxY w)Nr5   ztext.usetexTr6   r7   )rQ   other_paramrR   ds       r   .test_context_with_union_of_dict_and_namedstyler\   y   s    NKK	k"A(CLL%0CLL	FN	+]]FA;'<<&%///<<,;;; ( 
, <<.000<<$[999	 (' 
,	+s$   C*9CC*C'	#C**C3c                     d} d}t        j                  t        |i      5  t        j                  t           |k(  sJ t        j                  t        | dd i      }t        j                  t              5  |5  	 d d d        d d d        t        j                  t           |k(  sJ 	 d d d        y # 1 sw Y   7xY w# 1 sw Y   ;xY w# 1 sw Y   y xY w)Nr5   rO   badparam)r   r;   r:   r8   r9   pytestraisesKeyError)rQ   rR   xs      r   test_context_with_badparamrc      s    NK	{+	,||E"k111MM5.*dCD]]8$  % ||E"k111 
-	,  %$ 
-	,s<   AC3B:6B.8B: $C.B73B::C	?CCequiv_styles)mpl20default)mpl15classicre   rg   )idsc                    g }| D ]M  }t        j                  |      5  |j                  t        j                  j                                d d d        O |d   }t        | dd  |dd        D ]  \  }}||k(  rJ  y # 1 sw Y   xY w)Nr   r'   )r   r;   r   r8   r9   copyzip)rd   rc_dictsstyrc_basenmrcs         r   
test_aliasrr      s    
 H]]3OOCLL--/0    qkGl12&5B"}} 6	  s   .A<<B	c                      t         j                  d   J t        j                          t         j                  d   dk(  sJ t        j
                  j                          t         j                  d   dk(  sJ y Nzpath.sketch)r'   d      )r8   r9   pltxkcdnptestingbreak_cyclesr   r1   r   test_xkcd_no_cmr|      s^    <<&...HHJ<<&+555JJ<<&+555r1   c                      t         j                  d   J t        j                         5  t         j                  d   dk(  sJ 	 d d d        t         j                  d   J y # 1 sw Y   xY wrt   )r8   r9   rw   rx   r   r1   r   test_xkcd_cmr~      sY    <<&...	||M*k999 
<<&... 
s   A""A+c                      t         j                  j                  j                  h t         j                  j
                  k  sJ y N)r8   r   coreSTYLE_BLACKLISTrcsetup_validatorsr   r1   r   test_up_to_date_blacklistr      s.    99>>))-Gs{{/F/F-GGGGr1   c                 ,   |j                  |        |j                  |        | dz  }|j                          |dz  j                  dd       |j	                  d      j                  dd       t
        j                  j                  d       t
        j                  d	   d
k(  sJ t
        j                  j                  d       t
        j                  d	   dk(  sJ t
        j                  j                  d       t
        j                  d	   dk(  sJ y )Nmpl_test_style_pkgztest_style.mplstylezlines.linewidth: 42r   r   z	.mplstylezlines.linewidth: 84zmpl_test_style_pkg.test_stylezlines.linewidth*   zmpl_test_style_pkg.mplstyleT   z./mpl_test_style_pkg.mplstyle)	syspath_prependchdirmkdirr   with_suffixr8   r   user9   )rF   monkeypatchpkg_paths      r   test_style_from_moduler      s    )h..HNN%%11 2 1%00 1 1IIMM12<<)*b000IIMM/0<<)*b000IIMM12<<)*b000r1   r   )(
contextlibr   pathlibr   tempfiler   rB   numpyry   r_   
matplotlibr8   r   rw   r   matplotlib.style.corer   r	   r:   r<   r   r"   r-   r2   r=   rI   rK   rM   rS   rV   rX   r\   rc   markparametrizerr   r|   r~   r   r   r   r1   r   <module>r      s    %  ' 
    + E 	  &<+
0?))111: 	2 ..0%w/  1	16/H1r1   