
    zYHhg                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d dlm	Z
 d dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d Z+d	 Z,d
 Z-d Z.d Z/d Z0dddi ejb                  d      fdddd ejb                  d      fdddd ejb                  d      fdddi ejb                  d      fdddd ejb                  d      fdddd ejb                  d      fgZ2g dZ3ejh                  jk                  de2e3      d        Z6d Z7d Z8d Z9d Z:d Z;d Z<ejh                  jk                  d  e<d!            d"        Z=ejh                  jk                  d# e<d$            d%        Z>ejh                  jk                  d&d'd(e?fd)d* ej                  d+      d+fd,d-e?fd+ge?fg      d.        ZAejh                  jk                  d/d0d1e?fd)d* ej                  d+      d+fd,d-e?fd+ge?fg      d2        ZBd3 ZCd4 ZDd5 ZEejh                  j                  ej                  d6k7  d78      d9        ZHejh                  j                  ej                  d6k7  d78      d:        ZIejh                  j                  ej                  d6k(  xr  ej                          d;8      d<        ZKd= ZLejh                  jk                  d>g d?      d@        ZMejh                  jk                  d>g dA      dB        ZNejh                  jk                  d>g dC      dD        ZOejh                  jk                  d>g dE      dF        ZPejh                  jk                  d>dGdHg      dI        ZQy)J    N)mock)cyclerCycler)parse)_api_c_internal_utils)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                    t        j                  dd       t        j                  dd       t         j                  d   }t         j                  d   }| d	z  }|j                  d
d       t        j                  d| i      5  t         j                  d   | k(  sJ 	 d d d        t         j                  d   |k(  sJ t        j                  |      5  t         j                  d   dk(  sJ 	 d d d        t         j                  d   |k(  sJ t        j                  |ddi      5  t         j                  d   dk(  sJ 	 d d d        t         j                  d   |k(  sJ t        j                  ddi      d        } |         |        t        j
                  |       t         j                  d   dk(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)NtextF)usetexlines   )	linewidthtext.usetexlines.linewidthtest_rcparams.rczlines.linewidth: 33utf-8encodingrcfname!   ,   )r)   r'   c                  4    t         j                  d   dk(  sJ y )Nr!   r+   mplrcParams     W/var/www/html/planif/env/lib/python3.12/site-packages/matplotlib/tests/test_rcparams.pyfuncztest_rcparams.<locals>.func>   s    ||-."444r1   )r.   r'   r/   
write_text
rc_contextrc_file)tmp_pathr   r   rcpathr3   s        r2   test_rcparamsr9   $   s   FF6% FF7b!\\-(F./I**F
+g> 
Mv:6	7 ;||M*6z:::;<<&&000 
f	% 5||-."4445<<)*i777 
f*;R)@	A 5||-."4445<<)*i777 	^^&+,5 -5 	FF KK<<)*b0001; ;
5 5
5 5s$   F=G
*G=G
GGc                  >   t        j                  g ddddd      } dj                         }|t        |       k(  sJ dj                         }|t	        |       k(  sJ dd	gt        | j                  d
            k(  sJ dgt        | j                  d            k(  sJ y )N)zApple ChanceryTextilezZapf Chancerycursivez
sans-serifnormal   )font.cursivefont.familyzfont.weight	font.sizea  
RcParams({'font.cursive': ['Apple Chancery',
                           'Textile',
                           'Zapf Chancery',
                           'cursive'],
          'font.family': ['sans-serif'],
          'font.size': 12.0,
          'font.weight': 'normal'})z
