Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_webbrowser.cpython-311.opt-1.pyc
�

�Ke�*���ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ejsejd���dZ
dZGd	�d
ej��ZGd�d��ZGd
�deej��ZGd�deej��ZGd�deej��ZGd�deej��ZGd�deej��ZGd�deej��ZGd�deej��ZGd�deej��ZGd�dej��ZGd�d ej��Zed!krej��dSdS)"�N)�mock)�support)�
import_helper)�	os_helperz"test webserver requires subprocesszhttp://www.example.com�testc��eZdZd�Zdd�ZdS)�	PopenMockc��dS�Nr���selfs �>/usr/local/apps/python3/lib/python3.11/test/test_webbrowser.py�pollzPopenMock.poll����q�Nc��dSrr)r�secondss  r�waitzPopenMock.waitrr�N)�__name__�
__module__�__qualname__rrrrrr	r	s7��������������rr	c��eZdZegid�d�ZdS)�CommandTestMixin)�args�kwc��t��}tj|td|��|�t
���}t
||��|i|��tjjdd}|�	|dt
��|�
d��|D]@}	|�|	|��|�
|�|	�����A|�	||��dS)ajGiven a web browser instance method name along with arguments and
        keywords for same (which defaults to the single argument URL), creates
        a browser instance from the class pointed to by self.browser, calls the
        indicated instance method with the indicated arguments, and compares
        the resulting options and arguments passed to Popen by the browser
        instance against the 'options' and 'args' lists.  Options are compared
        in a position independent fashion, and the arguments are compared in
        sequence order to whatever is left over after removing the options.

        �Popen)�namerN)
r	r�patch�
subprocess�
browser_class�CMD_NAME�getattrr�	call_args�assertEqual�pop�assertIn�index)
r�methrr�options�	arguments�popen�browser�
popen_args�options
          r�_testzCommandTestMixin._tests��������
�d�J���7�7�7��$�$�(�$�3�3���������+��+�+�+��%�/��2�1�5�
�����A���1�1�1����q�����	5�	5�F��M�M�&�*�-�-�-��N�N�:�+�+�F�3�3�4�4�4�4�����Y�/�/�/�/�/rN)rrr�URLr2rrrrrs4������#&�%�B�0�0�0�0�0�0�0rrc�"�eZdZejZd�ZdS)�GenericBrowserCommandTestc�B�|�dgtg���dS�N�open�r,r-�r2r3r
s r�	test_openz#GenericBrowserCommandTest.test_open9�1���
�
�6��!�U�	�	$�	$�	$�	$�	$rN)rrr�
webbrowser�GenericBrowserr#r;rrrr5r55s+�������-�M�$�$�$�$�$rr5c�"�eZdZejZd�ZdS)�BackgroundBrowserCommandTestc�B�|�dgtg���dSr7r:r
s rr;z&BackgroundBrowserCommandTest.test_openCr<rN)rrrr=�BackgroundBrowserr#r;rrrr@r@?s+�������0�M�$�$�$�$�$rr@c�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�ChromeCommandTestc�B�|�dgtg���dSr7r:r
s rr;zChromeCommandTest.test_openMr<rc�`�|�dtd���gtg���dS�Nr8F��	autoraise�rr,r-�r2�dictr3r
s r�test_open_with_autoraise_falsez0ChromeCommandTest.test_open_with_autoraise_falseR�>���
�
�6�d�U�3�3�3��!�U�	�	$�	$�	$�	$�	$rc�D�|�ddgtg���dS�N�open_newz--new-windowr9r:r
s r�
test_open_newzChromeCommandTest.test_open_newW�4���
�
�:�*�+�!�U�	�	$�	$�	$�	$�	$rc�B�|�dgtg���dS�N�open_new_tabr9r:r
s r�test_open_new_tabz#ChromeCommandTest.test_open_new_tab\�1���
�
�>��!�U�	�	$�	$�	$�	$�	$rN)
rrrr=�Chromer#r;rMrRrWrrrrDrDI�X�������%�M�$�$�$�
$�$�$�
$�$�$�
$�$�$�$�$rrDc�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�MozillaCommandTestc�B�|�dgtg���dSr7r:r
s rr;zMozillaCommandTest.test_openfr<rc�`�|�dtd���gtg���dSrGrKr
s rrMz1MozillaCommandTest.test_open_with_autoraise_falsekrNrc�D�|�dgdtg���dS)NrQz-new-windowr9r:r
s rrRz MozillaCommandTest.test_open_newps4���
�
�:��+�S�1�	�	3�	3�	3�	3�	3rc�D�|�dgdtg���dS)NrVz-new-tabr9r:r
s rrWz$MozillaCommandTest.test_open_new_tabus4���
�
�>��(�#�.�	�	0�	0�	0�	0�	0rN)
rrrr=�Mozillar#r;rMrRrWrrrr\r\bsX�������&�M�$�$�$�
$�$�$�
3�3�3�
0�0�0�0�0rr\c�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�NetscapeCommandTestc�l�|�dddgd�t��g���dS)Nr8�-raise�-remote�openURL({})r9�r2�formatr3r
s rr;zNetscapeCommandTest.test_opensE���
�
�6�$�i�0�+�2�2�3�7�7�8�	�	:�	:�	:�	:�	:rc��|�dtd���ddgd�t��g���dS)Nr8FrH�-noraiserfrgrJ)r2rLrir3r
s rrMz2NetscapeCommandTest.test_open_with_autoraise_false�sR���
�
�6�d�U�3�3�3�&�	�2�+�2�2�3�7�7�8�	�	:�	:�	:�	:�	:rc�l�|�dddgd�t��g���dS)NrQrerf�openURL({},new-window)r9rhr
s rrRz!NetscapeCommandTest.test_open_new�sJ���
�
�:�$�i�0�6�=�=�c�B�B�C�	�	E�	E�	E�	E�	Erc�l�|�dddgd�t��g���dS)NrVrerf�openURL({},new-tab)r9rhr
s rrWz%NetscapeCommandTest.test_open_new_tab�sJ���
�
�>�$�i�0�3�:�:�3�?�?�@�	�	B�	B�	B�	B�	BrN)
rrrr=�Netscaper#r;rMrRrWrrrrcrc{s`�������'�M�:�:�:�
:�:�:�
E�E�E�
B�B�B�B�Brrcc�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�GaleonCommandTestc�D�|�ddgtg���dS)Nr8�-nr9r:r
s rr;zGaleonCommandTest.test_open�s3���
�
�6� �6�!�U�	�	$�	$�	$�	$�	$rc�d�|�dtd���ddgtg���dS)Nr8FrHrkrtrJrKr
s rrMz0GaleonCommandTest.test_open_with_autoraise_false�sC���
�
�6�d�U�3�3�3�&��-�!�U�	�	$�	$�	$�	$�	$rc�D�|�ddgtg���dS)NrQ�-wr9r:r
s rrRzGaleonCommandTest.test_open_new�s3���
�
�:� �6�!�U�	�	$�	$�	$�	$�	$rc�D�|�ddgtg���dS)NrVrwr9r:r
s rrWz#GaleonCommandTest.test_open_new_tab�s3���
�
�>� �6�!�U�	�	$�	$�	$�	$�	$rN)
rrrr=�Galeonr#r;rMrRrWrrrrrrr�rZrrrc�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�OperaCommandTestc�B�|�dgtg���dSr7r:r
s rr;zOperaCommandTest.test_open�r<rc�`�|�dtd���gtg���dSrGrKr
s rrMz/OperaCommandTest.test_open_with_autoraise_false�rNrc�D�|�ddgtg���dSrPr:r
s rrRzOperaCommandTest.test_open_new�rSrc�B�|�dgtg���dSrUr:r
s rrWz"OperaCommandTest.test_open_new_tab�rXrN)
rrrr=�Operar#r;rMrRrWrrrr{r{�sX�������$�M�$�$�$�
$�$�$�
$�$�$�
$�$�$�$�$rr{c�4�eZdZejZd�Zd�Zd�Zd�Z	dS)�ELinksCommandTestc�j�|�ddgd�t��g���dS�Nr8rfrgr9rhr
s rr;zELinksCommandTest.test_open�sF���
�
�6�I�;�&3�&:�&:�3�&?�&?�%@�	�	B�	B�	B�	B�	Brc�j�|�ddgd�t��g���dSr�rhr
s rrMz0ELinksCommandTest.test_open_with_autoraise_false�sB���
�
�6�%�;�+�2�2�3�7�7�8�	�	:�	:�	:�	:�	:rc�j�|�ddgd�t��g���dS)NrQrfrmr9rhr
s rrRzELinksCommandTest.test_open_new�sG���
�
�:�%�;�6�=�=�c�B�B�C�	�	E�	E�	E�	E�	Erc�j�|�ddgd�t��g���dS)NrVrfror9rhr
s rrWz#ELinksCommandTest.test_open_new_tab�sG���
�
�>�%�;�3�:�:�3�?�?�@�	�	B�	B�	B�	B�	BrN)
rrrr=�Elinksr#r;rMrRrWrrrr�r��sc�������%�M�B�B�B�:�:�:�
E�E�E�
B�B�B�B�Brr�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�BrowserRegistrationTestc�z�tj|_gt_tj|_it_dSr)r=�	_tryorder�_saved_tryorder�	_browsers�_saved_browsersr
s r�setUpzBrowserRegistrationTest.setUp�s.��)�3���!�
��)�3���!�
���rc�J�|jt_|jt_dSr)r�r=r�r�r�r
s r�tearDownz BrowserRegistrationTest.tearDown�s��#�3�
��#�3�
���rc��Gd�d��}g}i}|�tj|��|�tj|��tjd|��dg}|dg|d<|�tj|��|�tj|��|��}|�tjd|||���ntjd||��|rddg}nddg}||g|d<|�tj|��|�tj|��dS)Nc��eZdZdS)�CBrowserRegistrationTest._check_registration.<locals>.ExampleBrowserN�rrrrrr�ExampleBrowserr����������Drr��Example1�example1�example2��	preferred)r'r=r�r��register)rr�r��expected_tryorder�expected_browsers�instances      r�_check_registrationz+BrowserRegistrationTest._check_registration�s���	�	�	�	�	�	�	�	���������-�/@�A�A�A�����-�/@�A�A�A���J��7�7�7�'�L��)7��(>��*�%�����-�/@�A�A�A�����-�/@�A�A�A�!�>�#�#��� ���
�N�H�*3�
5�
5�
5�
5�
5�
��
�N�H�E�E�E��	9�!+�Z� 8���!+�Z� 8��)7��(B��*�%�����-�/@�A�A�A�����-�/@�A�A�A�A�Arc�2�|�d���dS)NFr��r�r
s r�
test_registerz%BrowserRegistrationTest.test_register	s��� � �5� �1�1�1�1�1rc�2�|�d���dS)Nr�r�r
s r�test_register_defaultz-BrowserRegistrationTest.test_register_default���� � �4� �0�0�0�0�0rc�2�|�d���dS)NTr�r�r
s r�test_register_preferredz/BrowserRegistrationTest.test_register_preferredr�rN)	rrrr�r�r�r�r�r�rrrr�r��sq������"�"�"�4�4�4�B�B�B�<2�2�2�1�1�1�1�1�1�1�1rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
ImportTestc��tjd��}|�|j��|�|j��Gd�d��}|jd|��|�|j��|�|jdd��|�|j��|�	d|j��|�|jd|dg��dS)Nr=c��eZdZdS)�0ImportTest.test_register.<locals>.ExampleBrowserNr�rrrr�r�r�rr�r����r�)
r�import_fresh_module�assertIsNoner��assertFalser�r��
assertTruer'r))rr=r�s   rr�zImportTest.test_registers��"�6�|�D�D�
����*�.�/�/�/�����-�.�.�.�	�	�	�	�	�	�	�	��
��J��7�7�7����
�,�-�-�-�����-�b�1�:�>�>�>����
�,�-�-�-��
�
�j�*�"6�7�7�7�����-�j�9�N�D�;Q�R�R�R�R�Rrc�N�tjd��}|�|j��|�|j��|�|j��5|jd��ddd��n#1swxYwY|�	|j��dS)Nr=�fakebrowser)
rr�r�r�r�r��assertRaises�Error�get�assertIsNotNone)rr=s  r�test_getzImportTest.test_get"s���"�6�|�D�D�
����*�.�/�/�/�����-�.�.�.�
�
�
�z�/�
0�
0�	*�	*��J�N�=�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*����Z�1�2�2�2�2�2s�#B�B�Bc��tjd��}tj�t
j�����}|j|d|j	|����|j
t
j��dS)Nr=)rr��os�path�basename�sys�
executable�lowerr�r>r�)rr=r s   r�test_synthesizezImportTest.test_synthesize+st��"�6�|�D�D�
��w�����/�/�5�5�7�7���
��D�$�(A�
�(A�$�(G�(G�H�H�H��
��s�~�&�&�&�&�&rc�t�tjd��}	|j��j}n9#|j$r,}|�t
|����Yd}~nd}~wwxYwtj��5}||d<tjd��}|j��ddd��dS#1swxYwYdS)Nr=�BROWSER)	rr�r�r r��skipTest�strr�EnvironmentVarGuard)rr=r/�err�envs     r�test_environmentzImportTest.test_environment1s
��"�6�|�D�D�
�	$�$�j�n�&�&�+�G�G����	$�	$�	$��M�M�#�c�(�(�#�#�#�#�#�#�#�#�����	$����
�
*�
,�
,�	��$�C�	�N�&�:�<�H�H�J��J�N����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s&�+�
A!�"A�A!�7)B-�-B1�4B1c���tjd��}	|j��|j|jd��j}n@#|jtf$r,}|�t|����Yd}~nd}~wwxYwtj
��5}||d<tjd��}|�|j��j|��ddd��n#1swxYwYtj
��5}tj
|d<tjd��}|�|j��jtj
��ddd��dS#1swxYwYdS)Nr=r�r�)rr�r�r�r r��
IndexErrorr�r�rr�r'r�r�)rr=�least_preferred_browserr�r�s     r�test_environment_preferredz%ImportTest.test_environment_preferred<s
��"�6�|�D�D�
�	$��J�N����&4�j�n�Z�5I�"�5M�&N�&N�&S�#�#��� �*�-�	$�	$�	$��M�M�#�c�(�(�#�#�#�#�#�#�#�#�����	$�����
*�
,�
,�	M��4�C�	�N�&�:�<�H�H�J����^�Z�^�-�-�2�4K�L�L�L�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�
�
*�
,�
,�	D�� �^�C�	�N�&�:�<�H�H�J����^�Z�^�-�-�2�C�N�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds=�/A�B�"A>�>B�AC'�'C+�.C+�AE(�(E,�/E,N)rrrr�r�r�r�r�rrrr�r�sg������S�S�S�3�3�3�'�'�'�	�	�	�D�D�D�D�Drr��__main__)r=�unittestr�r�r"rrr�test.supportrr�has_subprocess_support�SkipTestr3r$�	MagicMockr	r�TestCaser5r@rDr\rcrrr{r�r�r�r�mainrrr�<module>r�s����������	�	�	�	�
�
�
�
�����������������&�&�&�&�&�&�"�"�"�"�"�"��%�B�
�(�
�@�
A�
A�A���������������0�0�0�0�0�0�0�0�4$�$�$�$�$� 0�(�2C�$�$�$�$�$�$�$�$�#3�X�5F�$�$�$�$�$�$�$�$�(�(�*;�$�$�$�20�0�0�0�0�)�8�+<�0�0�0�2B�B�B�B�B�*�H�,=�B�B�B�2$�$�$�$�$�(�(�*;�$�$�$�2$�$�$�$�$�'��):�$�$�$�2B�B�B�B�B�(�(�*;�B�B�B�021�21�21�21�21�h�/�21�21�21�j9D�9D�9D�9D�9D��"�9D�9D�9D�x�Z����H�M�O�O�O�O�O��r