python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_webbrowser.cpython-311.opt-1.pyc

e*ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ejsejddZ
dZGd	d
ejZGddZGd
deejZGddeejZGddeejZGddeejZGddeejZGddeejZGddeejZGddeejZGddejZGdd ejZed!krejdSdS)"N)mock)support)
import_helper)	os_helperz"test webserver requires subprocesszhttp://www.example.comtestceZdZdZddZdS)	PopenMockcdSNrselfs H/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_webbrowser.pypollzPopenMock.pollqNcdSrr)rsecondss  rwaitzPopenMock.waitrrN)__name__
__module____qualname__rrrrrr	r	s7rr	ceZdZegiddZdS)CommandTestMixin)argskwct}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	rpatch
subprocess
browser_classCMD_NAMEgetattrr	call_argsassertEqualpopassertInindex)
rmethrroptions	argumentspopenbrowser
popen_argsoptions
          r_testzCommandTestMixin._tests
dJ777$$($33++++%/215
A111q	5	5FMM&*---NN:++F334444Y/////rN)rrrURLr2rrrrrs4#&%B0000000rrc"eZdZejZdZdS)GenericBrowserCommandTestcB|dgtgdSNopenr,r-r2r3r
s r	test_openz#GenericBrowserCommandTest.test_open91

6!U		$	$	$	$	$rN)rrr
webbrowserGenericBrowserr#r;rrrr5r55s+-M$$$$$rr5c"eZdZejZdZdS)BackgroundBrowserCommandTestcB|dgtgdSr7r:r
s rr;z&BackgroundBrowserCommandTest.test_openCr<rN)rrrr=BackgroundBrowserr#r;rrrr@r@?s+0M$$$$$rr@c4eZdZejZdZdZdZdZ	dS)ChromeCommandTestcB|dgtgdSr7r:r
s rr;zChromeCommandTest.test_openMr<rc`|dtdgtgdSNr8F	autoraiserr,r-r2dictr3r
s rtest_open_with_autoraise_falsez0ChromeCommandTest.test_open_with_autoraise_falseR>

6dU333!U		$	$	$	$	$rcD|ddgtgdSNopen_newz--new-windowr9r:r
s r
test_open_newzChromeCommandTest.test_open_newW4

:*+!U		$	$	$	$	$rcB|dgtgdSNopen_new_tabr9r:r
s rtest_open_new_tabz#ChromeCommandTest.test_open_new_tab\1

>!U		$	$	$	$	$rN)
rrrr=Chromer#r;rMrRrWrrrrDrDIX%M$$$
$$$
$$$
$$$$$rrDc4eZdZejZdZdZdZdZ	dS)MozillaCommandTestcB|dgtgdSr7r:r
s rr;zMozillaCommandTest.test_openfr<rc`|dtdgtgdSrGrKr
s rrMz1MozillaCommandTest.test_open_with_autoraise_falsekrNrcD|dgdtgdS)NrQz-new-windowr9r:r
s rrRz MozillaCommandTest.test_open_newps4

:+S1		3	3	3	3	3rcD|dgdtgdS)NrVz-new-tabr9r:r
s rrWz$MozillaCommandTest.test_open_new_tabus4

>(#.		0	0	0	0	0rN)
rrrr=Mozillar#r;rMrRrWrrrr\r\bsX&M$$$
$$$
333
00000rr\c4eZdZejZdZdZdZdZ	dS)NetscapeCommandTestcl|dddgdtgdS)Nr8-raise-remoteopenURL({})r9r2formatr3r
s rr;zNetscapeCommandTest.test_opensE

6$i0+223778		:	:	:	:	:rc|dtdddgdtgdS)Nr8FrH-noraiserfrgrJ)r2rLrir3r
s rrMz2NetscapeCommandTest.test_open_with_autoraise_falsesR

6dU333&	2+223778		:	:	:	:	:rcl|dddgdtgdS)NrQrerfopenURL({},new-window)r9rhr
s rrRz!NetscapeCommandTest.test_open_newsJ

:$i06==cBBC		E	E	E	E	Ercl|dddgdtgdS)NrVrerfopenURL({},new-tab)r9rhr
s rrWz%NetscapeCommandTest.test_open_new_tabsJ

>$i03::3??@		B	B	B	B	BrN)
rrrr=Netscaper#r;rMrRrWrrrrcrc{s`'M:::
:::
EEE
BBBBBrrcc4eZdZejZdZdZdZdZ	dS)GaleonCommandTestcD|ddgtgdS)Nr8-nr9r:r
s rr;zGaleonCommandTest.test_opens3

6 6!U		$	$	$	$	$rcd|dtdddgtgdS)Nr8FrHrkrtrJrKr
s rrMz0GaleonCommandTest.test_open_with_autoraise_falsesC

6dU333&-!U		$	$	$	$	$rcD|ddgtgdS)NrQ-wr9r:r
s rrRzGaleonCommandTest.test_open_news3

: 6!U		$	$	$	$	$rcD|ddgtgdS)NrVrwr9r:r
s rrWz#GaleonCommandTest.test_open_new_tabs3