font.cursive: ['Apple Chancery', 'Textile', 'Zapf Chancery', 'cursive']
font.family: ['sans-serif']
font.size: 12.0
font.weight: normalr?   rA   zi[vz]r@   family)r.   RcParamslstripreprstrsortedfind_alllist)r'   expected_reprexpected_strs      r2   test_RcParams_classrL   J   s    	 (3 '3&.$&( 
)B' (.vx  DH$$$ vx	  3r7""" K(F2;;w3G,HHHH?d2;;x#89999r1   c                      t        j                  ddi      } ddi}t        j                  t              5  | j                  |       d d d        y # 1 sw Y   y xY w)Nfigure.figsize)      @*   rO   rP      )r.   rC   pytestraises
ValueErrorupdate)r'   bad_dicts     r2   test_rcparams_updaterX   k   sM    	'3	4B ,/H	z	" 
		(  s   AAc                      t        j                  t              5  t        j                  ddi       d d d        y # 1 sw Y   y xY w)NrN   rQ   )rS   rT   rU   r.   rC   r0   r1   r2   test_rcparams_initrZ   s   s5    	z	" 7&567 7 7s	   ;Ac                      ddl m}  t        j                  t        d      5   |  | t        d            dd       d d d        y # 1 sw Y   y xY w)	Nr   )r   z3 were givenmatchrgb)color      )matplotlib.rcsetupr   rS   rT   	TypeErrorrI   )ccls    r2   test_nargs_cyclerre   x   s=    0	y	7 *Cd5k"Aq)* * *s   AAc                     t        j                         5  t        j                         5  t        j                  j                         } | D ]  }| |   t        j                  |<    	 d d d        t        j                         5  t        j                  t        j                         d d d        d d d        t        j                  t              5  t        d        d d d        t        j                  t              5  t        j                         5  dt        j                  d<   d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   BxY w# 1 sw Y   y xY w)NTzsvg.fonttype)r   'suppress_matplotlib_deprecation_warningr.   r5   r/   copydeepcopyrS   rT   rU   r	   )_copykeys     r2   test_Bug_2543rl      s&    
	5	5	7 (^^ 	/LL%%'E /$)#JS!/	/ ^^ 	(MM#,,'	(( 
z	" d	z	" 0^^ 	0+/CLL(	00 0	/ 	/	( 	(( ( 	0 	00 0sj   E<D7'E$E'EE=E3E'&E37E 	<EE	EEE$'E0	,E33E<facer_   rinherit)r_   zaxes.facecolorgedge)r_   axes.edgecolor)zsame facecolorzinherited facecolordifferent facecolorzsame edgecolorzinherited edgecolorrs   zcolor_type, param_dict, target)idsc                 \   |j                  d      |d|  d<   d|  d}t        j                  |      5  t        j                         \  }}|j                  t        d      d       |j                         } t        |j                  |             |k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr_   zlegend.get_ra   test)label)
popr.   r5   pltsubplotsplotrangelegendgetattrlegendPatch)
color_type
param_dicttargetget_func_axlegs          r2   test_legend_colorsr      s     /9nnW.EJE*+j\'H	
	# >2
a'iik1ws13v===	> > >s   A$B""B+c                      dt         j                  d<   t         j                  j                  ddgddg      } | j	                         dk(  sJ y )Nrn   zlines.markerfacecolorrR   r`   )r.   r/   r   Line2Dget_markerfacecolorlns    r2   test_mfc_rcparamsr      F    ,/CLL()			1a&1a&	)B!!#s***r1   c                      dt         j                  d<   t         j                  j                  ddgddg      } | j	                         dk(  sJ y )Nrn   zlines.markeredgecolorrR   r`   )r.   r/   r   r   get_markeredgecolorr   s    r2   test_mec_rcparamsr      r   r1   c                      dt         j                  d<   t        j                         \  } }|j	                  d      }|j                         dk(  sJ y )Nrn   zaxes.titlecolorTitle)r.   r/   rz   r{   	set_title	get_color)r   r   titles      r2   test_axes_titlecolor_rcparamsr      sC    &)CLL"#LLNEArLL!E??###r1   c                     | dz  }|j                  dd       t        j                  dd      5  t        j                  |dd	      }d d d        j                  d
      dk(  sJ y # 1 sw Y    xY w)Nr"   ztimezone: UTCr#   r$   zlocale.getpreferredencodingz	UTF-32-BE)return_valueTFtimezoneUTC)r4   r   patchr.   rc_params_from_fileget)r7   r8   r'   s      r2   test_Issue_1713r      so    **F
o8	1	L :$$VT59:66*&&&: :s   A''A0c                  8    dD ]  } | t         j                  d<    y )N)
pngjpegtiffrawrgbappmsgibmppbmsvgzanimation.frame_formatr-   )fmts    r2   test_animation_frame_formatsr      s"    , 514-.5r1   c           !   #   
  K   t         g d dD        d dD        d dddg fD        d	t        d
