Ë
    íÍ:j„  ã                   ó\  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlmZ ej                  j                  dg d¢«      d„ «       Zej                  j                  ej                  dvd¬	«      ej                  j                  ej                  dv xr  e j                  «       d k(  d
¬	«      d„ «       «       Zd„ Zd„ Zd„ Z ed«      d„ «       Zej                  j                  ej                  dk7  d¬	«      d„ «       Zej                  j                  ej                  dk7  d¬	«      d„ «       Zy)é    N)Úpatch)Úsubprocess_run_for_testingzversion_str, version_tuple))z3.5.0)é   é   r   Úfinalr   )z3.5.0rc2)r   r   r   Ú	candidateé   )z3.5.0.dev820+g6768ef8c4c)r   r   r   Úalphaé4  )z3.5.0.post820+g6768ef8c4c)r   r   é   r
   r   c                 ó8   — t        j                  | «      |k(  sJ ‚y )N)Ú
matplotlibÚ_parse_to_version_info)Úversion_strÚversion_tuples     úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_matplotlib.pyÚtest_parse_to_version_infor      s   € ô ×,Ñ,¨[Ó9¸]ÒJÐJÑJó    )ÚlinuxÚdarwinz%chmod() doesn't work on this platform)Úreasonzchmod() doesn't work as rootc                 óŒ  — t        j                  | «      j                  }	 t        j                  | d«       t	        t
        j                  ddgi t         j                  ¥dt        | «      i¥t        j                  dd¬«      }d|j                  v sJ ‚	 t        j                  | |«       y# t        j                  | |«       w xY w)	zETest that a warning is emitted if a temporary configdir must be used.r   ú-czimport matplotlibÚMPLCONFIGDIRT)ÚenvÚstderrÚtextÚcheckzset the MPLCONFIGDIRN)ÚosÚstatÚst_modeÚchmodr   ÚsysÚ
executableÚenvironÚstrÚ
subprocessÚPIPEr   )Útmp_pathÚmodeÚprocs      r   Útest_tmpconfigdir_warningr,      s—   € ô �7‰7�8Ó×$Ñ$€Dð!Ü
�‰�˜1ÔÜ)Ü�^‰^˜TÐ#6Ð7Ø=”2—:‘:Ð=˜~¬s°8«}Ñ=Ü—?‘?¨°Tô;ˆð &¨¯©Ñ4Ð4Ñ4ä
�‰�˜4Õ øŒ�‰�˜4Õ ús   ¡A2B+ Â+Cc                 ó|   — t        t        j                  ddgi t        j                  ¥dt        | «      i¥d¬«       y )Nr   zOimport pathlib; pathlib.Path.home = lambda *args: 1/0; import matplotlib.pyplotr   T©r   r   )r   r#   r$   r   r%   r&   )r)   s    r   Útest_importable_with_no_homer/   (   s9   € ÜÜ	�‰˜ð
$ð	%ð :Œr�z‰zÐ9˜>¬3¨x«=Ñ9Àö	Gr   c                  óú   — d„ } ddl m}m} t         | d«      «      t        |j	                  |j
                  «      «      k(  sJ ‚t         | d«      «      t        |j	                  |j                  «      «      k(  sJ ‚y)zƒ
    Test that the standard backends mentioned in the docstring of
    matplotlib.use() are the same as in matplotlib.rcsetup.
    c                 ó<  — g }t         j                  j                  j                  | «      d   j                  d«      D ]V  }|j	                  «       s |S ||j                  d«      D �cg c]#  }|sŒ|j	                  «       j                  «       ‘Œ% c}z  }ŒX |S c c}w )Nr   ú
ú,)r   ÚuseÚ__doc__ÚsplitÚstripÚlower)ÚkeyÚbackendsÚlineÚes       r   Úparsez-test_use_doc_standard_backends.<locals>.parse5   s‰   € ØˆÜ—N‘N×*Ñ*×0Ñ0°Ó5°aÑ8×>Ñ>¸tÓDò 	JˆDØ—:‘:”<Øàˆð °D·J±J¸s³OÖI¨qÂq˜Ÿ™›Ÿ™Õ*ÒIÑI‰Hð	Jð ˆùò Js   Á(BÁ0 Br   )ÚBackendFilterÚbackend_registryz- interactive backends:
z- non-interactive backends:
N)Úmatplotlib.backendsr>   r?   ÚsetÚlist_builtinÚINTERACTIVEÚNON_INTERACTIVE)r=   r>   r?   s      r   Útest_use_doc_standard_backendsrE   0   s�   € ò
÷ Dä‘Ð1Ó2Ó3ÜÐ ×-Ñ-¨m×.GÑ.GÓHÓIòJð Kð Jä‘Ð5Ó6Ó7ÜÐ ×-Ñ-¨m×.KÑ.KÓLÓMòNð Oñ Nr   c                  óp   — d} t        t        j                  dd| gi t        j                  ¥ddi¥d¬«       y)	zŒ
    When using -OO or export PYTHONOPTIMIZE=2, docstrings are discarded,
    this simple test may prevent something like issue #17970.
    z‚import matplotlib as mpl; import matplotlib.pyplot as plt; import matplotlib.cbook as cbook; import matplotlib.patches as mpatchesz-OOr   Ú
