python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_curses.cpython-311.opt-2.pyc

eTRddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZddl
mZededZeded	ddlZn#e$rYnwxYwdZdZd	Zejd
ZdZejepedkd
ezejejdkdGddejZGddejZGddejZdZe dkrej!dSdS)N)requiresverboseSaveSignalscpython_onlycheck_disallow_instantiation)
import_modulecurseszcurses.asciizcurses.textpadcXtjtt|d|zS)Nzrequires curses.%s)unittest
skipUnlesshasattrr	)names D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_curses.pyrequires_curses_funcrs+wvt443d:<<<cfd}|S)NcJtjfd}|S)Ncxt|jstjdz|g|Ri|dS)Nzrequires curses.window.%s)r
stdscrrSkipTest)selfargskwargsrtests   rwrappedz:requires_curses_window_meth.<locals>.deco.<locals>.wrapped!sU4;--
L'(Cd(JKKKD'''''''''r	functoolswraps)rrrs` rdecoz)requires_curses_window_meth.<locals>.deco s>				(	(	(	(	(
		(r)rrs` rrequires_curses_window_methr!s#KrcFtjfd}|S)Nctjs|dtj|g|Ri|dS)Nrequires colors support)r	
has_colorsskipTeststart_color)rrrrs   rrz requires_colors.<locals>.wrapped+s\ ""	5MM3444T#D###F#####rr)rrs` rrequires_colorsr(*s8_T$$$$$
NrTERMiunknownz*$TERM=%r, calling initscr() may cause exitcygwinz!cygwin's curses mostly just hangsc<eZdZedZdZeddZeddZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZeddZdZdZdZeddZeddZdZdZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%ed&d'Z&d(Z'd)Z(d*Z)d+Z*ed,d-Z+ed.d/Z,ed0d1Z-d2Z.d3Z/d4Z0d5Z1d6Z2e3d7Z4e3d8Z5d9Z6e3d:Z7e3d;Z8e3d<Z9ed=e3d>Z:d?Z;ed@dAZ<edBdCZ=edDdEZ>edDdFZ?edDdGZ@eAedDdHZBedIdJZCedKdLZDedMdNZEdOZFdPZGedQeHjIeJeKdRdSdTkdUdVZLdWZMdXZNeddYZOdZS)[
TestCursesctr$tdttjdtj}tj|dS)NzTERM=Tfileflush)fd)	rprinttermsysstderr
__stdout__filenor		setupterm)cls	stdout_fds  r
setUpClasszTestCurses.setUpClass=sV	?.$..sz>>>>N))++	I&&&&&&rcLd|_tj|_tj}tjstj|}|t
j||t
j	||tj
rtj
}tj
|_nb	tddd}n-#t$r tjdd}d|_YnwxYw||jd|_tj	||t|_|j||jjt&rY|jRtjtjt/|jdt1j|_|jrQt1j|t0j|t0j|jdS)	NTz/dev/ttywbr)	buffering)moder?Fr/)isattyr5r7outputr8osdup
addCleanupclosedup2
__stderr__openOSErrortempfile
TemporaryFilersave_signalssaverestorerr6r1stdoutr3r	initscrrsavettyendwinresettyerase)rr;dup_fdtmps    rsetUpzTestCurses.setUpFsnN))++	~$$&&	-VI&&FOOBHf---OOBGVY777~$$&&
#n!n	(z41===CC(((
#0daHHHC"'DKKK
(	***"GCJJLL),,,'MM   )1222	0t{.JJt{$////n&&;	,NOOFM***OOFN+++s(C;;'D%$D%filterc,tjdSN)r	rYrs rtest_filterzTestCurses.test_filtervs	
ruse_envcVtjdtjddS)NFT)r	r^r\s rtest_use_envzTestCurses.test_use_env|s*	utrctjdd}||d||d||dtjdddd}||d||d||d	|d
d}||d||d
||d|ddd
d}||d||d
||d|dd
}||d||d||d|dddd
}||d||d||d|dd||d||d||d	||d||d
||d||d||d||d|	dd||d||d||d|	dd||d||d||ddS)N
rrrf)rbrc)rhrb)rcrg)rirjrh)	
))rhri)rp)rrrsrrl)rrl)rhrl)
r	newwinassertEqualgetbegyxgetparyxgetmaxyxsubwinderwinmvwinmvderwin)rwinwin2win3s    rtest_create_windowszTestCurses.test_create_windowssmAr""000222111mBAq))000222222zz!Q&111&111'222zz!RA&&&111&111'222zz!Q&111&111'222zz!RA&&&111&111'222		!Q000222222&111&111'222&111&111'222

a&111&111'222

a&111&111'22222rc|j}|dddd}|dd|dd||d||d|||d	dS)
Nrcrgrhrbrlrork)rhro)rorm)rrymoverugetyx	cursyncup)rrr}s   rtest_move_cursorzTestCurses.test_move_cursorsmmBAq))AqA000f---