g fdddgfddgfddgfddgfddgddgfdddgft        ddg      ddgft        j                  ddg      ddgff	t               t        fdt        ffd	t        t        d      d dddgddgdt        j                  d      fD        d dD        d	t        t        d      d dddgddgdt        j                  d      fD        d dD        d	t        dt        d d!      ft        d"d#d$g      t        d"d#d$g      fd%t        d d!      t        d&g d'      z   fd(t        d d!      t        d)g d*      z   fd+t        d d!      t        d"d#d$g      z  ft        d,d#d$g      t        d"d#d$g      ft        dd-g.      t        d&dd-g      ffd/t        fd0t        fd1t        fd2t        fd3t        fd4t        fd5t        fd6t        fd7t        fd8t        fd9t        fd:t        fd;t        fd<t        fd=t        ft        d>g d?      t        ft        d g d@      t        ffd	t        dAdBt        fdCt        fdDt        ffd	t        dEg dFfg dFg dFfdGdHgfg dIdJdKgft        j                  g dL      t        j                  g dM      gt        j                  g dLg dMg      ft        j                  g dLg dMg      t        j                  g dLg dMg      ffdNt        ffd	t        dOdPt        fdQt        fdRt        fdSt        fdTt        ffd	t        dUdVt        fdWt        ffd	t         dXdYdZd[g d*fg d*g d*ft        j"                  d\      t        j"                  d\      ffdt        ffd	t$        d]d^d_d`dag d*g d*ft'        d      t'        d dd       ft'        dddb      t'        dddb      ffd*t(        fg dct(        fg ddt(        fg det(        fdft(        fdgt(        fdht(        fdit(        fdjt(        fdkt(        fdlt(        fdmt(        fdnt(        fdot(        fdkt(        fdt(        ft+               t(        ffd	t,        dpdqdrdsdtdudvdwdxdydzd{d|d}d~dgdd~dgffg ddg dffdddgfdddgffdddgfdddgfffdt        fdt        fdj/                  d      t        fg d*t        fd~t        fdddgft        fd ddgft        fdg d*ft        fddgdft        ff	d	f}|D ]2  }|d   }| r|d   D ]  \  }}|||f  |d   D ]  \  }}|||f  4 y w)Nc              3   $   K   | ]  }|d f 
 yw)TNr0   .0r   s     r2   	<genexpr>z/generate_validator_testcases.<locals>.<genexpr>   s      FQ4y F   )tyyesontrue1rR   Tc              3   $   K   | ]  }|d f 
 yw)FNr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s      Ha5z Hr   )fnnoofffalse0r   Fc              3   ,   K   | ]  }|t         f  y wNrU   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s      6 j/ 6   aardvarkr`   )	validatorsuccessfail za,babz
aardvark, zaardvark, ,)r   r   rR   )r   c              3   (   K   | ]
  }|d dgf  yw)rR   r`   Nr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s       : !Q[ :   z1, 2      ?      @)rR   r`   c              3   ,   K   | ]  }|t         f  y wr   r   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s       j/ r   )r   r   rR   rR   r`   ra   c              3   (   K   | ]
  }|d dgf  yw)r   r   Nr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s"      B #s_ Br   z1.5, 2.5)r   r   c              3   ,   K   | ]  }|t         f  y wr   r   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s      N j/ Nr   )r   r   r   r   Nzcycler("color", "rgb")r_   r^   	linestyle---zW(cycler("color", ["r", "g", "b"]) +
                          cycler("mew", [2, 3, 5]))markeredgewidth)r`   ra      zcycler(c='rgb', lw=[1, 2, 3])r   r   z5cycler('c', 'rgb') * cycler('linestyle', ['-', '--'])lsr   )mew   zcycler("bleh, [])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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)rR   ra   r   )C1rn   rp   ))--|r   )\oOr   )/+*/.xr   r   r   z--_   Xzr,g,b)rn   rp   r   zr, ,rn   )r   rp   bluerp   r   )rR   r   r   r   rR   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   rR   r   rR   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rR   rR   皙?r  )r  r  )r  r  ra   )rR   r`   333333?)r   r`   ra   )rR   r`   r   )r  皙?r  )r  r`   ra   )rR   r  r  )rR   r  )r  rR   abc)rR   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   )rR   ra   gGz?i  r   g     |@)rR   r`   ra   r   )r   g       @g      @g      @s   dottedr  zutf-16r   r   r   )r	   r   iternparraysetrU   r   r   r   r   r   r   r   r
   r   r   aranger   slicerc   objectr   encode)validvalidation_testsvalidator_dictr   argr   
