
    
3jTj                     |   S SK r S SKrS SKrS SKrS SKJr  S SKJrJr  S SKJ	r
  S SKrS SKrS SKJrJr  S SKJr  S SKJr  S SKrS SKJr  S SKJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  S SK*J+r+  S	 r,S
 r-S r.S r/S r0S r1SSS0\Rd                  " S5      4SSSS.\Rd                  " S5      4SSSS.\Rd                  " S5      4SSS0\Rd                  " S5      4SSSS.\Rd                  " S5      4SSSS.\Rd                  " S5      4/r3/ SQr4\Rj                  Rm                  S\3\4S9S 5       r7S r8S r9S r:S r;S r<S  r=\Rj                  Rm                  S!\=" S"5      5      S# 5       r>\Rj                  Rm                  S$\=" S%5      5      S& 5       r?S' r@\Rj                  Rm                  S(S)S*\A4S+S,\R                  " S-5      S-4S.S/\A4S-/\A4/5      S0 5       rC\Rj                  Rm                  S1S2S3\A4S+S,\R                  " S-5      S-4S.S/\A4S-/\A4/5      S4 5       rDS5 rES6 rFS7 rG\Rj                  R                  \R                  S8:g  S9S:9S; 5       rJ\Rj                  R                  \R                  S8:g  S9S:9S< 5       rK\Rj                  R                  \R                  S8:H  =(       a    \R                  " 5       (       + S=S:9S> 5       rMS? rN\Rj                  Rm                  S@/ SAQ5      SB 5       rO\Rj                  Rm                  S@/ SCQ5      SD 5       rP\Rj                  Rm                  S@/ SEQ5      SF 5       rQ\Rj                  Rm                  S@/ SGQ5      SH 5       rR\Rj                  Rm                  S@SISJ/5      SK 5       rS\Rj                  Rm                  SLSMSNSOSPSQSRSSSTSUSVSW/4/5      SX 5       rTSY rUSZ rVS[ rWg)\    N)mock)cyclerCycler)parse)_api_c_internal_utils)rcsetup)validate_boolvalidate_colorvalidate_colorlist_validate_color_or_linecolorvalidate_cyclervalidate_floatvalidate_fontstretchvalidate_fontweightvalidate_hatchvalidate_hist_binsvalidate_intvalidate_markeveryvalidate_stringlistvalidate_sketch_validate_linestyle_listify_validator)subprocess_run_for_testingc                    [         R                  " SSS9  [         R                  " SSS9  [         R                  S   n[         R                  S   nU S	-  nUR                  S