00000rc(|j}|||d|||d|||d|||d|||d|dd||dd||dd||d|ddd||dd|dddd}|ddd	d
}|||	||d||d||||
||dt|drtj
ds||d
D]}|||d||||||}dSdSdS)NFTrbrhrrrlrcrgrirjsyncoksunos)FTa)rrefreshassertIs
is_wintouchedtouchwin
untouchwin	touchlineis_linetouchedrysyncupsyncdownr
r5platform
startswithraddch)rrr}r~rs     rtest_refresh_controlzTestCurses.test_refresh_controls

f**,,e444

f**,,d333

f**,,e444

f**,,d333

f**,,e444	A

f++A..555

f++A..555

f**,,d333Au%%%

f++A..666mmBAq))zz!RA&&






c''))4000

f**,,d333	



d((**D11168$$	>S\-D-DW-M-M	>NN'
>
>F###

3

c//116:::

f2244f====	>	>	>	>
>
>rc*|j}|j}||dd|d|d|dd}	||n#t
$r$|t
|j|YnUt$rI||}|	t|dt|YnwxYw|dtj
|ddd|dddtj
||d	||dd|d|d|d|t
tf5|d
dddn#1swxYwY|dtj
||ddS)NrAAA€rlrhriTuĔF)rencodingrrrUnicodeEncodeErrorassertRaisesencode
OverflowErrorassertNotEquallenreprr	A_BOLDrrechochar)rrrcencodeds     rtest_output_characterz TestCurses.test_output_characters?AqSTR	@LLOOOO!	F	F	F0!(HEEEEE	@	@	@hhx((GGag?????	@	S&-(((Q3Q3
...

f**,,d333	Aq


 2MB
C
C	&	&
OOH%%%
	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	V]+++

f**,,e44444s+;B+D>ADDIIIc	|j}|j}|j|jfD]}||j5|dd|d|dd}	||n1#t$r$|t|j	|YnwxYw|dtj|ddd|dddtjdddn#1swxYwY|j|j
fD]}||j5|dd|dd|d	dd
}	||dn1#t$r$|t|j	|YnwxYw|dd|ddtj|dddd|ddddtjdddn#1swxYwYdS)Nrabcdsabcduàßçđrlrhri1234s1234u١٢٣٤rb)rraddstrinsstrsubTest__qualname__rrrrr	raddnstrinsnstr)rrrfuncss     rtest_output_stringzTestCurses.test_output_strings?]FM2	2	2Dd/00
2
2Aq!!!VW