error_types          r2   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,.[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2 j/&
33 GGHLNJ'-z:
+N /
;(*5/<&),j9'#34jA355	l %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;
+		qQf + 1";/	-i8 -Vf,,- $2&#9 1Zj0011s   UU	zvalidator, arg, targetTc                      | |      }t        |t        j                        r!t        j                  j	                  ||       y t        |t
              s||k(  sJ y t        |      t        |      k(  sJ y r   )
isinstancer  ndarraytestingassert_equalr   rI   )r   r  r   ress       r2   test_validator_validr#    s]     C.C&"**%


V,'f}} CyDL(((r1   zvalidator, arg, exception_typeFc                 h    t        j                  |      5   | |       d d d        y # 1 sw Y   y xY wr   )rS   rT   )r   r  exception_types      r2   test_validator_invalidr&    s,     
~	& #  s   	(1zweight, parsed_weight)boldr'  BOLD)d   r)  )100r)  r)  )g4@   z20.6c                     |t         u r.t        j                  t               5  t        |        d d d        y t        |       |k(  sJ y # 1 sw Y   y xY wr   )rU   rS   rT   r   )weightparsed_weights     r2   test_validate_fontweightr/    sO     
"]]:& 	('	( 	( #6*m;;;	( 	(   AAzstretch, parsed_stretch)expandedr1  EXPANDEDc                     |t         u r.t        j                  t               5  t        |        d d d        y t        |       |k(  sJ y # 1 sw Y   y xY wr   )rU   rS   rT   r   )stretchparsed_stretchs     r2   test_validate_fontstretchr6    sO     #]]:& 	* )	* 	* $G,>>>	* 	*r0  c                      t         j                  D  cg c]	  } d| v s|  }} |D ]%  } t        t         j                  |    t              r%J  y c c} w )Nkeymap)r.   r/   r  rI   )kkey_lists     r2   test_keymapsr;    sK    <<9a8q=9H9 1#,,q/40001 :s
   	AAc                      t         j                  d   dk7  sJ t        j                         5  dt         j                  d<   d d d        t         j                  d   dk(  sJ y # 1 sw Y   "xY w)Nbackendzmodule://aardvark)r.   r/   r5   r0   r1   r2   test_no_backend_reset_rccontextr>    s_    <<	"&9999		 6"5Y6<<	"&99996 6s   A""A+c                  v   t        j                  ddi      5  t         j                  d   du sJ t        j                  t
              5  t        j                  ddd      5  	 d d d        d d d        t         j                  d   du sJ 	 d d d        y # 1 sw Y   2xY w# 1 sw Y   6xY w# 1 sw Y   y xY w)Nr    Fr&   T)r    z	test.blah)r.   r5   r/   rS   rT   KeyErrorr0   r1   r2   test_rcparams_reset_after_failrA    s     
M51	2 4||M*e333]]8$ 	4d#KL 	 ||M*e3334 4 	 	4 4s;   1B/
B#$B&B#.B/B B##B,	(B//B8linuxz
Linux only)reasonc                    i t         j                  dddt        |       d}t        j                  t
        j                        5  t        t        j                  ddg|dt
        j                         d d d        y # 1 sw Y   y xY w)Nr   DISPLAYWAYLAND_DISPLAY
MPLBACKENDMPLCONFIGDIR-cz^import matplotlib;matplotlib.use('tkagg');import matplotlib.pyplot;matplotlib.pyplot.plot(42);T)envcheckstderr)osenvironrF   rS   rT   
subprocessCalledProcessErrorr   sys
executableDEVNULL)r7   rK  s     r2   .test_backend_fallback_headless_invalid_backendrU    sz    <RZZ <RS]<C 
z44	5 <"^^T+ 4
(:(:	<< < <s   /A>>Bc                    i t         j                  dddt        |       d}| dz  }|j                  d       t	        t
        j                  ddg|ddd	      j                  }|j                         j                         d
