python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_webbrowser.cpython-312.opt-2.pyc

Αe)ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ejsejddZ
dZGd	d
ejZGddZGd
deej$ZGddeej$ZGddeej$ZGddeej$ZGddeej$ZGddeej$ZGddeej$ZGddeej$ZGddej$ZGdd ej$Zed!k(rej<yy)"N)mock)support)
import_helper)	os_helperz"test webserver requires subprocesszhttps://www.example.comtestceZdZdZddZy)	PopenMockcyNrselfs H/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_webbrowser.pypollzPopenMock.pollNcyrr)rsecondss  rwaitzPopenMock.waitrrN)__name__
__module____qualname__rrrrrr	r	srr	ceZdZegiddZy)CommandTestMixin)argskwc	t}tj|td||j	t
}t
|||i|tjjdd}|j|dt
|jd|D]4}	|j|	||j|j|	6|j||y)NPopen)namer)
r	rpatch
subprocess
browser_classCMD_NAMEgetattrr	call_argsassertEqualpopassertInindex)
rmethrroptions	argumentspopenbrowser
popen_argsoptions
          r_testzCommandTestMixin._tests		

dJ7$$($3++%%//215
A1q	5FMM&*-NN:++F34	5	
Y/rN)rrrURLr2rrrrrs#&%B0rrc*eZdZejZdZy)GenericBrowserCommandTestc6|jdgtgyNopenr,r-r2r3r
s r	test_openz#GenericBrowserCommandTest.test_open9

6!U		$rN)rrr
webbrowserGenericBrowserr#r;rrrr5r55s--M$rr5c*eZdZejZdZy)BackgroundBrowserCommandTestc6|jdgtgyr7r:r
s rr;z&BackgroundBrowserCommandTest.test_openCr<rN)rrrr=BackgroundBrowserr#r;rrrr@r@?s00M$rr@c<eZdZejZdZdZdZdZ	y)ChromeCommandTestc6|jdgtgyr7r:r
s rr;zChromeCommandTest.test_openMr<rcL|jdtdgtgyNr8F	autoraiserr,r-r2dictr3r
s rtest_open_with_autoraise_falsez0ChromeCommandTest.test_open_with_autoraise_falseR$

6dU3!U		$rc8|jddgtgyNopen_newz--new-windowr9r:r
s r
test_open_newzChromeCommandTest.test_open_newW 

:*+!U		$rc6|jdgtgyNopen_new_tabr9r:r
s rtest_open_new_tabz#ChromeCommandTest.test_open_new_tab\

>!U		$rN)
rrrr=Chromer#r;rMrRrWrrrrDrDIs!%%M$
$
$
$rrDc<eZdZejZdZdZdZdZ	y)EdgeCommandTestc6|jdgtgyr7r:r
s rr;zEdgeCommandTest.test_openfr<rcL|jdtdgtgyrGrKr
s rrMz.EdgeCommandTest.test_open_with_autoraise_falsekrNrc8|jddgtgyrPr:r
s rrRzEdgeCommandTest.test_open_newprSrc6|jdgtgyrUr:r
s rrWz!EdgeCommandTest.test_open_new_taburXrN)
rrrr=Edger#r;rMrRrWrrrr[r[bsOOM$
$
$
$rr[c<eZdZejZdZdZdZdZ	y)MozillaCommandTestc6|jdgtgyr7r:r
s rr;zMozillaCommandTest.test_openr<rcL|jdtdgtgyrGrKr
s rrMz1MozillaCommandTest.test_open_with_autoraise_falserNrc8|jdgdtgy)NrQz-new-windowr9r:r
s rrRz MozillaCommandTest.test_open_news 

:+S1		3rc8|jdgdtgy)NrVz-new-tabr9r:r
s rrWz$MozillaCommandTest.test_open_new_tabs 

>(#.		0rN)
rrrr=Mozillar#r;rMrRrWrrrrbrb{s!&&M$
$
3
0rrbc<eZdZejZdZdZdZdZ	y)EpiphanyCommandTestc8|jddgtgy)Nr8-nr9r:r
s rr;zEpiphanyCommandTest.test_opens

6 6!U		$rcP|jdtdddgtgy)Nr8FrHz-noraiserkrJrKr
s rrMz2EpiphanyCommandTest.test_open_with_autoraise_falses)

6dU3&-!U		$rc8|jddgtgy)NrQ-wr9r:r
s rrRz!EpiphanyCommandTest.test_open_news

: 6!U		$rc8|jddgtgy)NrVrnr9r:r
s rrWz%EpiphanyCommandTest.test_open_new_tabs

> 6!U		$rN)
rrrr=Epiphanyr#r;rMrRrWrrrriris!''M$
$
$
$rric<eZdZejZdZdZdZdZ	y)OperaCommandTestc6|jdgtgyr7r:r
s rr;zOperaCommandTest.test_openr<rcL|jdtdgtgyrGrKr
s rrMz/OperaCommandTest.test_open_with_autoraise_falserNrc8|jddgtgyrPr:r
s rrRzOperaCommandTest.test_open_newrSrc6|jdgtgyrUr:r
s rrWz"OperaCommandTest.test_open_new_tabrXrN)
rrrr=Operar#r;rMrRrWrrrrrrrs!$$M$
$
$
$rrrc<eZdZejZdZdZdZdZ	y)ELinksCommandTestcV|jddgdjtgyNr8-remotezopenURL({})r9r2formatr3r
s rr;zELinksCommandTest.test_opens+

