
    rbiF                        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 Zej                            dd	          d
             Zd Zej                            dd	          d             Zej                            dd	          d             Zd Zej                            dd	          d             Zd Zej                            dd	          d             ZdS )    N)Path)mock)subprocess_run_helper<   c                  0   t          j        d          } | j                                         | j                                        j        J t          j        d          } |                                  | j                                        j        J d S )N      )pltfigurecanvasdrawget_renderer	_rendererdraw_without_rendering)figs    t/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/matplotlib/tests/test_backend_macosx.py_test_cached_rendererr      s     *Q--CJOO:""$$.:::
*Q--C   :""$$.:::::    macosxT)skip_on_importerrorc                  B    t          t          t          ddi           d S N
MPLBACKENDr   timeout	extra_env)r   r   _test_timeout r   r   test_cached_rendererr      s0    /%18$<> > > > > >r   c                      t          t          j        d                   fd} t          j                    }t          j        d|           5  t          j        di          5  |j	        j
                                          d|j	                                         }t          j                            |          sJ t          j        d          dk    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NTEST_SAVEFIG_PATHc                 j    |t                    k    sJ t          j        | d           | d| S )N/test/test/)strosmakedirs)title	directoryfilenametmp_paths      r   new_choose_save_filez3_test_savefig_rcparam.<locals>.new_choose_save_file%   sI     CMM))))
y'''(((--8---r   ,matplotlib.backends._macosx.choose_save_filezsavefig.directoryr$   r#   )r   r&   environr
   r   r   patchmpl
rc_contextr   toolbarsave_figureget_default_filenamepathexistsrcParams)r,   r   	save_filer+   s      @r   _test_savefig_rcparamr9   "   s   BJ2344H. . . . . *,,C
*C)+ + 
G 
G
.-x8
9
9
G 
G 	
&&(((JJsz'F'F'H'HJJ	w~~i((((( |/0x4F4F4FFFFFF
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
Gs7   D%A9C+D+C/	/D2C/	3DD
Dc                 D    t          t          t          d| d           d S )Nr   )r   r!   r   )r   r9   r   )r+   s    r   test_savefig_rcparamr;   :   s9    }!)IIK K K K K Kr   c                  0    ddl m}   | dddd           d S )Nr   ipython_in_subprocessosxr   MacOSX))      )   r   )matplotlib.testingr>   r=   s    r   test_ipythonrE   A   s5    888888%8X!F!FGGGGGr   c                     t          j                    \  } }|                    dgg           d}t          j        |d          5  | j        j        j                                        }t          j
        d           |dk    sJ 	 d d d            n# 1 swxY w Y   t          j        |d           5  | j        j        j                                        }|J 	 d d d            d S # 1 swxY w Y   d S )Nr   r-   z
foobar.png)return_value)r
   subplotsimshowr   r/   r   managerr2   r3   r&   remove)r   axpropfnames       r   _test_save_figure_returnrO   G   sr   lnnGCIIse9D	D|	4	4	4 % %
"*6688
	,$$$$$% % % % % % % % % % % % % % % 
Dt	,	,	,  
"*6688}}}}                 s%   A BBB4(C**C.1C.c                  B    t          t          t          ddi           d S r   )r   rO   r   r   r   r   test_save_figure_returnrQ   T   s0    2M%18$<> > > > > >r   c                      d } t          j        |           }|                                 |                                 d S )Nc                     d} d}t          j        t          |           5  t          j        t          |          5  t          j                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY 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)pytestwarnsUserWarningraisesRuntimeErrorr
   gcf)warn_msgerr_msgs     r   create_figurezA_test_create_figure_on_worker_thread_fails.<locals>.create_figure[   s    PM\+X666 	 	|7;;;  			              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s4   A4AA4A 	 A4#A 	$A44A8;A8)target)	threadingThreadstartjoin)r]   workers     r   *_test_create_figure_on_worker_thread_failsrd   Z   sD       ]333F
LLNNN
KKMMMMMr   c                  B    t          t          t          ddi           d S r   )r   rd   r   r   r   r   )test_create_figure_on_worker_thread_failsrf   g   s1    2*     r   )r&   r_   pathlibr   rU   unittestr   
matplotlibr0   matplotlib.pyplotpyplotr
   rD   r   r   r   markbackendr   r9   r;   rE   rO   rQ   rd   rf   r   r   r   <module>rn      s   				                            4 4 4 4 4 4 	; 	; 	; X488> > 98>
G G G0 X488K K 98K X488H H 98H

 
 
 X488> > 98>

 
 
 X488  98  r   