
    ƯeiF                        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                   j#                  dd	      d
        Zd Zej                   j#                  dd	      d        Zej                   j#                  dd	      d        Zd Zej                   j#                  dd	      d        Zd Zej                   j#                  dd	      d        Zy)    N)Path)mock)subprocess_run_helper<   c                  D   t        j                  d      } | j                  j                          | j                  j	                         j
                  J t        j                  d      } | j                          | j                  j	                         j
                  J y )N      )pltfigurecanvasdrawget_renderer	_rendererdraw_without_rendering)figs    f/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_macosx.py_test_cached_rendererr      sv     **Q-CJJOO::""$..:::
**Q-C ::""$..:::    macosxT)skip_on_importerrorc                  4    t        t        t        ddi       y N
MPLBACKENDr   timeout	extra_env)r   r   _test_timeout r   r   test_cached_rendererr      s    /%18$<>r   c                     t        t        j                  d         fd} t        j                         }t        j                  d|       5  t        j                  di      5  |j                  j                  j                           d|j                  j                          }t        j                  j                  |      sJ t        j                  d    dk(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)NTEST_SAVEFIG_PATHc                 b    |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%   s;     CM)))
yk'(F8*--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    BJJ234H. **,C
**C)+ 
G
..-x8
9
G 	

&&(jszz'F'F'H&IJ	ww~~i((( ||/0xj4FFFF
G 
G 
G 
G 
G 
Gs%   D%B C7&D7D 	<DDc                 6    t        t        t        d| d       y )Nr   )r   r!   r   )r   r9   r   )r+   s    r   test_savefig_rcparamr;   :   s    }!)IKr   c                  (    ddl m}   | dddd       y )Nr   ipython_in_subprocessosxr   MacOSX))      )   r   )matplotlib.testingr>   r=   s    r   test_ipythonrE   A   s    8%8X!FGr   c                     t        j                         \  } }|j                  dgg       d}t        j                  |d      5  | j
                  j                  j                  j                         }t        j                  d       |dk(  sJ 	 d d d        t        j                  |d       5  | j
                  j                  j                  j                         }|J 	 d d d        y # 1 sw Y   ]xY w# 1 sw Y   y xY w)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   s    llnGCIIse9D	D|	4 %

""**668
		,$$$% 
Dt	, 

""**668}} 	% % s   AC,/3C8,C58Dc                  4    t        t        t        ddi       y r   )r   rO   r   r   r   r   test_save_figure_returnrQ   T   s    2M%18$<>r   c                  v    d } t        j                  |       }|j                          |j                          y )Nc                      d} d}t        j                  t        |       5  t        j                  t        |      5  t        j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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 	|7; 		 	 	 	s"   A.A"A."A+	'A..A7)target)	threadingThreadstartjoin)r]   workers     r   *_test_create_figure_on_worker_thread_failsrd   Z   s+     ]3F
LLN
KKMr   c                  4    t        t        t        ddi       y r   )r   rd   r   r   r   r   )test_create_figure_on_worker_thread_failsrf   g   s    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 	; X48> 9>
G0 X48K 9K X48H 9H

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

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