NDGGGG)NNN%%&8!(HMMMMMNVV]+++Q6"""Q66=111
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2^V^4
	5
	5Dd/00
5
5Aq!!!VQWa   .NDAJJJJ)NNN%%&8!(HMMMMMNVQVQ
...Q61%%%Q61fm444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
	5
	5sl/C-)A54C-5+B# C-"B##>C--C1	4C1	#1G)E"!G)"+F
G)FA
G))G-	0G-	c|j}dD]}||5|t|j||t|j|d|t|j||t|j|ddddn#1swxYwYdS)N)zasa)argrl)rrr
ValueErrorrrrr)rrrs   r&test_output_string_embedded_null_charsz1TestCurses.test_output_string_embedded_null_chars:s
"	F	FC#&&
F
F!!*fmSAAA!!*fnc1EEE!!*fmSAAA!!*fnc1EEE	
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F	F	FsBB55B9	<B9	c|j}|dddtj|dd||dtjz||dddtjz|dd||ddd||dddd	||dd
ddd||dd
dd|t|jd
|t|jdd
d
dS)NrrlABCDrriCrrs ABCD s ABrhrosBCD )
rrr	rrruinchinstrrrrrs  rtest_read_from_windowz TestCurses.test_read_from_windowDs|

aFFM222AqV](:;;;Q**B,>???Aq+Y777a!,f555a++BQB/999aA..888*flB777*flAq"=====rctjdddd}ddddD]}tj|||ddd||d	||dd
d||d||d
||d||d||ddS)Nrbrqrhzspam
rfrirls)rirlrop)riroamrc)r	rtungetchrugetchrrr}rs   r
test_getchzTestCurses.test_getchTsCmAr1a(($$B$		AN11a'222f---1a'222f---g...f---g...h/////rctjdddd}tj|tj|t|jd|t|jdddddddD]}tj||	|dddd	|	|
dd
d|	|dddd
|	|
dd
d|	|ddd|	|
dd
d|	|dd|	|
dd
d|	|d|	|
dd
ddS)NrbrqrhiprizLorem
ipsum
dolor
sit
amet
rfrlsLors Lo         rcsipsums Lo  ipsum  sdolors     dolor  ssissi   dolor  sametsamet dolor  )r	rtechorEnoechorrgetstrrrurrs   rtest_getstrzTestCurses.test_getstrcsmAr1a((



&&&*cj$777*cj!Q===4DDbD9		AN1Aq!,,e4441a/:::Aq"--x8881a/:::Aq))84441a/:::A...1a/:::w///1a/:::::rctjdddd}t||dd|||ddd||ddd|dd	|||ddd
||ddd|j	|j
fD]}t||||ddd||ddddS)NrbrgrhrrpsLorem iprldolor sit amet,risLorr)r	rtlorem_ipsumrclrtoeolrurrstripclrtobotrUclear)rr}rs   r
test_clearzTestCurses.test_clearysmAr1a((CA1a//11;???1a//113EFFFA1a//116:::1a//113777Y	*	<	<DDFFFSYYq!__3355s;;;SYYq!__3355s;;;;		<	<rctjdddd}t||dd|||ddd|dd||ddd|dd|||ddd||ddd	||ddd
||ddd||d
dd|dd|||ddd||ddd||ddd	|	t||dd|
d||ddd||ddd||ddd||ddd|	t||dd|
d||ddd||ddd
||ddd||ddddS)NrbrgrhrsLoem ipsum     rjsLoem ipum      rlsconsectetur    adipiscing elitrissed do eiusmod ro               sLorem ipsum    rr)r	rtrrdelchrurdeletelninsertlnrinsdellnrr}s  rtest_insert_deletezTestCurses.test_insert_deletesmAr1a((CA		1a*<===		!Q1a*<===A1a*<===1a*<===1a*<===1a*<===1a*<===A1a*<===1a*<===1a*<===		CAQ1a*<===1a*<===1a*<===1a*<===		CAR1a*<===1a*<===1a*<===1a*<=====rctjdddd}t||d|||ddd|d||ddd|d||ddd	||ddd	||d
dd|ddS)NrbrgrhTrrrrriF)r	rtrscrollokscrollrurrs  rtest_scrollzTestCurses.test_scrolls)mAr1a((CT

1a*<===

1


1a*<===

21a*<===1a*<===1a*<===Urc>tjdddd}|tj|tj|tj||dS)Nrbrgrh)r	rtattronrattroffattrsetstandoutstandendrs  rtest_attributeszTestCurses.test_attributessqmAr1a((

6=!!!FM"""FM"""rchgatctjdddd}|ddd|ddd|dd|tj||dd	d
||dddtjz||ddd
tjz|dd|dtj||ddd||dddtjz||dddtjz||ddd|ddtj	||ddd||dddtj	z||ddd
tj	z|ddd	tj||dddtj	z||dddtjz||dddtjz||dddtj	z||ddd
tj	zdS)NrbrgrhrLorem ipsumrizdolor sit ametrprjrr rlLoerorlrrcrrs)
r	rtrrrA_BLINKrurrA_UNDERLINErs  r
test_chgatzTestCurses.test_chgatsmAr1a((

1a'''

1a)***A		&.!!!!Q111!Q6>)ABBB!R'FN*BCCCA		!V]###!Q111!Q6=)@AAA!Q6=)@AAA!Q111		!Q*+++!Q111!Q63E)EFFF!R'F4F*FGGG		!Q6>***!Q63E)EFFF!Q6>)ABBB!R'FN*BCCC!R'F4F*FGGG!R'F4F*FGGGGGrctjdddd}|ddd||d|d||d|d	||d
|d||d|d||d|d
tj||d
tjz||ddd||ddd|d|	d||d||ddd||ddd|	d
tj||d
tjz||dddtjz||ddd
tjzdS)Nrbrgrhrr)rr__##rr#r)
r	rtrassertIngetbkgdbkgdsetru	A_REVERSErbkgdrs  rtest_backgroundzTestCurses.test_backgroundsmAr1a((

1a'''

ckkmmW---	C000D000B+++A+++C)***&2B(BCCC!Q111!Q111A	


000!Q111!Q111f&'''&2B(BCCC!Q63C)CDDD!Q63C)CDDDDDrc	*tjdddd}t|tjdddd}tdD]}||dd	||||ddd
||ddd||d
dd||ddd||||ddd||ddd||d
dd||ddd||dddd
dd||ddd||ddd||ddd||dddd
dd||ddd||ddd||ddddS)Nrbrirorjrrr_________________ssectetur_________rlspiscing_elit,____rhs_do_eiusmod______s_________________ssectetur       __spiscing elit,  __s do eiusmod    __rss__r_sit_amet_____s__ectetur________s__r sit amet_____s__ectetur   _____)	r	rtrrangeroverlayrur	overwrite)rsrcwindstwinis    rtest_overlayzTestCurses.test_overlaysq"a++Fq"a++q	(	(AMM!Q''''va++-ABBBa++-ABBBa++-ABBBa++-ABBB   a++-ABBBa++-ABBBa++-ABBBa++-ABBBvq!Q1b111a++-ABBBa++-ABBBa++-ABBBAq!Q333a++-ABBBa++-ABBBa++-ABBBBBrctjdddd}||dd||tjdS)Nrbrgrhrl)r	rtnoutrefreshredrawln	redrawwinrdoupdaters  rtest_refreshzTestCurses.test_refresh,simAr1a((Q




rresizec,tjdddd}|dd||d|dd||ddS)Nrbrgrhro)ror)rbrg)r	rtrrurxrs  rtest_resizezTestCurses.test_resize4smAr1a((

1b111

1b11111renclosec,tjdddd}||ddd||ddd||ddd||dd	d||d
d	d||ddddS)NrbrgrhTrlFrorrrjr)r	rtrrrs  rtest_enclosezTestCurses.test_enclose<smAr1a((

ckk!Q''...

ckk!Q''///

ckk!Q''///

ckk!R(($///

ckk!R((%000

ckk!R((%00000rc,tjdddd}|dddtj5}||~|dtj|}||	d||
d||ddd	ddddS#1swxYwYdS)
Nrbrqrlrhrrrk)rbrqs Lorem ipsum)r	rtrrKrLputwinseekgetwinrurvrxr)rr}fs   rtest_putwinzTestCurses.test_putwinFs+mAr1a((

1a'''

#
%
%	?JJqMMM
FF1III-""CS\\^^V444S\\^^W555SYYq!__o>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?sB:D		D
D
c

tjdddd}|dddddd	d
d||ddd
||ddd||ddd|dddddddd|ddddddd d!|t|jdddddgd d!

|t|jddddddd d!d"|t|jddddddd d!d"|ddddddd |dddddd|ddddd|dddd|ddd|dd|d||d#d$||ddd%d&||ddd'||ddd%d&|d(d)|dd|t|jddd|t|jd||dd|	dd||ddd*d+|	dd|	d,d|	ddtj
|	dddd|	ddddtj
|dd|d-d.|d/d.|d0d.|d-d.tj|ddd-d.|ddd1dtj||
ddd2tjz||
ddd2tjz||
d.dd0dS)3Nrbrcrh|!-r+\r/rs
+--------\rls
|        !ros
#________/|!-_+\r/rBrDEFGHI:~rps~~~~~~~~s
:        ::~rjs ----- -rriar;;)r	rtborderrurr	TypeErrorboxrhlinervline
A_STANDOUTrrs  rtest_borders_and_linesz!TestCurses.test_borders_and_linesRsmAr1a((

3S#c3	(	(	(1a.9991a-8881a-888

4tTd	,	,	,

2r2rr2r	#	#	#)SZb"b"b"b	:	:	:)SZb"b"b"b"	>	>	>)SZb"b"b"b"	>	>	>

2r2r2r2...

2r2r2r***

2r2r2&&&

2r2r"""