6I;&3&:&:3&?%@		BrcV|jddgdjtgyr{r}r
s rrMz0ELinksCommandTest.test_open_with_autoraise_falses+

6%;+22378		:rcV|jddgdjtgy)NrQr|zopenURL({},new-window)r9r}r
s rrRzELinksCommandTest.test_open_news,

:%;6==cBC		ErcV|jddgdjtgy)NrVr|zopenURL({},new-tab)r9r}r
s rrWz#ELinksCommandTest.test_open_new_tabs,

>%;3::3?@		BrN)
rrrr=Elinksr#r;rMrRrWrrrryrys$%%MB:
E
Brryc0eZdZdZdZdZdZdZdZy)BrowserRegistrationTestctj|_gt_tj|_it_yr)r=	_tryorder_saved_tryorder	_browsers_saved_browsersr
s rsetUpzBrowserRegistrationTest.setUps.)33!
)33!
rcX|jt_|jt_yr)rr=rrrr
s rtearDownz BrowserRegistrationTest.tearDowns#33
#33
rcxGdd}g}i}|jtj||jtj|tjd|dg}|dg|d<|jtj||jtj||}|tjd|||ntjd|||rddg}nddg}||g|d<|jtj||jtj|y)NceZdZy)CBrowserRegistrationTest._check_registration.<locals>.ExampleBrowserNrrrrrrExampleBrowserrrrExample1example1example2	preferred)r'r=rrregister)rrrexpected_tryorderexpected_browsersinstances      r_check_registrationz+BrowserRegistrationTest._check_registrations.		--/@A--/@AJ7'L)7(>*%--/@A--/@A!# 
NH*3
5

NHE!+Z 8!+Z 8)7(B*%--/@A--/@Arc(|jdy)NFrrr
s r
test_registerz%BrowserRegistrationTest.test_register	s  5 1rc(|jdy)Nrrr
s rtest_register_defaultz-BrowserRegistrationTest.test_register_default  4 0rc(|jdy)NTrrr
s rtest_register_preferredz/BrowserRegistrationTest.test_register_preferredrrN)	rrrrrrrrrrrrrrs!"4B<211rrc*eZdZdZdZdZdZdZy)
ImportTestctjd}|j|j|j	|j
Gdd}|jd||j|j|j|jdd|j|j
|jd|j
|j|j
d|dgy)Nr=ceZdZy)0ImportTest.test_register.<locals>.ExampleBrowserNrrrrrrrrrrr)
rimport_fresh_moduleassertIsNonerassertFalserr
assertTruer'r))rr=rs   rrzImportTest.test_registers"66|D
*../--.		
J7
,,---b1:>
,,-

j*"6"67--j9ND;QRrcTtjd}|j|j|j	|j
|j
|j5|jdddd|j|jy#1swY%xYw)Nr=fakebrowser)
rrrrrrassertRaisesErrorgetassertIsNotNone)rr=s  rtest_getzImportTest.test_get"s"66|D
*../--.


z//
0	*JNN=)	*Z112	*	*s'BB'c,tjd}tjj	t
jj}|j|d|j||jt
jy)Nr=)rrospathbasenamesys
executablelowerrr>r)rr=r s   rtest_synthesizezImportTest.test_synthesize+sg"66|D
ww/557
D$(A
(A(A$(GH
s~~&rcztjd}	|jj}tj5}|d<tjd}|jdddy#|j$r$}|jt
|Yd}~wd}~wwxYw#1swYyxYw)Nr=BROWSER)	rrrr rskipTeststrrEnvironmentVarGuard)rr=r/errenvs     rtest_environmentzImportTest.test_environment1s"66|D
	$$jnn&++G
*
*
,	$C	N&::<HJJNN			$MM#c(##	$		s#A;,B1;B.
B))B.1B:ctjd}	|j|j|jdj}tj5}|d<tjd}|j|jj|dddtj5}tj|d<tjd}|j|jjtjdddy#|j
tf$r%}|jt|Yd}~d}~wwxYw#1swYxYw#1swYyxYw)Nr=rr)rrrrr r
IndexErrorrrrrr'rr)rr=least_preferred_browserrrs     rtest_environment_preferredz%ImportTest.test_environment_preferred<sF"66|D
	$JNN&4jnnZ5I5I"5M&N&S&S#
*
*
,	M4C	N&::<HJ^Z^^-224KL	M

*
*
,	D ^^C	N&::<HJ^Z^^-22CNNC	D	D  *-	$MM#c(##	$	M	M
	D	Ds1:D2%AE/A"E;2E,E''E,/E8;FN)rrrrrrrrrrrrrsS3'	Drr__main__)r=unittestrrr"rrrtest.supportrrhas_subprocess_supportSkipTestr3r$	MagicMockr	rTestCaser5r@rDr[rbrirrryrrrmainrrr<module>rsM	
&"%%
(

@
AA004$ 0(2C2C$$#3X5F5F$$((*;*;$2$&(9(9$20)8+<+<02$*H,=,=$2$'):):$2B((*;*;B021h//21j9D""9DxZHMMOr