MPLBACKENDÚ Tr.   N)r   r#   r$   r   r%   )Úprograms    r   Útest_importable_with__OOrJ   E   s;   € ð	0ð ô Ü	�‰˜  gÐ.Ø,Œr�z‰zÐ,˜<¨Ñ,°Dö
r   z"matplotlib.subprocess.check_outputc                 óð   — t        j                  dgd¬«      | _        t        j                  t
        j                  d¬«      5  t
        j                  j                  d«       ddd«       y# 1 sw Y   yxY w)ze
    Test that _get_executable_info raises ExecutableNotFoundError if the
    command times out.
    Úmocké   )ÚcmdÚtimeoutz	Timed out)ÚmatchÚinkscapeN)	r'   ÚTimeoutExpiredÚside_effectÚpytestÚraisesr   ÚExecutableNotFoundErrorÚ_get_executable_infoÚ__wrapped__)Úmock_check_outputs    r   Ú test_get_executable_info_timeoutrZ   V   s^   € ô %/×$=Ñ$=À6À(ÐTVÔ$WÐÔ!ä	�‰”z×9Ñ9ÀÔ	Mñ @Ü×'Ñ'×3Ñ3°JÔ?÷@÷ @ñ @ús   Á A,Á,A5Úwin32zWindows-specific testc                 óH  — | dz  }|j                  d¬«       | dz  }|j                  «        t        t        j                  ddgi t        j
                  ¥t        |«      t        |«      ddœ¥ddd¬	«      }|j                  j                  «       }|t        |d
z  «      k(  sJ ‚y)zLTest that on Windows, config/cache dir uses LOCALAPPDATA for fresh installs.úAppData/LocalT©ÚparentsÚhomer   ú4import matplotlib; print(matplotlib.get_configdir())rH   ©ÚLOCALAPPDATAÚUSERPROFILEr   ©r   Úcapture_outputr   r   r   N©	Úmkdirr   r#   r$   r   r%   r&   Ústdoutr7   )r)   ÚlocalappdataÚ	fake_homer+   Ú	configdirs        r   Ú+test_configdir_uses_localappdata_on_windowsrm   c   sª   € ð ˜oÑ-€LØ×Ñ˜tÐÔ$à˜6Ñ!€IØ‡O�OÔä%Ü	�‰˜Ø	?ð	Að@Œr�z‰zð @¬3¨|Ó+<Ü 	›N¸Bò@à $¨dô4€Dð —‘×!Ñ!Ó#€Iàœ˜L¨<Ñ7Ó8Ò8Ð8Ñ8r   c                 ól  — | dz  }|j                  d¬«       | dz  }|j                  «        |dz  }|j                  «        t        t        j                  ddgi t        j
                  ¥t        |«      t        |«      dd	œ¥ddd¬
«      }|j                  j                  «       }|t        |«      k(  sJ ‚y)z^
    Test that on Windows, config/cache dir uses %USERPROFILE% if .matplotlib
    exists.
    r]   Tr^   r`   z.matplotlibr   ra   rH   rb   re   Nrg   )r)   rj   rk   Úold_configdirr+   rl   s         r   Ú4test_configdir_uses_userprofile_on_windows_if_existsrp   x   s»   € ð ˜oÑ-€LØ×Ñ˜tÐÔ$Ø˜6Ñ!€IØ‡O�OÔØ Ñ-€MØ×ÑÔä%Ü	�‰˜Ø	?ð	Að@Œr�z‰zð @¬3¨|Ó+<Ü 	›N¸Bò@à $¨dô4€Dð —‘×!Ñ!Ó#€Iàœ˜MÓ*Ò*Ð*Ñ*r   )r   r'   r#   Úunittest.mockr   rT   r   Úmatplotlib.testingr   ÚmarkÚparametrizer   ÚskipifÚplatformÚgeteuidr,   r/   rE   rJ   rZ   rm   rp   © r   r   ú<module>ry      sP  ðÛ 	Û Û 
Ý ã ã Ý 9ð ‡�×ÑÐ5ò 8ó ñKóðKð ‡�×Ñ�C—L‘LÐ(;Ð;ØBð ó Dà‡�×Ñ�C—L‘LÐ$7Ð7ÒM¸J¸B¿J¹J»LÈAÑ<MØ9ð ó ;ñ!ó;óDð!òGòOò*
ñ" Ð+Ó,ñ	@ó -ð	@ð ‡�×Ñ�C—L‘L GÑ+Ð4KÐÓLñ9ó Mð9ð( ‡�×Ñ�C—L‘L GÑ+Ð4KÐÓLñ+ó Mñ+r   