2r2

2r

2

S1a++[9991aM:::1a++[999dB)SWb"b999)SWb111			A		#q1a++Z888		$		"a		#q&-(((		!QQ		!QQ
...A		#q		$		"a		#q&+,,,		!QQ		!QQ 1222!Q63D)DEEE!Q63D)DEEE!Q11111rcb|tjdd|tjdd|tjdd|tjdd|tjdd|tjdd|ttjd|ttjd	|ttjd
|ttjd|t
tjddS)
Nrrr
s^J
rcrsABAB)rur	unctrlrrBrr\s rtest_unctrlzTestCurses.test_unctrlsJt,,d333s++T222r**D111u--u555t,,e444r**E222)V]C888)V]E:::)V]B777)V]D999->>>>>rct|js|d|tjdtj|tjdtj|tjddS)Nrequires terminalFT)rAr&rr	isendwinrSrr\s rtest_endwinzTestCurses.test_endwins{	/MM-...

fo''///


fo''...

fo''/////rcJ|tjdt|tjdd|tjdd|tjdt|tjdd|tjdd|tjdttdf|	tjd|	tjdtjd}|t||ttj
|dtj
|d}||ttj|tjddS)	Nhccolsrfcrrcudrhsabc
)assertIsInstancer		tigetflagintrutigetnumtigetstrbytestypeassertIsNonetparmputp)rrXcud_2s   r
test_terminfozTestCurses.test_terminfosf.t44c:::)&112666)$//444fof55s;;;..333..333fod33eT$ZZ5HIII&/$//000&/&11222oe$$?!!#u---La   La((E!!%///KHrctjdtjtj|tjdtjdtjdddS)NrlFd2)r	delay_outputflushinprrrRnapmsnewpadr\s rtest_misc_module_funcsz!TestCurses.test_misc_module_funcsssA

