python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_webbrowser.cpython-312.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)argskwct}tj|td||j	t
}t
|||i|tjjdd}|j|dt
|jd|D]4}	|j|	||j|j|	6|j||y)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

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