k(  sJ y )Nr   TkAggrE  matplotlibrczbackend_fallback: truerJ  zTimport matplotlib.pyplot;matplotlib.pyplot.plot(42);print(matplotlib.get_backend());TrK  r   rL  capture_outputagg)
rN  rO  rF   r4   r   rR  rS  stdoutstriplower)r7   rK  rc_pathr=  s       r2   +test_backend_fallback_headless_auto_backendr`    s    ARZZ AR #h-AC
 'G/0 )	
,	
 d$t= >DV  ==?  "e+++r1   headlessc                 z   t        t        j                        t        d      k\  rt        t              }ni }t        j
                  d
i | i t        j                  dt        |       d}t        t        j                  ddg|ddd      j                  }|j                         j                         d	k7  sJ y )Nz8.2.0)exc_typer   )rH  rI  rJ  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())TrY  r[  )tkinter)parse_versionrS   __version__dictImportErrorimportorskiprN  rO  rF   r   rR  rS  r\  r]  r^  )r7   pytest_kwargsrK  r=  s       r2   test_backend_fallback_headfulrk  2  s     V''(M',BBk2
3]3
IRZZ
Ir3x=
IC(	
+	, d$t
= >DV  ==?  "e+++r1   c                 :   | j                  t        j                  dddd d f       t        j                  t        j
                        5  t        j                  d   t        j                  d   dz  k(  sJ 	 d d d        t        j                  t        j
                        5  dt        j                  d<   d d d        t        j                  d   dk(  sJ | j                  t        j                  dd	       t        j                  t        j
                        5  t        j                  d   t        j                  d
   k(  sJ 	 d d d        t        j                  t        j
                        5  dt        j                  d<   d d d        t        j                  d
   dk7  sJ | j                  t        j                  dd       t        j                  t        j
                        5  t        j                  d   J 	 d d d        | j                  t        j                  dd       t        j                  t        j
                        5  dt        j                  d<   d d d        t        j                  d   dk(  sJ d t        j                  d<   t        j                  j                  t        j                  j                                y # 1 sw Y   YxY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   xY w# 1 sw Y   xY w)Nzpatch.linewidth0.0zaxes.linewidthc                     d| z  S Nr`   r0   )olds    r2   <lambda>z"test_deprecation.<locals>.<lambda>P  s
    a#g r1   c                     | dz  S ro  r0   )news    r2   rq  z"test_deprecation.<locals>.<lambda>P  s
    37 r1   r`   rR   zpatch.edgecolor)rm  rr   rr   z#abcdzpatch.force_edgecolor)rm  Nzsvg.hashsalt)rm  foobar)setitemr.   _deprecated_maprS   warnsMatplotlibDeprecationWarningr/   _deprecated_ignore_map_deprecated_remain_as_nonerV   rh   )monkeypatchs    r2   test_deprecationr|  M  s   .	 "57JKM 
c66	7 2||-.||,-12 	2 22 
c66	7 ,*+&',<<()Q...""$5!# 
c66	7 .||-.||,-. 	. .. 
c66	7 2*1&'2<<()W444""$; 
c66	7 =||34<<<= && 
c66	7 0'/^$0<<'8333#'CLL LL))+,?2 2, ,. .2 2= =0 0sH   -K$K*K*2K7*LLKK'*K47LLLvalue)bestrR   r   g?ffffff?gr  z	(0.9, .7)c                 *    | t         j                  d<   y )N
legend.locr-   r}  s    r2   test_rcparams_legend_locr  v  s     "'CLLr1   )r~  rR   r  r  c                     | dz  }|j                  d|        t        j                  |      5  t        j                  d   |k(  sJ 	 d d d        y # 1 sw Y   y xY w)NrX  zlegend.loc: r(   r  r4   r.   r5   r/   r7   r}  r_  s      r2   "test_rcparams_legend_loc_from_filer    s[     'GeW-.	g	& 3||L)U2223 3 3   AA)r   r   z	(1, 2, 3)c                 z    | t         j                  d<   t         j                  d   dk(  sJ t        |       dk(  sJ y )Npath.sketchr   )r.   r/   r   r  s    r2   test_validate_sketchr    s:    "'CLL<<&)3335!Y...r1   )rR   r   z1 2 3c                     t        j                  t        d      5  t        |        d d d        t        j                  t        d      5  | t        j
                  d<   d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)Nzscale, length, randomnessr\   r  )rS   rT   rU   r   r.   r/   r  s    r2   test_validate_sketch_errorr    se    	z)D	E 	z)D	E ,&+]#, , , ,s   A(A4(A14A=r   z(1,2,3)c                     | dz  }|j                  d|        t        j                  |      5  t        j                  d   dk(  sJ 	 d d d        y # 1 sw Y   y xY w)NrX  zpath.sketch: r(   r  r   r  r  s      r2   #test_rcparams_path_sketch_from_filer    sY    'Gug./	g	& 8||M*i7778 8 8r  )Rrh   rN  rP  rR  unittestr   r   r   packaging.versionr   re  rS   
matplotlibr.   r   r   matplotlib.pyplotpyplotrz   matplotlib.colorscolorsmcolorsnumpyr  rb   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   matplotlib.testingr   r9   rL   rX   rZ   re   rl   to_rgbalegend_color_testslegend_color_test_idsmarkparametrizer   r   r   r   r   r   r  r#  r&  rU   r  r/  r6  r;  r>  rA  skipifplatformrU  r`  xdisplay_is_validrk  r|  r  r  r  r  r  r0   r1   r2   <module>r     s#    	  
  ! 4   .  #     " :#1L:B7
*0* gs^_W__S12yC8W__Ssc2OGOOC4HIgs^_W__S12yC8W__Ssc2OGOOC4HI	   9;M2  4>4>++$'5[1| 15d;=)=) 95e<>>
 0ZRXXc]C Z	UJ3 << 2RXXc]C Z	UJ5 ??1:	4 CLLG+LA< B<  CLLG+LA, B,* LLGI$G$5$G$G$I I  ,,0#-R  # ''  # 33 "EF/ G/ "34, 5, 9i"898 :8r1   