o
    jF                     @   s   d dl Z d dlZd dlmZ d dlZd dlmZ d dlZd dl	m
Z d dlmZ dZdd Zejjdd	d
dd Zdd Zejjdd	d
dd Zejjdd	d
dd Zdd Zejjdd	d
dd Zdd Zejjdd	d
dd ZdS )    N)Path)mock)subprocess_run_helper<   c                  C   sR   t d} | j  | j jd usJ t d} |   | j jd us'J d S )N      )pltfigurecanvasZdrawZget_rendererZ	_rendererZdraw_without_rendering)fig r   e/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/tests/test_backend_macosx.py_test_cached_renderer   s   


r   macosxT)Zskip_on_importerrorc                   C      t ttddid d S N
MPLBACKENDr   timeoutZ	extra_env)r   r   _test_timeoutr   r   r   r   test_cached_renderer      
r   c               	      s   t tjd   fdd} t }td| L td i, |j	j
    d|j	  }tj|s8J tjd   dksDJ W d    n1 sNw   Y  W d    d S W d    d S 1 sfw   Y  d S )NTEST_SAVEFIG_PATHc                    s.   |t  ksJ t| d | d| S )N/test/test/)strosmakedirs)title	directoryfilenameZtmp_pathr   r   new_choose_save_file%   s   z3_test_savefig_rcparam.<locals>.new_choose_save_file,matplotlib.backends._macosx.choose_save_filezsavefig.directoryr   r   )r   r   environr   r	   r   patchmplZ
rc_contextr
   toolbarsave_figureZget_default_filenamepathexistsZrcParams)r"   r   Z	save_filer   r!   r   _test_savefig_rcparam"   s   Pr+   c                 C   s   t ttd| dd d S )Nr   )r   r   r   )r   r+   r   r!   r   r   r   test_savefig_rcparam:   s   
r,   c                  C   s    ddl m}  | dddd d S )Nr   ipython_in_subprocessZosxr   ZMacOSX))      )   r   )matplotlib.testingr.   r-   r   r   r   test_ipythonA   s   r3   c                  C   s   t  \} }|dgg d}tj|dd | jjj }t	
d |dks)J W d    n1 s3w   Y  tj|d d | jjj }|d u sMJ W d    d S 1 sXw   Y  d S )Nr   r#   z
foobar.png)return_value)r   ZsubplotsZimshowr   r%   r
   managerr'   r(   r   remove)r   axpropfnamer   r   r   _test_save_figure_returnG   s   
"r:   c                   C   r   r   )r   r:   r   r   r   r   r   test_save_figure_returnT   r   r;   c                  C   s(   dd } t j| d}|  |  d S )Nc               	   S   s   d} d}t jt| d, t jt|d t  W d    n1 s"w   Y  W d    d S W d    d S 1 s:w   Y  d S )Nz;Matplotlib GUI outside of the main thread will likely fail.z9Cannot create a GUI FigureManager outside the main thread)match)pytestZwarnsUserWarningZraisesRuntimeErrorr   Zgcf)Zwarn_msgerr_msgr   r   r   create_figure[   s   
"zA_test_create_figure_on_worker_thread_fails.<locals>.create_figure)target)	threadingThreadstartjoin)rA   Zworkerr   r   r   *_test_create_figure_on_worker_thread_failsZ   s   rG   c                   C   r   r   )r   rG   r   r   r   r   r   )test_create_figure_on_worker_thread_failsg   s
   
rH   )r   rC   pathlibr   r=   Zunittestr   Z
matplotlibr&   Zmatplotlib.pyplotZpyplotr   r2   r   r   r   markbackendr   r+   r,   r3   r:   r;   rG   rH   r   r   r   r   <module>   s.    



