
    ^j@                         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mZ d dl	m
Z
 ej                  j                  dddg      d        Zd	 Zd
 Zej                  j                  dg d      d        Zy)    N)	MagicMock)FigureCanvasWebAggCoreNavigationToolbar2WebAgg)subprocess_run_for_testingbackendwebaggnbaggc                 2   t        j                  d       | dk(  rt        j                  d       t        t        j                        }t
        j                  dk7  rd|d<   | |d<   dd	|  d
z   dz   d|  dz   }t        t
        j                  d|g|d       y )Ntornador	   IPythonwin32 DISPLAY
MPLBACKENDz
import os;z$assert os.environ['MPLBACKEND'] == 'z';z!import matplotlib.pyplot as plt; z!print(plt.get_backend());assert 'z' == plt.get_backend().lower();z-cT)envcheck)	pytestimportorskipdictosenvironsysplatformr   
executable)r   r   	test_codes      o/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_webagg.pytest_webagg_fallbackr      s    
	"'I&
rzz
C
||wIC 	0	
<	=
-	.):<	<  i@cQUV    c                  h    t         j                  j                  j                  } | j                  J y )N)
matplotlibbackendsbackend_webagg_coreFigureManagerWebAgg_toolbar2_class)fms    r   test_webagg_core_no_toolbarr&   #   s+    				0	0	D	DB%%%r   c                     t               } t        |       }t        t              |_        t        j                  |j                  _        |j                  ddi       |j                  j                  j                          |j                  j                          |j                  ddi       |j                  ddi       |j                  j                  g k(  sJ y)z1Only declared toolbar items should be dispatched.)specnamehome__init__not_a_real_buttonN)
r   r   r   toolbar	toolitemshandle_toolbar_buttonr*   assert_called_once
reset_mockmethod_calls)figcanvass     r   &test_toolbar_button_dispatch_allowlistr5   (   s    
+C#C(F$<=FN7AAFNN   &&!12
NN**, NN
  &*!56
  &*=!>?>>&&",,,r   zhost, origin, allowed))localhost:8988http://localhost:8988T)r6   http://evil.comF)r6   http://127.0.0.1:8988F)r6   http://[::1]:8988F)127.0.0.1:8988r9   T)r;   r7   F)r;   r:   F)
[::1]:8988r:   T)r<   zhttp://[::2]:8988F)r<   r7   F)r<   r8   Fc                     t        j                  d       ddlm} |j                  j                  |j                        }t               |_        d| i|j                  _        |j                  |      |u sJ y)zDVerify Tornado's default check_origin rejects cross-origin requests.r   r   )WebAggApplicationHostN)
r   r   "matplotlib.backends.backend_webaggr>   	WebSocket__new__r   requestheaderscheck_origin)hostoriginallowedr>   wss        r   #test_websocket_rejects_cross_originrJ   ;   sb     	"D		$	$	,	,->-H-H	IBBJ $BJJ??6"g---r   )r   r   unittest.mockr   r   'matplotlib.backends.backend_webagg_corer    r   r   matplotlib.testingr   markparametrizer   r&   r5   rJ    r   r   <module>rQ      s    	 
 #  . : Xw$78W 9W(&
-& 0 3 ..r   