SS9  [         R                  " SU(       + 0S9   [         R                  S   U(       + :X  d   e S S S 5        [         R                  S   U:X  d   e[         R                  " US9   [         R                  S   S:X  d   e S S S 5        [         R                  S   U:X  d   e[         R                  " USS0S9   [         R                  S   S:X  d   e S S S 5        [         R                  S   U:X  d   e[         R                  " SS05      S 5       nU" 5         U" 5         [         R
                  " U5        [         R                  S   S:X  d   eg ! , (       d  f       GN'= f! , (       d  f       N= f! , (       d  f       N= f)NtextF)usetexlines   )	linewidthtext.usetexlines.linewidthtest_rcparams.rczlines.linewidth: 33utf-8encodingrcfname!   ,   )r*   r(   c                  6    [         R                  S   S:X  d   eg )Nr"   r,   mplrcParams     X/home/wildlama/miniconda3/lib/python3.13/site-packages/matplotlib/tests/test_rcparams.pyfunctest_rcparams.<locals>.func?   s    ||-."444r2   )r/   r(   r0   
write_text
rc_contextrc_file)tmp_pathr   r    rcpathr4   s        r3   test_rcparamsr;   %   s   FF6% FF7b!\\-(F./I**F
+g> 
Mv:6	7||M*6z::: 
8<<&&000 
f	%||-."444 
&<<)*i777 
f*;R)@	A||-."444 
B<<)*i777 	^^&+,5 -5 	FF KK<<)*b0001 
8	7
 
&	%
 
B	As$   GG)G$
G
G!$
G2c                  J   [         R                  " SS/SSSS.5      n SR                  5       n[        U 5      nX!:X  d   eSR                  5       n[	        U 5      U:X  d   eS	S
/[        U R                  S5      5      :X  d   eS/[        U R                  S5      5      :X  d   eg )NzZapf Chancerycursive
sans-serifnormal   )font.cursivefont.familyzfont.weight	font.sizez
RcParams({'font.cursive': ['Zapf Chancery', 'cursive'],
          'font.family': ['sans-serif'],
          'font.size': 12.0,
          'font.weight': 'normal'})zk
font.cursive: ['Zapf Chancery', 'cursive']
font.family: ['sans-serif']
font.size: 12.0
font.weight: normalrA   rC   zi[vz]rB   family)r/   RcParamslstripreprstrsortedfind_alllist)r(   expected_repractual_reprexpected_strs       r3   test_RcParams_classrO   K   s    	'C&2&.$&( 
)B
' (.vx	  r(K''' vx	  r7l""" K(F2;;w3G,HHHH?d2;;x#89999r2   c                      [         R                  " SS05      n SS0n[        R                  " [        5         U R                  U5        S S S 5        g ! , (       d  f       g = f)Nfigure.figsize)      @*   rR   rS      )r/   rE   pytestraises
ValueErrorupdate)r(   bad_dicts     r3   test_rcparams_updater[   g   sD    	'3	4B ,/H	z	"
		( 
#	"	"s   A
A c                      [         R                  " [        5         [        R                  " SS05        S S S 5        g ! , (       d  f       g = f)NrQ   rT   )rV   rW   rX   r/   rE   r1   r2   r3   test_rcparams_initr]   o   s,    	z	"&56 
#	"	"s	   =
Ac                      SSK Jn   [        R                  " [        SS9   U " U " [        S5      S9SS5        S S S 5        g ! , (       d  f       g = f)	Nr   )r   z3 were givenmatchrgb)color      )matplotlib.rcsetupr   rV   rW   	TypeErrorrK   )ccls    r3   test_nargs_cyclerrh   t   s4    0	y	7Cd5k"Aq) 
8	7	7s   A
Ac                  H   [         R                  " 5          [        R                  " 5          [        R                  R                  5       n U  H  nX   [        R                  U'   M     S S S 5        [        R                  " 5          [
        R                  " [        R                  5        S S S 5        S S S 5        [        R                  " [        5         [        S 5        S S S 5        [        R                  " [        5         [        R                  " 5          S[        R                  S'   S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)NTzsvg.fonttype)r   'suppress_matplotlib_deprecation_warningr/   r7   r0   copydeepcopyrV   rW   rX   r
   )_copykeys     r3   test_Bug_2543ro   {   s     
	5	5	7^^LL%%'E$)JS!   ^^MM#,,'  
8 
z	"d 
#	z	"^^+/CLL(  
#	"   
8	7 
#	"  
#	"sj   E =D>)E %E+E E1FF-F>
E	E 
E	E  
E.1
E?
F	F
F!facerb   rinherit)rb   zaxes.facecolorgedge)rb   zaxes.edgecolor)zsame facecolorzinherited facecolordifferent facecolorzsame edgecolorzinherited edgecolorru   zcolor_type, param_dict, target)idsc                 d   UR                  S5      USU  S3'   SU  S3n[        R                  " U5         [        R                  " 5       u  pEUR                  [        S5      SS9  UR                  5       n[        UR                  U5      " 5       U:X  d   e S S S 5        g ! , (       d  f       g = f)Nrb   zlegend.get_rd   test)label)
popr/   r7   pltsubplotsplotrangelegendgetattrlegendPatch)
color_type
param_dicttargetget_func_axlegs          r3   test_legend_colorsr      s     /9nnW.EJE*+j\'H	
	#
a'iiks13v===	 
$	#	#s   A"B!!
B/c                      S[         R                  S'   [         R                  R                  SS/SS/5      n U R	                  5       S:X  d   eg )Nrq   zlines.markerfacecolorrU   rc   )r/   r0   r   Line2Dget_markerfacecolorlns    r3   test_mfc_rcparamsr      F    ,/CLL()			1a&1a&	)B!!#s***r2   c                      S[         R                  S'   [         R                  R                  SS/SS/5      n U R	                  5       S:X  d   eg )Nrq   zlines.markeredgecolorrU   rc   )r/   r0   r   r   get_markeredgecolorr   s    r3   test_mec_rcparamsr      r   r2   c                      S[         R                  S'   [        R                  " 5       u  pUR	                  S5      nUR                  5       S:X  d   eg )Nrq   zaxes.titlecolorTitle)r/   r0   r|   r}   	set_title	get_color)r   r   titles      r3   test_axes_titlecolor_rcparamsr      sA    &)CLL"#LLNEALL!E??###r2   c                     U S-  nUR                  SSS9  [        R                  " SSS9   [        R                  " USS	5      nS S S 5        WR                  S
5      S:X  d   eg ! , (       d  f       N&= f)Nr#   ztimezone: UTCr$   r%   zlocale.getpreferredencodingz	UTF-32-BE)return_valueTFtimezoneUTC)r6   r   patchr/   rc_params_from_fileget)r9   r:   r(   s      r3   test_Issue_1713r      sj    **F
o8	1	L$$VT59 
M66*&&& 
M	Ls   A$$
A2c                  <    S H  n U [         R                  S'   M     g )N)
pngjpegtiffrawrgbappmsgibmppbmsvgzanimation.frame_formatr.   )fmts    r3   test_animation_frame_formatsr      s    ,14-.,r2   c           !   #     #    [         / S S 5       QS S 5       Q7S SSS/ 4 5       S	.[        S
/ 4SSS/4SS/4SS/4SS/4SS/SS/4SSS/4[        SS/5      SS/4[        R                  " SS/5      SS/44	[        5       [        4S[        44S	.[        [        SS9S SSS/SS/S[        R                  " S5      4 5       S S 5       S	.[        [        SS9S SSS/SS/S[        R                  " S5      4 5       S S 5       S	.[        S[        S S!5      4S"[        S [        R                  S#   5      4[        S$S%S&/5      [        S$S%S&/5      4S'[        S S!5      [        S(/ S)Q5      -   4S*[        S S!5      [        S+/ S,Q5      -   4S-[        S S!5      [        S$S%S&/5      -  4[        S.S%S&/5      [        S$S%S&/5      4[        SS//S09[        S(SS//5      4S1S[        S S!5      -  4S2S[        S S!5      -  4S3[        S S!5      [        S+/ S,Q5      -   4S4[        S S!5      S-  4S5[        S [        S65      5      4S7[        S [        S!5      5      4S8[        S [        S95      5      44S:[        4S;[        4S<[        4S=[        4S>[        4S?[        4S@[        4SA[        4SB[        4SC[        4SD[        4SE[        4SF[        4SG[        4SH[        4SI[        4SJ[        4[        SK/ SLQ5      [        4[        S / SMQ5      [        44S	.[        SNSO[        4SP[        4SQ[        44S	.[         SR/ SSQ4/ SSQ/ SSQ4STSU/4/ SVQSWSX/4[        R                  " / SYQ5      [        R                  " / SZQ5      /[        R                  " / SYQ/ SZQ/5      4[        R                  " / SYQ/ SZQ/5      [        R                  " / SYQ/ SZQ/5      44S[[        44S	.["        S\S][        4S^[        4S_[        4S`[        4Sa[        44S	.[$        SbSc[        4Sd[        44S	.[&        SeSfSgSh/ S,Q4/ S,Q/ S,Q4[        R(                  " Si5      [        R(                  " Si5      44S[        44S	.[*        SjSkSlSmSn/ S,Q/ S,Q4[-        S5      [-        S SS 5      4[-        SSSo5      [-        SSSo5      44S,[.        4/ SpQ[.        4/ SqQ[.        4/ SrQ[.        4Ss[.        4St[.        4Su[.        4Sv[.        4Sw[.        4Sx[.        4Sy[.        4Sz[.        4S{[.        4S|[.        4Sx[.        4S[.        4[1        5       [.        44S	.[2        S}S~SSSSSSSSSSSSSS/SSS/44/ SQS/ SQ44SSS/4SSS/44SSS/4SSS/444S[        4S[        4SR5                  S5      [        4/ S,Q[        4S[        4SSS/4[        4S SS/4[        4S/ S,Q4[        4SS/S4[        44	S	.4nU H9  nUS   nU (       a  US    H  u  pEX4U4v   M     M%  US    H  u  pFX4U4v   M     M;     g 7f)Nc              3   (   #    U  H  oS 4v   M
     g7f)TNr1   .0r   s     r3   	<genexpr>/generate_validator_testcases.<locals>.<genexpr>   s      FD &'4yD   )tyyesontrue1rU   Tc              3   (   #    U  H  oS 4v   M
     g7f)FNr1   r   s     r3   r   r      s      HF '(5zFr   )fnnoofffalse0r   Fc              3   2   #    U  H  nU[         4v   M     g 7fNrX   r   s     r3   r   r      s      64a j/4   aardvarkrc   )	validatorsuccessfail za,babz
aardvark, zaardvark, ,)r   r   rU   )r   c              3   .   #    U  H  nUS S/4v   M     g7f)rU   rc   Nr1   r   s     r3   r   r      s#      :9 !Q[9   z1, 2      ?      @)rU   rc   c              3   2   #    U  H  nU[         4v   M     g 7fr   r   r   s     r3   r   r      s      a j/r   )r   r   rU   rU   rc   rd   c              3   .   #    U  H  nUS S/4v   M     g7f)r   r   Nr1   r   s     r3   r   r      s&      BA #s_Ar   z1.5, 2.5)r   r   c              3   2   #    U  H  nU[         4v   M     g 7fr   r   r   s     r3   r   r      s      NLa j/Lr   )r   r   r   r   Nzcycler("color", "rgb")rb   ra   zcycler("color", "Dark2")Dark2	linestyle---zW(cycler("color", ["r", "g", "b"]) +
                          cycler("mew", [2, 3, 5]))markeredgewidth)rc   rd      zcycler(c='rgb', lw=[1, 2, 3])r    r   z5cycler('c', 'rgb') * cycler('linestyle', ['-', '--'])lsr   )mewz2 * cycler('color', 'rgb')z2 * cycler('color', 'r' + 'gb')z"cycler(c='r' + 'gb', lw=[1, 2, 3])zcycler('color', 'rgb') * 2z6concat(cycler('color', 'rgb'), cycler('color', 'cmk'))rgbcmkzcycler('color', 'rgbcmk')[:3]zcycler('color', 'rgb')[::-1]bgr   zcycler("bleh, [])z1cycler('color', 'rgb') * * cycler('color', 'rgb')zCycler("linewidth", [1, 2, 3])z1cycler('c', [j.__class__(j) for j in ['r', 'b']])z2cycler('c', [j. __class__(j) for j in ['r', 'b']])z2cycler('c', [j.	__class__(j) for j in ['r', 'b']])z2cycler('c', [j.__class__(j) for j in ['r', 'b']])z9cycler('c', [j.__class__(j).lower() for j in ['r', 'b']])z-cycler('color', [x for x in ['r', 'g', 'b']])z1 + 2zos.system("echo Gotcha")z	import osz9def badjuju(a): return a; badjuju(cycler("color", "rgb"))zcycler("waka", [1, 2, 3])zcycler(c=[1, 2, 3])zcycler(lw=['a', 'b', 'c'])waka)rU   rd   r   )C1rq   rs   ))--|r   )\oOr   )/+*/.xr   r   r   z--_   Xzr,g,b)rq   rs   r   zr, ,rq   )r   rs   bluers   r   )rU   r   r   r   rU   r   fish)
Nonenoner   r   )AABBCCz#AABBCC)AABBCC00z	#AABBCC00)tab:bluer   )C12r   )z	(0, 1, 0))              ?r   )r   r   )z(0, 1, 0, 1))r   r   r   r   )r   rU   r   rU   r   ztab:verybluez(0, 1)z(0, 1, 0, 1, 0)z(0, 1, none)z(0, 1, "0.5")))	linecolorr   )markerfacecolorr   )mfcr   )markeredgecolorr   )mecr   linemarker)autor  )fdr  )10
   1, 2, 3   )NNrU   rU   皙?r	  )r  r  )r  r  rd   )rU   rc   333333?)r   rc   rd   )rU   rc   r   )r	  皙?r
  )r	  rc   rd   )rU   r  r
  )rU   r	  )r	  rU   abc)rU   r   )r	  r   r   )r   r	  )r   r   )solidr  )r   r   )dashedr  )-.r  )dashdotr  ):r  )dottedr  r   ) r  r   r   )DoTtEdr  )z1, 3)r   )rU   rd   gGz?i  r   g     |@)rU   rc   rd   r   )r   g       @g      @g      @s   dottedr  zutf-16r   r   r   )r
   r   iternparraysetrX   r   r   r   r   r   r/   color_sequencesrK   r   r   r   r   r   aranger   slicerf   objectr   encode)validvalidation_testsvalidator_dictr   argr   
error_types          r3   generate_validator_testcasesr#     s    #I FDF IHFHI6&2r46	 *"Xc3Z( :,/"ZL1#j\2Cj3*- 3*-C:&c
3hhSz*S#J7	 5*%j/	 );:%SzAq6%rxx'79:		 )1=B)C:Sz)288J+?ABNLN		 &.We,.0Wc&9&9'&BCE[3+6[3+687gu-/;<> 6We,vk9/MMOMgu-kC;78: TC;/[3+68!Q(.A792Aw8N4NO7VGU=S9ST:We,vk9/MMO2F7E4JQ4NONWd8n575vgtE{7ST4fWd5k6RS7@ j/&
3F3 GGHLN CJ'-z:
+N /
;(*5/<&),j9'#34jA=CA	D %5*%j/
#%	 )/%7se_'#v7xx	*BHHY,?@XXy)457hh	956XXy)457 :& 	 %
 ":.Z($j1!:."J/		& 3 :&Z(
	 )%!++iimRYYr]3 z* 
	 )!%-+AhdAt 45Aq!neAq!n5 i(	*	*	*"I.	* ),Y'Y'I&Y'y)Y'y))$	"8Y'!	: *!3!#7!#9!5z%'7)*SkAe}#56"Q(<$=>1a&kA1v;/Aq6lR!QL1 z*j)??8,j9j)$!Q=*-1a&>:.y>:.FA;
+		I]~ +";/	-i8f,,  9 $2&#9j00 $: +s   X
Xzvalidator, arg, targetTc                     U " U5      n[        U[        R                  5      (       a   [        R                  R	                  X25        g [        U[
        5      (       d  X2:X  d   eg [        U5      [        U5      :X  d   eg r   )
isinstancer  ndarraytestingassert_equalr   rK   )r   r!  r   ress       r3   test_validator_validr*    s_     C.C&"**%%


,''}} CyDL(((r2   zvalidator, arg, exception_typeFc                 t    [         R                  " U5         U " U5        S S S 5        g ! , (       d  f       g = fr   )rV   rW   )r   r!  exception_types      r3   test_validator_invalidr-    s#     
~	&# 
'	&	&s   	)
7c                      Sn [         R                  " [        U S9   [        S5        S S S 5        g ! , (       d  f       g = f)NzJ'foo' is neither a color sequence name nor can it be interpreted as a listr_   zcycler('color', 'foo'))rV   rW   rX   r   )msgs    r3   %test_validate_cycler_bad_color_stringr0    s*    
VC	z	-01 
.	-	-s   1
?zweight, parsed_weight)boldr1  BOLD)d   r3  )100r3  r3  )g4@   z20.6c                     U[         L a/  [        R                  " [         5         [        U 5        S S S 5        g [        U 5      U:X  d   eg ! , (       d  f       g = fr   )rX   rV   rW   r   )weightparsed_weights     r3   test_validate_fontweightr9    sF     
"]]:&' '& #6*m;;; '&   A
Azstretch, parsed_stretch)expandedr;  EXPANDEDc                     U[         L a/  [        R                  " [         5         [        U 5        S S S 5        g [        U 5      U:X  d   eg ! , (       d  f       g = fr   )rX   rV   rW   r   )stretchparsed_stretchs     r3   test_validate_fontstretchr@    sF     #]]:& ) '& $G,>>> '&r:  c                      [         R                   V s/ s H  n SU ;   d  M  U PM     nn U H+  n [        [         R                  U    [        5      (       a  M+   e   g s  sn f )Nkeymap)r/   r0   r%  rK   )kkey_lists     r3   test_keymapsrE     sJ    <<9<a8q=<H9#,,q/40000  :s
   
AAc                      [         R                  S   S:w  d   e[         R                  " 5          S[         R                  S'   S S S 5        [         R                  S   S:X  d   eg ! , (       d  f       N(= f)Nbackendzmodule://aardvark)r/   r0   r7   r1   r2   r3   test_no_backend_reset_rccontextrH    sX    <<	"&9999		"5Y 
<<	"&9999 
	s   A%%
A3c                     [         R                  " SS0S9   [         R                  S   SL d   e[        R                  " [
        5         [         R                  " SSS.S9    S S S 5        S S S 5        [         R                  S   SL d   e S S S 5        g ! , (       d  f       N8= f! , (       d  f       NA= f! , (       d  f       g = f)Nr!   Fr'   T)r!   z	test.blah)r/   r7   r0   rV   rW   KeyErrorr1   r2   r3   test_rcparams_reset_after_failrK    s     
M51	2||M*e333]]8$4d#KL M % ||M*e333 
3	2 ML %$ 
3	2s;   3B8
B'"B$B', B8
B$ B''
B5	1B88
Clinuxz
Linux only)reasonc                    0 [         R                  ESSS[        U 5      S.En[        R                  " [
        R                  5         [        [        R                  SS/US[
        R                  S9  S S S 5        g ! , (       d  f       g = f)Nr   DISPLAYWAYLAND_DISPLAY
MPLBACKENDMPLCONFIGDIR-cz^import matplotlib;matplotlib.use('tkagg');import matplotlib.pyplot;matplotlib.pyplot.plot(42);T)envcheckstderr)osenvironrH   rV   rW   
subprocessCalledProcessErrorr   sys
executableDEVNULL)r9   rU  s     r3   .test_backend_fallback_headless_invalid_backendr_    sq    <RZZ <RS]<C 
z44	5"^^T+ 4
(:(:	< 
6	5	5s   ,A<<
B
c                    0 [         R                  ESSS[        U 5      S.EnU S-  nUR                  S5        [	        [
        R                  SS/USSSS	9R                  nUR                  5       R                  5       S
:X  d   eg )Nr   TkAggrO  matplotlibrczbackend_fallback: truerT  zTimport matplotlib.pyplot;matplotlib.pyplot.plot(42);print(matplotlib.get_backend());TrU  r   rV  capture_outputagg)
rX  rY  rH   r6   r   r\  r]  stdoutstriplower)r9   rU  rc_pathrG  s       r3   +test_backend_fallback_headless_auto_backendrj  *  s    ARZZ AR #h-AC
 'G/0 )	
,	
 d$t= >DV  ==?  "e+++r2   headlessc                 t   [        [        R                  5      [        S5      :  a  [        [        S9nO0 n[        R
                  " S
0 UD6  0 [        R                  ES[        U 5      S.En[        [        R                  SS/USSSS9R                  nUR                  5       R                  5       S	:w  d   eg )Nz8.2.0)exc_typer   )rR  rS  rT  a)  import matplotlib as mpl; sentinel = mpl.rcsetup._auto_backend_sentinel; assert mpl.RcParams({'backend': sentinel})['backend'] == sentinel; assert mpl.rcParams._get('backend') == sentinel; assert mpl.get_backend(auto_select=False) is None; import matplotlib.pyplot; print(matplotlib.get_backend())Trc  re  )tkinter)parse_versionrV   __version__dictImportErrorimportorskiprX  rY  rH   r   r\  r]  rf  rg  rh  )r9   pytest_kwargsrU  rG  s       r3   test_backend_fallback_headfulru  @  s     V''(M',BBk2
3]3
IRZZ
Ir3x=
IC(	
+	, d$t
= >DV  ==?  "e+++r2   c                 z    [         R                  R                  [         R                  R                  5       5        g r   )r/   r0   rY   rk   )monkeypatchs    r3   test_deprecationrx  [  s!    LL))+,r2   value)bestrU   r   g?ffffff?gr|  z	(0.9, .7)c                 *    U [         R                  S'   g )N
legend.locr.   ry  s    r3   test_rcparams_legend_locr  b  s     "'CLLr2   )rz  rU   r{  r}  c                     U S-  nUR                  SU 35        [        R                  " US9   [        R                  S   U:X  d   e S S S 5        g ! , (       d  f       g = f)Nrb  zlegend.loc: r)   r  r6   r/   r7   r0   r9   ry  ri  s      r3   "test_rcparams_legend_loc_from_filer  q  sR     'GeW-.	g	&||L)U222 
'	&	&   A
A )r   r  z	(1, 2, 3)c                 ~    U [         R                  S'   [         R                  S   S:X  d   e[        U 5      S:X  d   eg )Npath.sketchr   )r/   r0   r   r  s    r3   test_validate_sketchr    s:    "'CLL<<&)3335!Y...r2   )rU   r   z1 2 3c                    [         R                  " [        SS9   [        U 5        S S S 5        [         R                  " [        SS9   U [        R
                  S'   S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nzscale, length, randomnessr_   r  )rV   rW   rX   r   r/   r0   r  s    r3   test_validate_sketch_errorr    sV    	z)D	E 
F	z)D	E&+]# 
F	E 
F	E	E	Es   A$A5$
A25
Br  z(1,2,3)c                     U S-  nUR                  SU 35        [        R                  " US9   [        R                  S   S:X  d   e S S S 5        g ! , (       d  f       g = f)Nrb  zpath.sketch: r)   r  r   r  r  s      r3   #test_rcparams_path_sketch_from_filer    sP    'Gug./	g	&||M*i777 
'	&	&r  zgroup, option, alias, value)r   r    lwrd   )r   r   r   r  )r   rb   cwhite)axes	facecolorfcblack)figure	edgecolorecmagenta)r   r   r   r   )r   antialiasedaaFfontr>   sansVerdanac                 x    X#0n[         R                  " U 40 UD6  U  SU 3n[         R                  U   U:X  d   eg )N.)r/   r(   r0   )groupoptionaliasry  	rc_kwargsrcParams_keys         r3   test_rc_aliasesr    sC     IFF5IWAfX&L<<%...r2   c                      [        S [        R                  " 5        5       5      [        [        R                  R                  5       5      :X  d   eg )Nc              3   8   #    U  H  oR                   v   M     g 7fr   )name)r   ps     r3   r   2test_all_params_defined_as_code.<locals>.<genexpr>  s     65!vv5s   )r  r	   _params_listr/   r0   keysr1   r2   r3   test_all_params_defined_as_coder    s6    6w33566#cll>O>O>Q:RRRRr2   c                      [         R                  " 5        HQ  n [         R                  " U R                  U R                  5      nU[         R
                  U R                     :X  a  MQ   e   g r   )r	   r  _convert_validator_specr  r   _validators)paramr   s     r3   test_validators_defined_as_coder    sL    %%'33EJJP	G//

;;;; (r2   c                      [         R                  " 5        HQ  n U R                  S:X  a  M  U R                  [        R
                  U R                     :X  a  MB   U R                  5       e   g )NrG  )r	   r  r  defaultr/   rcParamsDefault)r  s    r3   test_defaults_as_coder    sN    %%'::"}} 3 3EJJ ??KK?	 (r2   )Xrk   rX  rZ  r\  unittestr   r   r   packaging.versionr   ro  rV   
matplotlibr/   r   r   matplotlib.pyplotpyplotr|   matplotlib.colorscolorsmcolorsnumpyr  r	   re   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   matplotlib.testingr   r;   rO   r[   r]   rh   ro   to_rgbalegend_color_testslegend_color_test_idsmarkparametrizer   r   r   r   r   r   r#  r*  r-  r0  rX   r  r9  r@  rE  rH  rK  skipifplatformr_  rj  xdisplay_is_validru  rx  r  r  r  r  r  r  r  r  r  r1   r2   r3   <module>r     su    	  
  ! 4   .  #      " :#1L:87
*0* gs^W__S12yC8__Ssc2GOOC4HIgs^W__S12yC8__Ssc2GOOC4HI	   9;M2  4>4>++$'5g1T 15d;=)=) 95e<>>
2 0ZXXc]C Z	UJ3 << 2XXc]C Z	UJ5 ??1:	4 CLLG+LA< B<  CLLG+LA, B,* LLGI$5$G$G$I I  ,,0-  # ''  # 33 "EF/ G/ "34, 5, 9i"898 :8 6+2113-/|)5	9 	/	/S<Lr2   