
    zYHhm                     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      T/var/www/html/planif/env/lib/python3.12/site-packages/matplotlib/tests/test_style.py	<genexpr>ztemp_style.<locals>.<genexpr>   s     C$!QQCr!+Cs   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-   '   sl    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   s3    	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   sl     CLL	FN	+ 0]]6" 	0<<&%///	00 0	0 	00 0s"   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   s     CLL	FN	+ 0]]6" 	0<<&%///	00 <<&(((	0 	00 0s"   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   sn    NK(CLL	{+	, 2||E"k1112<<.0002 2s   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	+ 6]]FUK$89: 	6<<&+555	66 <<.000	6 	66 6s#   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	+ 0]]UK0&9: 	0<<&%///	00 <<.000	0 	00 0s#   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	{+	, 2||E"k111MM5.*dCD]]8$ 	 	 ||E"k1112 2 	 	2 2s<   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 1]]3 	1OOCLL--/0	1 	11 qkGl12&5 B"}}		1 	1s   .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~      sa    <<&...	 :||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   