> 6!U		$	$	$	$	$rN)
rrrr=Galeonr#r;rMrRrWrrrrrrrrZrrrc4eZdZejZdZdZdZdZ	dS)OperaCommandTestcB|dgtgdSr7r:r
s rr;zOperaCommandTest.test_openr<rc`|dtdgtgdSrGrKr
s rrMz/OperaCommandTest.test_open_with_autoraise_falserNrcD|ddgtgdSrPr:r
s rrRzOperaCommandTest.test_open_newrSrcB|dgtgdSrUr:r
s rrWz"OperaCommandTest.test_open_new_tabrXrN)
rrrr=Operar#r;rMrRrWrrrr{r{sX$M$$$
$$$
$$$
$$$$$rr{c4eZdZejZdZdZdZdZ	dS)ELinksCommandTestcj|ddgdtgdSNr8rfrgr9rhr
s rr;zELinksCommandTest.test_opensF

6I;&3&:&:3&?&?%@		B	B	B	B	Brcj|ddgdtgdSrrhr
s rrMz0ELinksCommandTest.test_open_with_autoraise_falsesB

6%;+223778		:	:	:	:	:rcj|ddgdtgdS)NrQrfrmr9rhr
s rrRzELinksCommandTest.test_open_newsG

:%;6==cBBC		E	E	E	E	Ercj|ddgdtgdS)NrVrfror9rhr
s rrWz#ELinksCommandTest.test_open_new_tabsG

>%;3::3??@		B	B	B	B	BrN)
rrrr=Elinksr#r;rMrRrWrrrrrsc%MBBB:::
EEE
BBBBBrrc2eZdZdZdZdZdZdZdZdS)BrowserRegistrationTestcztj|_gt_tj|_it_dSr)r=	_tryorder_saved_tryorder	_browsers_saved_browsersr
s rsetUpzBrowserRegistrationTest.setUps.)3!
)3!
rcJ|jt_|jt_dSr)rr=rrrr
s rtearDownz BrowserRegistrationTest.tearDowns#3
#3
rcGdd}g}i}|tj||tj|tjd|dg}|dg|d<|tj||tj||}|tjd|||ntjd|||rddg}nddg}||g|d<|tj||tj|dS)NceZdZdS)CBrowserRegistrationTest._check_registration.<locals>.ExampleBrowserNrrrrrrExampleBrowserrDrrExample1example1example2	preferred)r'r=rrregister)rrrexpected_tryorderexpected_browsersinstances      r_check_registrationz+BrowserRegistrationTest._check_registrations								-/@AAA-/@AAAJ777'L)7(>*%-/@AAA-/@AAA!>## 
NH*3
5
5
5
5
5

NHEEE	9!+Z 8!+Z 8)7(B*%-/@AAA-/@AAAAArc2|ddS)NFrrr
s r
test_registerz%BrowserRegistrationTest.test_register	s  5 11111rc2|ddS)Nrrr
s rtest_register_defaultz-BrowserRegistrationTest.test_register_default  4 00000rc2|ddS)NTrrr
s rtest_register_preferredz/BrowserRegistrationTest.test_register_preferredrrN)	rrrrrrrrrrrrrrsq"""444BBB<22211111111rrc,eZdZdZdZdZdZdZdS)
ImportTestctjd}||j||jGdd}|jd|||j||jdd||j|	d|j||jd|dgdS)Nr=ceZdZdS)0ImportTest.test_register.<locals>.ExampleBrowserNrrrrrrrrrrr)
rimport_fresh_moduleassertIsNonerassertFalserr
assertTruer'r))rr=rs   rrzImportTest.test_registers"6|DD
*.///-...								
J777
,----b1:>>>
,---

j*"6777-j9ND;QRRRRRrcNtjd}||j||j||j5|jddddn#1swxYwY|	|jdS)Nr=fakebrowser)
rrrrrrassertRaisesErrorgetassertIsNotNone)rr=s  rtest_getzImportTest.test_get"s"6|DD
*.///-...


z/
0
0	*	*JN=)))	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*Z122222s#BBBctjd}tjt
j}|j|d|j	||j
t
jdS)Nr=)rrospathbasenamesys
executablelowerrr>r)rr=r s   rtest_synthesizezImportTest.test_synthesize+st"6|DD
w//5577
D$(A
(A$(G(GHHH
s~&&&&&rcttjd}	|jj}n9#|j$r,}|t
|Yd}~nd}~wwxYwtj5}||d<tjd}|jddddS#1swxYwYdS)Nr=BROWSER)	rrrr rskipTeststrrEnvironmentVarGuard)rr=r/errenvs     rtest_environmentzImportTest.test_environment1s
"6|DD
	$$jn&&+GG	$	$	$MM#c((########	$

*
,
,	$C	N&:<HHJJN																		s&+
A!"AA!7)B--B14B1ctjd}	|j|j|jdj}n@#|jtf$r,}|t|Yd}~nd}~wwxYwtj
5}||d<tjd}||jj|dddn#1swxYwYtj
5}tj
|d<tjd}||jjtj
ddddS#1swxYwYdS)Nr=rr)rrrrr r
IndexErrorrrrrr'rr)rr=least_preferred_browserrrs     rtest_environment_preferredz%ImportTest.test_environment_preferred<s
"6|DD
	$JN&4jnZ5I"5M&N&N&S## *-	$	$	$MM#c((########	$
*
,
,	M4C	N&:<HHJ^Z^--24KLLL	M	M	M	M	M	M	M	M	M	M	M	M	M	M	M

*
,
,	D ^C	N&:<HHJ^Z^--2CNCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	Ds=/AB"A>>BAC''C+.C+AE((E,/E,N)rrrrrrrrrrrrrsgSSS333'''			DDDDDrr__main__)r=unittestrrr"rrrtest.supportrrhas_subprocess_supportSkipTestr3r$	MagicMockr	rTestCaser5r@rDr\rcrrr{rrrrmainrrr<module>rs				



&&&&&&""""""%B
(
@
A
AA000000004$$$$$ 0(2C$$$$$$$$#3X5F$$$$$$$$((*;$$$200000)8+<0002BBBBB*H,=BBB2$$$$$((*;$$$2$$$$$'):$$$2BBBBB((*;BBB02121212121h/212121j9D9D9D9D9D"9D9D9DxZHMOOOOOr