fo''///S
b"rcZ|tjt|tjt|tjt|tjt|tj	t|tj
ttj}||t|t|dtj}||t|t|ddSNrl)rYr	termnamer^longnamebaudrater[has_icboolhas_il	termattrskillcharrur	erasechar)rrs  rtest_env_querieszTestCurses.test_env_queriess8fo//777fo//777fo//555fmoot444fmoot444f.00#666Oa'''Q###a'''Q#####rc|j}|d|d|d|d|d|dt	|dr*|d|d|d|d|d|d|ddtj
tjdtjdtjdS)NTFimmedokrbrc)rclearokidcokidlokr
rzleaveokr	setscrregr	nonlnlrs  rtest_output_optionszTestCurses.test_output_optionss@tuTUUT69%%	"NN4   NN5!!!tuB


	$	%	rc|j}|jrtjtjtjdtjdtjdtjdtjtjdtjdtjtjtj	tj	dtj	dtj
dtj
d|d|dtjdtjd|
d|
dtjtjdtjdtj|d|d|d|d|ddS)NFTrlrfrrb)rrAr	nocbreakcbreak	intrflushrawnorawrr	halfdelaykeypadmetanodelay	noqiflushqiflush	notimeouttimeoutrs  rtest_input_optionszTestCurses.test_input_optionss;	OMOOOM%   M$T"""U###JLLLJuJtLNNN



ED

d

eDEtuturqqr	typeaheadctjtjtjddS)Nrf)r	rr5	__stdin__r8r\s rtest_typeaheadzTestCurses.test_typeahead s8--//000rc|js|dtjtjdS)NrQ)rAr&r	
def_prog_modereset_prog_moder\s rtest_prog_modezTestCurses.test_prog_mode%sC{	/MM-...     rctjdtjdtjdS	tjdS#tj$r|dYdSwxYw)Nbelflashz
beep() failed)r	r]beeperrorr&r\s r	test_beepzTestCurses.test_beep+s}OE"".w''3KMMMMM
/




<
/
/
/

o......
/A$A<;A<ctjdtjdtjdS	tjdS#tj$r|dYdSwxYw)Nrrzflash() failed)r	r]rrr&r\s r
test_flashzTestCurses.test_flash5s~OE"".w''3LNNNNN
0<
0
0
0

.//////
0rcdD]X\}}tj|tj|.	tj|D#tj$rYUwxYwdS)N))rcivis)rhcvvis)rlcnorm)r	r]curs_setr)rviscaps   r
test_curs_setzTestCurses.test_curs_set?s|B		HCs##/$$$$OC((((|D
		sAAAget_escdelayctj}||ttjd|tjdtj|dS)N)r	rrYr[set_escdelayru)rescdelays  r
test_escdelayzTestCurses.test_escdelayIsm&((h,,,B,..333H%%%%%rget_tabsizectj}||ttjd|tjdtj|dS)Nro)r	rrYr[set_tabsizeru)rtabsizes  rtest_tabsizezTestCurses.test_tabsizeQsm$&&gs+++1+--q1117#####rgetsyxctj\}}||t||ttjdd|tjddS)Nrorb)rorb)r	rrYr[setsyxru)ryxs   rtest_getsyxzTestCurses.test_getsyxYsq}1a%%%a%%%
a&11111rc(dtjdddddfS)NrfrMr	COLORSr\s r
bad_colorszTestCurses.bad_colorsasFM:uj%OOrc"tjdddfS)NrrrMrr\s rbad_colors2zTestCurses.bad_colors2ds
ueU33rcdS)N)rfrrrrrMr r\s r	bad_pairszTestCurses.bad_pairsgs@@rc|tjt|tjtdSr[)rYr	r%rscan_change_colorr\s rtest_has_colorszTestCurses.test_has_colorsjsFf/114888f577>>>>>rc.tjs|dtjtrRtdtjtjtdtj	tjdSdS)Nr$z	COLORS = )r0zCOLOR_PAIRS = )
r	r%r&r'rr3rr5r6COLOR_PAIRSr\s rtest_start_colorzTestCurses.test_start_colorns ""	5MM3444	J-fm--CJ????76#577cjIIIIII	J	JrcR|tjtjdtjdtjdz
}tj||D](}|ttj|)dS)Nrrrrrl)rur	
color_contentCOLOR_BLACKrrrr)rmaxcolorcolors   rtest_color_contentzTestCurses.test_color_contentvs-f.@AA9MMMQ=1$X&&&__&&	G	GEj&*>FFFF	G	Grc	tjs|dtjd}	tjdg|Rn*#tj$r|dYnwxYw|jtjdg|Rtjdddd|tjddtjdddd|tjddtjdz
}tj|}tj|g|R|jtj|g|Rtj|ddd|tj|d	|	D]+}|
ttj|ddd,d
D]}}|
ttjd|dd|
ttjdd|d|
ttjddd|~dS)Nzcannot change colorrz)cannot change color (init_color() failed)r)rrrrl)rrr)rfi)r	rr&r
init_colorrrErurrrr)roldrrcomps     rtest_init_colorzTestCurses.test_init_colorsp&((	1MM/000"1%%	Ga&#&&&&&|	G	G	GMMEFFFFF	G)13s3333!Q1%%%-a00)<<<!T4...-a002DEEE=1$"8,,()S)))))8:c::::(AsD111-h77HHH__&&	M	MEj&*;UAq!LLLL	L	LDj&*;QaKKKj&*;Q4KKKj&*;Q1dKKKK	L	LsA$A87A8ctj}ttdrtjr|dtjzdzz
}tjrdtjcxkrdkrnnt
|t}	tj|dz
ddn#t$rtj}YnwxYw|S)Nncurses_versionrhrl)rrrl)rrrhr)
r	rr
has_extended_color_supportrrmin	SHORT_MAX	init_pairr)r
pair_limits  rget_pair_limitzTestCurses.get_pair_limits'
6,--	0022
2a
o11
577
8!7@@@@&@@@@@ Y77

0 aA6666
0
0
0#/



0s
B''C?Ccttds>|tjdtjtjftjd|dz
}|dkrtj||D](}|ttj|)dS)Nuse_default_colorsrrl)
r
r	rupair_contentCOLOR_WHITErrrrr)rmaxpairpairs   rtest_pair_contentzTestCurses.test_pair_contentsv344	GV033$0&2DE
G
G
GA%%''!+Q;;(((NN$$	E	EDj&*=tDDDD	E	Erc tjd}tjdg|R|jtjdg|Rtjddd|tjddtjdz
}tjd|d|tjd|dftjdd||tjdd|f|dz
}|dkr>tj|dd|tj|d|D]*}|ttj|dd+|
D]R}|ttjd|d|ttjdd|SdS)Nrlrrd)r	rrrErurrrrrr)rrrrrrs      rtest_init_pairzTestCurses.test_init_pairs!!$$!S!!!!(!2c2222Aq!!!,Q//888=1$Ha(((,Q//(A???Ax(((,Q//!X???%%''!+Q;;Wa+++V0996BBBNN$$	H	HDj&*:D!QGGGG%%''	I	IEj&*:AuaHHHj&*:Aq%HHHH	I	IrcdD]t}tj|}|tj||||tj|tjz|u|tjdd|tjdddS)N)rrlrr)r	
color_pairrupair_numberr)rrattrs   rtest_color_attrszTestCurses.test_color_attrss	M	MD$T**DV/55tTBBBV/v}0DEEtLLLL*1--q111+A..22222rrcZtjd}	tjn*#tj$r|dYnwxYw|tjdd||tjtjfddgdS)Nrz1cannot change color (use_default_colors() failed)rerd)	r	rrrr&rurrr)rrs  rtest_use_default_colorsz"TestCurses.test_use_default_colorss!!$$	O%''''|	O	O	OMMMNNNNN	O,Q//:::

cV/1CDhPVWXXXXXs*$AAc|tjdd|tjdd|tjdd|tjdd|ttjd	|tjd
tdS)Nrrrns^Ms^?rs^@rf)rur	keynamerrrYr^r\s rtest_keynamezTestCurses.test_keynames++T222++U333,,e444**E222*fnb999fnS11599999rhas_keyc.tjddS)Nrn)r	rr\s rtest_has_keyzTestCurses.test_has_keysrrgetmousectjtj\}}|dkr|dtjdtjddddtjtj}dS)Nrzmouse stuff not availablerc)r		mousemaskBUTTON1_PRESSEDr&
mouseinterval
ungetmouser)r	availmaskoldmaskms    r
test_getmousezTestCurses.test_getmousest%/0FGGG>>MM5666R   !Q1f&<===Orpanelctjdd}tj|}|tjjd5|ddddS#1swxYwYdS)Nrcz!userptr should fail since not set)msg)r	rtr	new_panelrruserptr)rwps   rtest_userptr_without_setz#TestCurses.test_userptr_without_setsM"b!!L""1%%


v|1#FHH		
IIKKK																		sA==BBc|tjdd}tj|}t	}tj|}tdD]}|||d|	tj||ddS)Nrcrfzset_userptr leaked references)
r	rtrr
objectr5getrefcountr	set_userptrru)rrr
objnrefsrs      rtest_userptr_memory_leakz#TestCurses.test_userptr_memory_leaksM"b!!L""1%%hh$$s		A
MM#	

d--u8	:	:	:	:	:rctjdd}tj|Gfdd}|ddS)NrcceZdZfdZdS)+TestCurses.test_userptr_segfault.<locals>.Ac2ddSr[)r)rrs r__del__z3TestCurses.test_userptr_segfault.<locals>.A.__del__s!!$'''''rN)__name__
__module__rr)rsrrrs.
(
(
(
(
(
(
(rr)r	rtrr
r)rrrrs   @rtest_userptr_segfaultz TestCurses.test_userptr_segfaultsM"b!!&&q))	(	(	(	(	(	(	(	(	(	(	!!##
$rctjdd}tj|}t	|t|dS)Nrc)r	rtrr
rr_)rrrs   rtest_disallow_instantiationz&TestCurses.test_disallow_instantiationsF
M"b!!&&q))$T4;;77777ris_term_resizedctjtj}}|tj||d|tj|dz
|dz
ddS)NFrlT)r	LINESCOLSrr rlinesrVs   rtest_is_term_resizedzTestCurses.test_is_term_resized's_lFKt

f,UD995AAA

f,U1Wd1f==tDDDDDrresize_termctjtjtj}}|dz
}|dz}tj|||tj||tj|tj|||tj||tj|dSrn)r	update_lines_colsr"r#r'rurr%rV	new_linesnew_colss     rtest_resize_termzTestCurses.test_resize_term-s """lFKtAI	!89h///y111h///5$'''u---d+++++r
resizetermctjtjtj}}|dz
}|dz}tj|||tj||tj|tj|||tj||tj|dSrn)r	r)r"r#r.rur*s     rtest_resizetermzTestCurses.test_resizeterm;s """lFKtAI	!8)X...y111h///%&&&u---d+++++rctjd||jdtjd||jdtjd||jddS)NrrBrC)r	rrurgetkeyr\s rtest_ungetchzTestCurses.test_ungetchIst++--s333s++--s333r++--s33333rc`tjd|jdS)Ni)r	rrr4r\s rtest_issue6243zTestCurses.test_issue6243Qs,tr	unget_wchr)c)rbrpz.unget_wch is broken in ncurses 5.7 and earlierc
|j}|j}dD]}	||n#t$rY%wxYw	t	j|n:#t$r-}|d|d|jd|Yd}~nd}~wwxYw|}|	||t|}t	j||}|	||dS)N)réru􏿿z
unget_wch(z) failed with encoding z: )rrrrr	r8	Exceptionfailget_wchruord)rrrcherrreadcodes       rtest_unget_wchzTestCurses.test_unget_wchUsQ?7	'	'B
		(####%




8 $$$$
8
8
8			RR##788888888
8>>##DT2&&&r77DT""">>##DT2&&&&!	'	's#*
77A
B#BBc>|j}ddl}|j}|||t
5d|_dddn#1swxYwY||_|t
5|`ddddS#1swxYwYdS)Nrrc)rcodecsrlookuprrB)rrrFrs    r
test_encodingzTestCurses.test_encodingms


?

h


y
)
)	!	! FO	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!"


y
)
)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s$AAABBBc
|j}	tj|j}||n#t
$rYnwxYw|jjdd}|d|dS)NrJrz[y, x,])	rinspect	signaturerassertFalser__doc__splitr)rrrKhuman_readable_signatures    rtest_issue21088zTestCurses.test_issue21088xs	)&,77IY''''			D	$*<#7#=#=d#C#CA#F 

i!9:::::s.8
AActjdddd}tj|d}|\}}||dz
|dz
|ddS)NrbrgrhT)insert_moder)r	rttextpadTextboxrxr_insert_printable_char)rr}rCr%rVs     rtest_issue13051zTestCurses.test_issue13051sxmAr1a((n$$Sd$;;llnnt

57DF###""3'''''rN)Prrrclassmethodr<rXrr]r`rrrrrrrrrrrrrr!rrrrrrr#rGrOrSrdrlrxrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrr&r-r0r5r7rskipIfgetattrr	rDrHrPrVr rrr-r-7s''['...`(##$#
)$$%$232323h	1	1	1.>.>.>`$5$5$5L 5 5 5DFFF>>> 
0
0
0;;;,<<<((>(>(>T! ))HH*)H<EEEBCCC:! **22+*2! ++11,+1
?
?
?626262p???0000			$$$ <,,,\+&&'&!!!///000.))&&*)&-(($$)($(##22$#2PPP444AAA???JJJGG_GLL_L:"
E
E_
EII_I.33_3.//YY_0/Y:::)$$%$*%%&%'""#"'""
:
:#"
:'""  #" '""88#"\8+,,EE-,E
-((,,)(,,'',,(',444+&&X_WWV%6>>GEGG''GG'&'*	 	 	 ;;;8! **((+*(((rr-cdeZdZeddZeddZdZdS)	MiscTestsr)c2tjtjtj}}dxt_t_tj|tj||tj|dS)Nr)r	r)r"r#rur$s   rtest_update_lines_colsz MiscTests.test_update_lines_colssq """lFKt%&&v{ """u---d+++++rrctj}trtdtjd||ddt
|t|d||dt||dt||dt||j	t||j
t||jt||d|j	||d|j
||d|j||j	d||j
d||jddS)Nzncurses_version = T)r1rirrlrh)
r	rrr3rYtuplerurr[majorminorpatchassertGreaterEqual)rvs  rtest_ncurses_versionzMiscTests.test_ncurses_versions"	M?v'=??tLLLLadE***Q###adC(((adC(((adC(((ags+++ags+++ags+++1qw'''1qw'''1qw'''+++++++++++rcbtj}||tdSr[)r	rrYrs)rrs  rtest_has_extended_color_supportz)MiscTests.test_has_extended_color_supports,-//a&&&&&rN)rrrrr]rerhr rrr[r[sq-..,,/.,+,,,,-,,&'''''rr[c2eZdZdZdZdZdZdZdZdS)	TestAsciictjjD]0}|t	tj||1dSr[)r	asciicontrolnames
assertTruer
)rrs  rtest_controlnameszTestAscii.test_controlnamessCL-	?	?DOOGFL$77>>>>	?	?rc<fd}tdD]ottg}|tjj||tjj||tjj||tjj||tjj	|	|tjj
|
|tjjdk|tjjdk|tjj
dk|tjjdkpdk|tjjdv|tjjdcxkodknc|tjjdcxkodknc|tjjt&jv|tjjt&jvqdd	dt.jt.jd
zfD]tjtjtjtjtj	tj
tjtj
tjtjtjtjtjtjtjd	dS)Nc|5||||ddddS#1swxYwYdS)N)r@r)rru)rexpectedrrrs  rcheckz$TestAscii.test_ctypes.<locals>.checks..
4
4  a(333  a(333
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4s?A%%A),A)rrrz 	~rrfrl)r	chrr^r	rlisalnumisalphaisdigitislowerisspaceisupperisasciiismetaisctrliscntrlisblankisgraphisprintispunctstringpunctuationisxdigit	hexdigitsr5
maxunicoderL)rrsbrrs`  @@rtest_ctypeszTestAscii.test_ctypess	4	4	4	4	4	4	4
s	@	@AAAqc

