rL ig ddlZddlZddlZddlZddlmZddlmZmZddlm Z ddl Z ddl Z ddl mZmZddlmZddlmZddlZddlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(ddl)m*Z*dZ+d Z,d Z-d Z.d Z/d Z0dddiejbdfddddejbdfddddejbdfdddiejbdfddddejbdfddddejbdfgZ2gdZ3e jhjkde2e3dZ6dZ7dZ8dZ9dZ:dZ;dZe jhjkd&d'd(e?fd)d*ejd+d+fd,d-e?fd+ge?fgd.ZAe jhjkd/d0d1e?fd)d*ejd+d+fd,d-e?fd+ge?fgd2ZBd3ZCd4ZDd5ZEe jhjejd6k7d78d9ZHe jhjejd6k7d78d:ZIe jhjejd6k(xrej d;8d<ZKd=ZLe jhjkd>gd?d@ZMe jhjkd>gdAdBZNe jhjkd>gdCdDZOe jhjkd>gdEdFZPe jhjkd>dGdHgdIZQy)JN)mock)cyclerCycler)parse)_api_c_internal_utils) validate_boolvalidate_colorvalidate_colorlist_validate_color_or_linecolorvalidate_cyclervalidate_floatvalidate_fontstretchvalidate_fontweightvalidate_hatchvalidate_hist_bins validate_intvalidate_markeveryvalidate_stringlistvalidate_sketch_validate_linestyle_listify_validator)subprocess_run_for_testingctjddtjddtjd}tjd}|d z }|jd d tjd| i 5tjd| k(sJ dddtjd|k(sJtj|5tjddk(sJ dddtjd|k(sJtj|ddi5tjddk(sJ dddtjd|k(sJtjddid}||tj |tjddk(sJy#1swYxYw#1swYxYw#1swYxYw)NtextF)usetexlines) linewidth text.usetexlines.linewidthtest_rcparams.rczlines.linewidth: 33utf-8encodingrcfname!,)r)r'c4tjddk(sJy)Nr!r+mplrcParamsd/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_rcparams.pyfuncztest_rcparams..func>s||-."444r1)r.r'r/ write_text rc_contextrc_file)tmp_pathrrrcpathr3s r2 test_rcparamsr9$sFF6% FF7b! \\- (F ./I * *F +g> Mv:6 7;||M*6z:::; << && 00 0 f %5||-."4445 <<) *i 77 7 f*;R)@ A5||-."4445 <<) *i 77 7 ^^&+,5-5 FFKK <<) *b 00 01;; 55 55s$F=G *G=G GGc>tjgddddd}dj}|t|k(sJdj}|t |k(sJdd gt |j d k(sJd gt|j d k(sJy) N)zApple ChanceryTextilez Zapf Chancerycursivez sans-serifnormal ) 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?rAzi[vz]r@family)r.RcParamslstripreprstrsortedfind_alllist)r' expected_repr expected_strs r2test_RcParams_classrLJs (3'3&.$& ( )B'(.vx DH $$ $vx  3r7 "" " K (F2;;w3G,H HH H ?d2;;x#89 99 9r1ctjddi}ddi}tjt5|j |dddy#1swYyxYw)Nfigure.figsize) @*rOrP)r.rCpytestraises ValueErrorupdate)r'bad_dicts r2test_rcparams_updaterXksM '3 4B ,/H z " (s AActjt5tjddidddy#1swYyxYw)NrNrQ)rSrTrUr.rCr0r1r2test_rcparams_initrZss5 z "7 & 56777s ;Acddlm}tjtd5||t ddddddy#1swYyxYw) Nr)rz 3 were givenmatchrgb)color)matplotlib.rcsetuprrSrT TypeErrorrI)ccls r2test_nargs_cyclerrexs=0 y 7* Cd5k "Aq)***s AActj5tj5tjj }|D]}||tj|< dddtj5t j tjddddddtjt5tddddtjt5tj5dtjd<ddddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYBxYw#1swYyxYw)NTz svg.fonttype) r'suppress_matplotlib_deprecation_warningr.r5r/copydeepcopyrSrTrUr )_copykeys r2 test_Bug_2543rls&  5 5 7( ^^  /LL%%'E /$)#J S! / /^^  ( MM#,, ' ( ( z "d z "0 ^^  0+/CLL ( 000 / / ( ( (( 0 000sjE 2 a'iik1ws13v=== >>>s A$B""B+cdtjd<tjjddgddg}|j dk(sJy)Nrnzlines.markerfacecolorrRr`)r.r/rLine2Dget_markerfacecolorlns r2test_mfc_rcparamsrF,/CLL()   1a&1a& )B ! ! #s ** *r1cdtjd<tjjddgddg}|j dk(sJy)Nrnzlines.markeredgecolorrRr`)r.r/rrget_markeredgecolorrs r2test_mec_rcparamsrrr1cdtjd<tj\}}|j d}|j dk(sJy)Nrnzaxes.titlecolorTitle)r.r/rzr{ set_title get_color)rrtitles r2test_axes_titlecolor_rcparamsrsC&)CLL"# LLNEAr LL !E ??  ## #r1c|dz }|jddtjdd5tj|dd }dddj d d k(sJy#1swY xYw) Nr"z timezone: UTCr#r$zlocale.getpreferredencodingz UTF-32-BE) return_valueTFtimezoneUTC)r4rpatchr.rc_params_from_fileget)r7r8r's r2test_Issue_1713rso * *F o8 1 L:  $ $VT5 9: 66*  && &::s A''A0c8dD]}|tjd<y)N) pngjpegtiffrawrgbappmsgibmppbmsvgzanimation.frame_formatr-)fmts r2test_animation_frame_formatsrs",514 -.5r1c!# KtgddDddDddddgfDd td gfd d d gfddgfddgfddgfd d gd d gfdd d gftd d gd d gftjd d gd d gff t t fdt ffd ttdddddgddgdtjdfDddDd ttdddddgddgdtjdfDddDd tdtd d!ftd"d#d$gtd"d#d$gfd%td d!td&gd'zfd(td d!td)gd*zfd+td d!td"d#d$gzftd,d#d$gtd"d#d$gftdd-g.td&dd-gffd/t fd0t fd1t fd2t fd3t fd4t fd5t fd6t fd7t fd8t fd9t fd:t fd;t fdgd?t ftd gd@t ffd tdAdBt fdCt fdDt ffd tdEgdFfgdFgdFfdGdHgfgdIdJdKgftjgdLtjgdMgtjgdLgdMgftjgdLgdMgtjgdLgdMgffdNt ffd tdOdPt fdQt fdRt fdSt fdTt ffd tdUdVt fdWt ffd t dXdYdZd[gd*fgd*gd*ftj"d\tj"d\ffdt ffd t$d]d^d_d`dagd*gd*ft'dt'dddft'dddbt'dddbffd*t(fgdct(fgddt(fgdet(fdft(fdgt(fdht(fdit(fdjt(fdkt(fdlt(fdmt(fdnt(fdot(fdkt(fd t(ft+t(ffd t,dpdqdrdsdtdudvdwdxdydzd{d|d}d~dgdd~dgffgddgdffdddgfdddgffdddgfdddgfffdt fdt fdj/dt fgd*t fd~t fd ddgft fdddgft fdgd*ft fddgdft ff d f }|D]2}|d}|r|dD] \}}|||f|dD] \}}|||f4yw)Nc3$K|]}|df yw)TNr0.0rs r2 z/generate_validator_testcases..sFQ4yF)tyyesontrue1rRTc3$K|]}|df yw)FNr0rs r2rz/generate_validator_testcases..sHa5zHr)fnnoofffalse0rFc3,K|] }|tfywNrUrs r2rz/generate_validator_testcases..s6j/6aardvarkr`) validatorsuccessfailza,babz aardvark, z aardvark, ,)rrrR)rc3(K|] }|ddgf yw)rRr`Nr0rs r2rz/generate_validator_testcases..s :!Q[:z1, 2?@)rRr`c3,K|] }|tfywrrrs r2rz/generate_validator_testcases..sj/r)rrrRrRr`rac3(K|] }|ddgf yw)rrNr0rs r2rz/generate_validator_testcases..s"B#s_Brz1.5, 2.5)rrc3,K|] }|tfywrrrs r2rz/generate_validator_testcases..sNj/Nr)rrrrNzcycler("color", "rgb")r_r^ linestyle---zW(cycler("color", ["r", "g", "b"]) + cycler("mew", [2, 3, 5]))markeredgewidth)r`razcycler(c='rgb', lw=[1, 2, 3])rrz5cycler('c', 'rgb') * cycler('linestyle', ['-', '--'])lsr)mewzcycler("bleh, [])zCycler("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']])z1 + 2zos.system("echo Gotcha")z import osz9def badjuju(a): return a; badjuju(cycler("color", "rgb"))zcycler("waka", [1, 2, 3])zcycler(c=[1, 2, 3])zcycler(lw=['a', 'b', 'c'])waka)rRrar)C1rnrp))--|r)\oOr)/+*/.xrrrz--_Xzr,g,b)rnrprzr, ,rn)rrpbluerpr)rRrrrrRrfish) Nonenonerr)AABBCCz#AABBCC)AABBCC00z #AABBCC00)tab:bluer)C12r)z (0, 1, 0))?r)rr)z (0, 1, 0, 1))rrrr)rrRrrRrz tab:verybluez(0, 1)z(0, 1, 0, 1, 0)z (0, 1, none)z (0, 1, "0.5"))) linecolorr)markerfacecolorr)mfcr)markeredgecolorr)mecrlinemarker)autor)fdr)10 1, 2, 3)NNrRrR皙?r)rr)rrra)rRr`333333?)rr`ra)rRr`r)r皙?r)rr`ra)rRrr)rRr)rrRabc)rRr)rrr)rr)rr)solidr)rr)dashedr)-.r )dashdotr ):r )dottedr r) r rr)DoTtEdr )z1, 3)r)rRragGz?irg|@)rRr`rar)rg@g@g@sdottedr zutf-16rrr)r riternparraysetrUrrrr rrr r r rarangerslicercobjectrencode)validvalidation_testsvalidator_dictrargr error_types r2generate_validator_testcasesrs#IFDFIHFHI6&2r46  *"Xc3Z( :,/"ZL1#j\2Cj3*- 3*-C:&c 3hhSz*S#J7 5*%j/ );:%SzAq6%rxx'79:  )1=B)C:Sz)288J+?ABNLN  &.We,.[3+6[3+687gu-/;<>6We,vk9/MMOMgu-kC;78:TC;/[3+68!Q(.A792j/& 33GGHLNJ'-z: +N/ ;(*5/<&),j9'#34jA355 l%5*%j/ #% )/%7se_'#v7xx *BHHY,?@XXy)457hh 956XXy)457 :& % ":.Z($j1!:."J/  &3 :&Z( )%!++iimRYYr]3 z* )!%-+AhdAt 45Aq!neAq!n5i( * * *"I. * ),Y'Y'I&Y'y)Y'y))$ "8Y'! :*!3!#7!#9!5z%'7)*SkAe}#56"Q(<$=>1a&kA1v;/Aq6lR!QL1 z*j)??8,j9j)$!Q=*-1a&>:.y>:.FA; +  qQf+1";/ -i8 - Vf,, -$2  1Zj00 1 1sUU zvalidator, arg, targetTc||}t|tjr!tjj ||yt|t s||k(sJyt |t |k(sJyr) isinstancerndarraytesting assert_equalrrI)rrrress r2test_validator_validr#s] C.C&"**% V,  'f}}CyDL(((r1zvalidator, arg, exception_typeFchtj|5||dddy#1swYyxYwr)rSrT)rrexception_types r2test_validator_invalidr&s, ~ &#s (1zweight, parsed_weight)boldr'BOLD)dr))100r)r))g4@z20.6c|tur.tjt5t|dddyt||k(sJy#1swYyxYwr)rUrSrTr)weight parsed_weights r2test_validate_fontweightr/sO " ]]: & (  ' ( (#6*m;;; ( ( AAzstretch, parsed_stretch)expandedr1EXPANDEDc|tur.tjt5t|dddyt||k(sJy#1swYyxYwr)rUrSrTr)stretchparsed_stretchs r2test_validate_fontstretchr6sO# ]]: & *  ) * *$G,>>> * *r0ctjDcgc] }d|vs| }}|D]%}ttj|tr%Jycc}w)Nkeymap)r.r/rrI)kkey_lists r2 test_keymapsr;sK<<9a8q=9H9 1#,,q/40001:s AActjddk7sJtj5dtjd<dddtjddk(sJy#1swY"xYw)Nbackendzmodule://aardvark)r.r/r5r0r1r2test_no_backend_reset_rccontextr>s_ << "&9 99 9  6"5 Y6 << "&9 99 966s A""A+cvtjddi5tjddusJtjt 5tjddd5 ddddddtjddusJ dddy#1swY2xYw#1swY6xYw#1swYyxYw)Nr Fr&T)r z test.blah)r.r5r/rSrTKeyErrorr0r1r2test_rcparams_reset_after_failrAs M51 24||M*e333 ]]8 $ 4d#KL   ||M*e333 44    44s;1B/ B#$B&B#.B/B B##B, (B//B8linuxz Linux only)reasoncitjdddt|d}tjt j 5ttjddg|dt jdddy#1swYyxYw)NrDISPLAYWAYLAND_DISPLAY MPLBACKEND MPLCONFIGDIR-cz^import matplotlib;matplotlib.use('tkagg');import matplotlib.pyplot;matplotlib.pyplot.plot(42);T)envcheckstderr) osenvironrFrSrT subprocessCalledProcessErrorrsys executableDEVNULL)r7rKs r2.test_backend_fallback_headless_invalid_backendrU sz >Bcitjdddt|d}|dz }|jdt t j ddg|ddd j}|jjd k(sJy) NrTkAggrE matplotlibrczbackend_fallback: truerJzTimport matplotlib.pyplot;matplotlib.pyplot.plot(42);print(matplotlib.get_backend());TrKrrLcapture_outputagg) rNrOrFr4rrRrSstdoutstriplower)r7rKrc_pathr=s r2+test_backend_fallback_headless_auto_backendr`s ARZZ AR #h- AC 'G /0)  , d$t = >DV   ==? "e ++ +r1headlessczttjtdk\rtt}ni}tj d i|it jdt|d}ttjddg|dddj}|jjd k7sJy) Nz8.2.0)exc_typer)rHrIrJa)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())TrYr[)tkinter) parse_versionrS __version__dict ImportError importorskiprNrOrFrrRrSr\r]r^)r7 pytest_kwargsrKr=s r2test_backend_fallback_headfulrk2sV''(M',BBk2   3]3 IRZZ Ir3x= IC(  + , d$t =>DV  ==? "e ++ +r1c:|jtjdddddftjtj 5tj dtj ddz k(sJ dddtjtj 5dtj d<dddtj ddk(sJ|jtjdd tjtj 5tj dtj d k(sJ dddtjtj 5d tj d<dddtj d d k7sJ|jtjd d tjtj 5tj d J ddd|jtjddtjtj 5dtj d<dddtj ddk(sJdtj d<tj jtj jy#1swYYxYw#1swY'xYw#1swYxYw#1swYsxYw#1swYxYw#1swYxYw)Nzpatch.linewidth0.0zaxes.linewidthc d|zSNr`r0)olds r2z"test_deprecation..Ps a#gr1c |dz Sror0)news r2rqz"test_deprecation..Ps 37r1r`rRzpatch.edgecolor)rmrrrrz#abcdzpatch.force_edgecolor)rmNz svg.hashsalt)rmfoobar) setitemr._deprecated_maprSwarnsMatplotlibDeprecationWarningr/_deprecated_ignore_map_deprecated_remain_as_nonerVrh) monkeypatchs r2test_deprecationr|Ms .  "57JKM c66 72||-.||,-12 222 c66 7,*+ &', <<( )Q .. . ""$5!# c66 7.||-.||,-. ... c66 72*1 &'2 <<( )W 44 4 ""$; c66 7=||34<<<= && c66 70'/ ^$0 << '8 33 3#'CLL LL ))+,?22,,..22== 00sH -K$K*K*2K7*L LKK'*K47LLLvalue)bestrRrg?ffffff?grz (0.9, .7)c*|tjd<y)N legend.locr-r}s r2test_rcparams_legend_locrvs"'CLLr1)r~rRrrc|dz }|jd|tj|5tjd|k(sJ dddy#1swYyxYw)NrXz legend.loc: r(rr4r.r5r/r7r}r_s r2"test_rcparams_legend_loc_from_filers['G eW-. g &3||L)U222333 AA)rrz (1, 2, 3)cz|tjd<tjddk(sJt|dk(sJy)N path.sketchr)r.r/rrs r2test_validate_sketchrs:"'CLL << &) 33 3 5 !Y .. .r1)rRrz1 2 3ctjtd5t|dddtjtd5|tj d<dddy#1swYAxYw#1swYyxYw)Nzscale, length, randomnessr\r)rSrTrUrr.r/rs r2test_validate_sketch_errorrse z)D E z)D E,&+ ]#,,,,s A( A4(A14A=rz(1,2,3)c|dz }|jd|tj|5tjddk(sJ dddy#1swYyxYw)NrXz path.sketch: r(rrrrs r2#test_rcparams_path_sketch_from_filersY'G ug./ g &8||M*i777888r)RrhrNrPrRunittestrrrpackaging.versionrrerS matplotlibr.rrmatplotlib.pyplotpyplotrzmatplotlib.colorscolorsmcolorsnumpyrrbr r r r r rrrrrrrrrrrmatplotlib.testingrr9rLrXrZrerlto_rgbalegend_color_testslegend_color_test_idsmark parametrizerrrrrrrr#r&rUrr/r6r;r>rAskipifplatformrUr`xdisplay_is_validrkr|rrrrrr0r1r2rs#  !4 .#":#1L:B7 *0* gs^_W__S12 yC 8W__S sc 2OGOOC4HI gs^_W__S12 yC 8W__S sc 2OGOOC4HI 9;M24>4>+ + $'5[1|15d;=)=)95e<>> 0 Z RXXc]C Z UJ 3 < <2 RXXc]C Z UJ 5 ? ?1 : 4CLLG+LA <B < CLLG+LA,B,*LLGI$G$5$G$G$I I ,,0#-R#''# 3  3"EF/G/ "34,5,9i"898:8r1