Ë
    íÍ: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      úy/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_webagg.pyÚtest_webagg_fallbackr      s§   € ä
×Ñ˜	Ô"Ø�'ÒÜ×Ñ˜IÔ&Ü
Œr�z‰zÓ
€CÜ
‡|�|�wÒØˆˆI‰à€CˆÑð 	Ø0°°	¸Ð
<ñ	=à
-ñ	.ðØ�)Ð:ð<ñ	<ð ô ¤§¡°°iÐ@ÀcÐQUÖ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Ñ	D€BØ×ÑÐ%Ð%Ñ%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ÜÔ$<Ô=€F„NÜ7×AÑA€F‡N�NÔð × Ñ  &¨&Ð!1Ô2Ø
‡N�N×Ñ×*Ñ*Ô,ð ‡N�N×ÑÔØ
× Ñ  &¨*Ð!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Ó	I€BÜ“€B„JØ  $˜€B‡J�JÔØ�?‰?˜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   ðÛ 	Û 
Ý #ã ã .÷õ :ð ‡�×Ñ˜ X¨wÐ$7Ó8ñWó 9ðWò(&ò
-ð& ‡�×ÑÐ0ò 3ó ñ.óñ.r   