
    hm                     0   S SK Jr  S SKJr  S SKJr  S SKrS SKrS SK	r	S SK
rS SK
JrJr  S SKJrJr  SrSr\\0r\S S	 j5       rS
 rS rS rS rS rS rS rS rS rS rS r \	RB                  RE                  SSS/SS/S9S 5       r#S r$S r%S r&S r'g)!    )contextmanager)Path)TemporaryDirectoryN)pyplotstyle)USER_LIBRARY_PATHSSTYLE_EXTENSIONz
image.cmappinkc              #     #    U(       d  [         nU  S[         3n [        5        n[        X25      R	                  SR                  S UR                  5        5       5      SS9  [        R                  " U5        [        R                  " 5         Sv   SSS5        [        R                  " 5         g! , (       d  f       N$= f! [        R                  " 5         f = f7f)zAContext manager to create a style sheet in a temporary directory..
c              3   4   #    U  H  u  pU S U 3v   M     g7f)z: N ).0kvs      M/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_style.py	<genexpr>temp_style.<locals>.<genexpr>   s     C2B$!QCr!+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
C A-B1C C1
B?;C CCc                     SS0nSn[        X!5          S S S 5        [        U R                  5      S:X  a   X R                  S   R                  5       ;   d   eg ! , (       d  f       NJ= f)Nfoobarbasename   r   )r#   lenrecords
getMessage)caplogSETTINGSr'   s      r   )test_invalid_rc_warning_includes_filenamer.   '   sa    u~HH	H	' 
( 1$NN1-88::< ;:	 
(	's   A
A&c                      [        S[        5         S[        R                  ;   d   e S S S 5        g ! , (       d  f       g = f)N_test_)r#   r   r   	availabler       r   test_availabler3   1   s*    	Hn	-5??*** 
.	-	-s	   2
A c                  *   S[         R                  [        '   [        S[        5         [
        R                  " S5         [         R                  [           [        :X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fNgraytestmplrcParamsPARAMr#   r   r   contextVALUEr   r2   r   test_user>   6   sZ     CLL	FN	+]]6"<<&%/// # 
,	+"" 
,	+s"   B"A3"B3
B	=B
Bc                    U S-  nUR                  SSS9  [        S[        5         S[        R                  S:X  a  SOS	-   UR                  5       R                  5       -   n[        R                  " U5         [        R                  S
   S:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nfilezaxes.facecolor: adeader   r   r7   zfile:win32z/// zaxes.facecolorz#adeade)r   r#   r   sysplatformresolveas_posixr   r<   r9   r:   )tmp_pathpathurls      r   test_use_urlrJ   =   s    fDOO,wO?	FN	+<<72%<((*+ ]]3<< 01Y>>>  	 
,	+  	 
,	+s$   AB47B#B4#
B1	-B44
Cc                 b   S[         R                  [        '   U S[         3-  nUR	                  [         S[
         3SS9  [        R                  " U5         [         R                  [           [
        :X  d   e S S S 5        [         R                  [           S:X  d   eg ! , (       d  f       N,= f)Nr6   ztext.z : r   r   )r9   r:   r;   r	   r   r=   r   r<   )rG   rH   s     r   test_single_pathrL   H   s     CLLo.//DOOugS(7O;	t	||E"e+++ 
<<&((( 
	s   "B  
B.c                  d   S[         R                  [        '   [        S[        5         [
        R                  " S5         [         R                  [           [        :X  d   e S S S 5        S S S 5        [         R                  [           S:X  d   eg ! , (       d  f       N4= f! , (       d  f       N== fr5   r8   r   r2   r   test_contextrN   Q   sr     CLL	FN	+]]6"<<&%/// # 
, <<&((( #" 
,	+s"   B!"B"B!
B	B!!
B/c                     Sn SnU [         R                  [        '   [        R                  " [        U05         [         R                  [           U:X  d   e S S S 5        [         R                  [           U :X  d   eg ! , (       d  f       N,= f)Nr6   blue)r9   r:   r;   r   r<   original_valueother_values     r   test_context_with_dictrT   Z   sg    NK(CLL	{+	,||E"k111 
-<<.000 
-	,s   A==
Bc                  t   Sn SnU [         R                  [        '   [        S[        5         [
        R                  " S[        U0/5         [         R                  [           U:X  d   e S S S 5        S S S 5        [         R                  [           U :X  d   eg ! , (       d  f       N4= f! , (       d  f       N== fNr6   rP   r7   )r9   r:   r;   r#   r   r   r<   rQ   s     r   'test_context_with_dict_after_namedstylerW   c   s    NK(CLL	FN	+]]FUK$89:<<&+555 ; 
, <<.000 ;: 
,	+s#   B)B*B)
B&	"B))
B7c                  |   Sn SnU [         R                  [        '   [        S[        5         [
        R                  " [        U0S/5         [         R                  [           [        :X  d   e S S S 5        S S S 5        [         R                  [           U :X  d   eg ! , (       d  f       N4= f! , (       d  f       N== frV   r8   rQ   s     r   (test_context_with_dict_before_namedstylerY   n   s    NK(CLL	FN	+]]UK0&9:<<&%/// ; 
, <<.000 ;: 
,	+s#   B-"B.B-
B*	&B--
B;c                     Sn SnSnX0nU [         R                  [        '   U(       + [         R                  U'   [        S[        5         [
        R                  " SU/5         [         R                  [           [        :X  d   e[         R                  U   U:X  d   e S S S 5        S S S 5        [         R                  [           U :X  d   e[         R                  U   U(       + :X  d   eg ! , (       d  f       NR= f! , (       d  f       N[= f)Nr6   ztext.usetexTr7   r8   )rR   other_paramrS   ds       r   .test_context_with_union_of_dict_and_namedstyler]   y   s    NKK	"A(CLL%0CLL	FN	+]]FA;'<<&%///<<,;;; ( 
, <<.000<<$[999	 (' 
,	+s$   	C;";C*C;*
C8	4C;;
D	c                     Sn Sn[         R                  " [        U05         [        R                  [           U:X  d   e[         R                  " [        U SS 05      n[
        R                  " [        5         U    S S S 5        S S S 5        [        R                  [           U:X  d   e S S S 5        g ! , (       d  f       N== f! , (       d  f       NF= f! , (       d  f       g = f)Nr6   rP   badparam)r   r<   r;   r9   r:   pytestraisesKeyError)rR   rS   xs      r   test_context_with_badparamrd      s    NK	{+	,||E"k111MM5.*dCD]]8$  % ||E"k111 
-	,  %$ 
-	,s<   AC7C:B3<C%C3
C=C
C	C
C#equiv_styles)mpl20default)mpl15classicrf   rh   )idsc                 $   / nU  HO  n[         R                  " U5         UR                  [        R                  R                  5       5        S S S 5        MQ     US   n[        U SS  USS  5       H  u  pEX5:X  a  M   e   g ! , (       d  f       M  = f)Nr   r(   )r   r<   r   r9   r:   copyzip)re   rc_dictsstyrc_basenmrcs         r   
test_aliasrs      s~    
 H]]3OOCLL--/0    qkGl12&5}} 6	  s   .B  
B	c                      [         R                  S   b   e[        R                  " 5         [         R                  S   S:X  d   e[        R
                  R                  5         [         R                  S   S:X  d   eg Nzpath.sketch)r(   d      )r9   r:   pltxkcdnptestingbreak_cyclesr   r2   r   test_xkcd_no_cmr}      s^    <<&...HHJ<<&+555JJ<<&+555r2   c                      [         R                  S   b   e[        R                  " 5          [         R                  S   S:X  d   e S S S 5        [         R                  S   b   eg ! , (       d  f       N%= fru   )r9   r:   rx   ry   r   r2   r   test_xkcd_cmr      sY    <<&...	||M*k999 
<<&... 
s   A&&
A4c                      [         R                  R                  R                  1 [         R                  R
                  k::  d   eg N)r9   r   coreSTYLE_BLACKLISTrcsetup_validatorsr   r2   r   test_up_to_date_blacklistr      s.    99>>))-Gs{{/F/F-GGGGr2   c                 &   UR                  U 5        UR                  U 5        U S-  nUR                  5         US-  R                  SSS9  UR	                  S5      R                  SSS9  [
        R                  R                  S5        [
        R                  S	   S
:X  d   e[
        R                  R                  S5        [
        R                  S	   S:X  d   e[
        R                  R                  S5        [
        R                  S	   S:X  d   eg )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_suffixr9   r   user:   )rG   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0r2   r   )(
contextlibr   pathlibr   tempfiler   rC   numpyrz   r`   
matplotlibr9   r   rx   r   matplotlib.style.corer   r	   r;   r=   r   r#   r.   r3   r>   rJ   rL   rN   rT   rW   rY   r]   rd   markparametrizers   r}   r   r   r   r   r2   r   <module>r      s    %  ' 
    + E 	  &<+
0?))111: 	2 ..0%w/  1	16/H1r2   