AE&,&		444E&,&		444E&,&		444E&,&		444E&,&		444E&,&		444E&,&C000E&,%qCx000E&,%q2v...E&,&B(:!s(;;;E&,&U
333E&,&Q



#



666E&,&a3777E&,&V-?(?@@@E&,'f.>)>????b#s~s~a/?@	7	7AV\11!44555V\11!44555V\11!44555V\11!44555V\11!44555V\11!44555V\11!44555V\0033444V\11!44555V\11!44555V\11!44555V\11!44555V\11!44555V\221556666,,R0011111rctjj}||dd||dd||tdtddS)NÁr)r	rlrur?)rrls  r
test_asciizTestAscii.test_asciisz"v,,,sS)))s6{{++SXX66666rcTtjj}||dd||dd||dd||t	dt	ddS)NJrJ@)r	rlctrlrur?)rrs  r	test_ctrlzTestAscii.test_ctrls| cD)))dT***cD)))c#hhT33333rctjj}||dd||dd||t	dddS)NrJŠrr)r	rlaltrur?)rrs  rtest_altzTestAscii.test_altsrlTF+++S6***SXX-----rctjj}||dd||dd||dd||dd||dd||dd||d	d
||t	dd||t	dd||dd||d
d||t	dd||t	d
ddS)Nrrr? z^?rJz^Jrz^@rz!^Jrz!A)r	rlrNrur?)rrNs  rrOzTestAscii.test_unctrls$c***c***c***c***...t,,,t,,,C))3///D		**D111///...F,,e444F,,d33333rN)	rrrrorrrrrOr rrrjrjso???+2+2+2Z777444...44444rrjcgd}|\}}t|d|D].\}}||d|d|||dz
kz
/dS)N)	rzdolor sit amet,consecteturzadipiscing elit,zsed do eiusmodztempor incididuntzut labore etzdolore magnazaliqua.rrl)rx	enumerater)r}textmaxymaxxrlines      rrrs


DJD$T%4%[))884

1a5tqD1H}556777788r__main__)"rrJrCrr5rKrtest.supportrrrrrtest.support.import_helperrr	curses.panelImportErrorrr!r(environgetr4rrXrTestCaser-r[rjrrmainr rr<module>rs				







88888888888888444444
	
x	 	 

n

				D	<<<
z~~f	T.TY.=DFF)466`(`(`(`(`("`(`(66FF`(F#!'!'!'!'!'!!'!'!'HU4U4U4U4U4!U4U4U4p888 zHMOOOOOsA##A+*A+