SSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK J r J r J r J r JrJrJr SSKJr \ "S5 \"S5r\"S5 \"S5 SSKrSrS rS r\R2R5S 5rS r\R:\R<4S SS/r\R@"\(+=(d \S:HS\-5\R@"\RBS:HS5"SS\RD555r#"SS\RD5r$"SS\RD5r%Sr&"SS\RD5r'\(S:Xa\RR"5 gg!\a GNf=f)N) MagicMock)requiresverbose SaveSignals cpython_onlycheck_disallow_instantiationMISSING_C_DOCSTRINGS gc_collect) import_modulecursesz curses.asciizcurses.textpadcR[R"[[U5SU-5$)Nzrequires curses.%s)unittest skipUnlesshasattrr )names 7/opt/alt/python313/lib64/python3.13/test/test_curses.pyrequires_curses_funcrs&   wvt43d: <<c^U4SjnU$)NcJ>^[R"T5UU4Sj5nU$)Nc>[URT5(d[R"ST-5eT"U/UQ70UD6 g)Nzrequires curses.window.%s)rstdscrrSkipTest)selfargskwargsrtests rwrapped:requires_curses_window_meth..deco..wrapped#s=4;;--''(Cd(JKK  ' ' 'r functoolswraps)rrrs` rdeco)requires_curses_window_meth..deco"s%   (  (r)rr#s` rrequires_curses_window_methr&!s KrcF^[R"T5U4Sj5nU$)Nc>[R"5(dURS5 [R"5 T"U/UQ70UD6 g)Nrequires colors support)r has_colorsskipTest start_color)rrrrs rr requires_colors..wrapped-s=  "" MM3 4 T#D#F#rr )rrs` rrequires_colorsr.,s%__T$$ NrTERMirrr2)runknownz*$TERM=%r, calling initscr() may cause exitcygwinz!cygwin's curses mostly just hangsc>\rSrSr\S5rSr\"S5S5r\"S5S5r Sr S r S r S r S rS rSrSrSrSrSrSrSrSr\"S5S5rSrSrSr\"S5S5r\"S5S5rSrS r S!r!S"r"S#r#S$r$S%r%S&r&S'r'\"S(5S)5r(S*r)S+r*S,r+S-r,\"S.5S/5r-\"S05S15r.\"S25S35r/S4r0S5r1S6r2S7r3S8r4\5S95r6\5S:5r7S;r8\5S<5r9\5S=5r:\5S>5r;\"S?5\5S@55r\"SD5SE5r?\"SF5SG5r@\"SF5SH5rA\"SF5SI5rB\C\"SF5SJ55rD\"SK5SL5rE\"SM5SN5rF\"SO5SP5rGSQrHSRrI\"SS5\JR"\L"\MSTSU5SV:SW5SX55rNSYrO\JR"\PSZ5S[5rQ\"S5S\5rRS]rSg^)_ TestCurses?c[(a [S[3[RSS9 [R R 5n[R"US9 g)NzTERM=Tfileflush)fd) rprinttermsysstderr __stdout__filenor setupterm)cls stdout_fds r setUpClassTestCurses.setUpClassEs? 7 E$.szz >NN))+ I&rcSUl[RUl[RR 5n[RR5(d[ R "U5nUR[ RU5 UR[ RX!5 [RR5(a&[Rn[RUlO.[SSSS9nURUR5 SUl[ R"UR 5U5 [5UlUR R#5 URUR R$5 [&(a]URbP[R(R+5 [R,R+5 [/URSS9 [0R2"5UlUR(aS[0R6"5 UR[0R85 UR[0R:5 UR4R=5 g![a [R"SSS9nSUlGNf=f) NTz/dev/ttywbr) buffering)moderKFr:)isattyr@rBoutputrCosdup addCleanupclosedup2 __stderr__openOSErrortempfile TemporaryFiler save_signalssaverestorerrAr<stdoutr>r initscrrsavettyendwinresettyerase)rrFdup_fdtmps rsetUpTestCurses.setUpNs nn NN))+ ~~$$&& VVI&F OOBHHf - OOBGGV 7~~$$&&nn!nn  (z41=C *" GGCJJL) ,'M   ))112 7t{{. JJ    JJ    t{{$ /nn& ;; NN  OOFMM * OOFNN + 1( #00daHC"'DK (s> J&K K filterc.[R"5 gN)r rfrs r test_filterTestCurses.test_filter~s   ruse_envc\[R"S5 [R"S5 g)NFT)r rlris r test_use_envTestCurses.test_use_envs utrc [R"SS5nURUR5S5 URUR 5S5 URUR 5S5 [R"SSSS5nURUR5S5 URUR 5S5 URUR 5S 5 UR S S 5nURUR5S 5 URUR 5S 5 URUR 5S5 UR SSS S 5nURUR5S 5 URUR 5S 5 URUR 5S5 URSS 5nURUR5S5 URUR 5S5 URUR 5S5 URSSSS 5nURUR5S5 URUR 5S5 URUR 5S5 URSS5 URUR5S5 URUR 5S5 URUR 5S 5 URUR5S 5 URUR 5S 5 URUR 5S5 URUR5S5 URUR 5S5 URUR 5S5 URSS5 URUR5S 5 URUR 5S5 URUR 5S5 URSS5 URUR5S5 URUR 5S5 URUR 5S5 g)N r0r1)rqrrr3)rsrq)rrr3)rtrurs) ))rsrt)r{  )r}r~rrw)rrw)rsrw) r newwin assertEqualgetbegyxgetparyxgetmaxyxsubwinderwinmvwinmvderwin)rwinwin2win3s rtest_create_windowsTestCurses.test_create_windowssmmmAr" 0 2 1mmBAq) 0 2 2zz!Q &1 &1 '2zz!RA& &1 &1 '2zz!Q &1 &1 '2zz!RA& &1 &1 '2 !Q 0 2 2 &1 &1 '2 &1 &1 '2 a &1 &1 '2 a &1 &1 '2rc[R"SS5nURSS5nA[5 A[5 g)Nrqrrrtru)r rrr )rrrs rtest_subwindows_references%TestCurses.test_subwindows_referencess2mmAr"zz!Q   rclURnURSSSS5nURSS5 URSS5 URUR 5S5 URUR 5S5 UR 5 URUR 5S 5 g) Nrrr3rsrqrwrzrv)rsrz)rzrx)rrmovergetyx cursyncup)rrrs rtest_move_cursorTestCurses.test_move_cursorsmmBAq) Aq A 0 f-  0rcURnUR5 URUR5S5 UR 5 URUR5S5 UR5 URUR5S5 UR 5 URUR5S5 UR 5 URUR5S5 UR SS5 URURS5S5 URURS5S5 URUR5S5 UR SSS5 URURS5S5 URSSSS5nURSSS S 5nUR 5 UR 5 UR5 URUR5S5 URUR5S5 UR 5 UR 5 UR 5 UR5 URUR5S5 [US 5(a[RRS 5(dUR 5 UR 5 S HenURU5 UR!S5 URUR5U5 URUR5U5 Mg ggg)NFTrqrsr}rwrrr3rtrusyncoksunos)FTa)rrefreshassertIs is_wintouchedtouchwin untouchwin touchlineis_linetouchedrsyncupsyncdownrr@platform startswithraddch)rrrrrs rtest_refresh_controlTestCurses.test_refresh_controls f**,e4 f**,d3 f**,e4 f**,d3 f**,e4 A f++A.5 f++A.5 f**,d3Au% f++A.6mmBAq)zz!RA&   c'')40 f**,d3     d((*D1 68 $ $S\\-D-DW-M-M NN     ' F# 3 c//16: f224f= (.N $rcURnURnUR5 URSS5 UR S5 UR S5 UR S5 SnUR U5 UR S[R5 UR SSS5 UR SSS[R5 URUR5S 5 UR5 URSS5 UR!S5 UR!S5 UR!S5 UR [ [45 UR!S 5 SSS5 UR!S[R5 URUR5S 5 g![ a% UR [ URU5 GNn[a: URU5nUR[U5S[U55 GNf=f!,(df  N=f) NrAAA€rwrsrtTuĔF)rencodingrrrUnicodeEncodeError assertRaisesencode OverflowErrorassertNotEquallenreprr A_BOLDrrechochar)rrrcencodeds rtest_output_character TestCurses.test_output_characters?? Aq S T R  @ LLO  S&--( Q3 Q3 . f**,d3  Aq    2MB C OOH % D V]]+ f**,e41" F   0!((H E @hhx(G   G ag ? @D Cs$1G'H6+H30?H32H36 Ic  URnURnURUR4HnUR UR 5 UR SS5 U"S5 U"S5 SnU"U5 U"S[R5 U"SSS5 U"SSS[R5 SSS5 M URUR4HnUR UR 5 UR SS5 U"SS5 U"S S5 S nU"US5 U"SS 5 U"SS[R5 U"SSSS5 U"SSSS[R5 SSS5 M g![a% UR[URU5 GN.f=f!,(df  GM=f![a$ UR[URU5 Nf=f!,(df  GM(=f) Nrabcdsabcduàßçđrwrsrt1234s1234u١٢٣٤rq)rraddstrinsstrsubTest __qualname__rrrrr raddnstrinsnstr)rrrfuncss rtest_output_stringTestCurses.test_output_string(s??]]FMM2Dd//0 Aq!V W NGVV]]+Q6"Q66==1103^^V^^4Dd//0 Aq!VQWa .NAJVQVQ .Q61%Q61fmm4105*N%%&8!((HMN10,*N%%&8!((HMN10sa%F/5E==:F/9'G3! G*AG3=+F,(F/+F,,F// F? +G0-G3/G00G33 H cURnSHnURUS9 UR[URU5 UR[UR US5 UR[UR U5 UR[URUS5 SSS5 M g!,(df  M=f)N)zasa)argrw)rrr ValueErrorrrrr)rrrs r&test_output_string_embedded_null_chars1TestCurses.test_output_string_embedded_null_charsJs"C#&!!*fmmSA!!*fnnc1E!!*fmmSA!!*fnnc1E '&#&&s BB55 C cURnURSSS[R5 UR SS5 UR UR 5S[R-5 UR UR SS5S[R-5 UR SS5 UR UR5SSS5 UR URS5SSS 5 UR URSS 5SS S 5 UR URSS S 5S 5 UR[URS 5 UR[URSS S 5 g)NrrwABCDrrtCr}s ABCD s ABrsrzsBCD ) rrr rrrinchinstrrrrrs rtest_read_from_window TestCurses.test_read_from_windowTs+ aFFMM2 Aq V]](:; Q*B,>? Aq +Y7 a!,f5 a+BQ/9 aA.8 *fllB7 *fllAq"=rc[R"SSSS5nSSSS2Hn[R"U5 M URUR SS5S5 URUR 5S 5 URUR SS 5S 5 URUR 5S 5 URUR 5S 5 URUR 5S 5 URUR 5S5 URUR 5S5 g)Nrqr|rszspam r2rtrws)rtrwrzp)rtrzamrr)r rungetchrgetchrrrrs r test_getchTestCurses.test_getchdsmmAr1a($B$A NN1   1a'2 f- 1a'2 f- g. f- g. h/rc[R"SSSS5n[R"5 UR[R5 UR [ URS5 UR [ URSSS5 SSSS2Hn[R"U5 M URURSSS5S 5 URURSS 5S 5 URURSSS 5S 5 URURSS 5S5 URURSS5S5 URURSS 5S5 URURS5S5 URURSS 5S5 URUR5S5 URURSS 5S5 g)Nrqr|rsiprtzLorem ipsum dolor sit amet r2rwsLors Lo rrsipsums Lo ipsum sdolors dolor ssis si dolor samets amet dolor ) r rechorQnoechorrgetstrrrrrs r test_getstrTestCurses.test_getstrssmmAr1a(   & *cjj$7 *cjj!Q=4DbD9A NN1 : Aq!,e4 1a/: Aq"-x8 1a/: Aq)84 1a/: A. 1a/: w/ 1a/:rcv[R"SSSS5n[U5 URSS5 UR 5 UR UR SS5R5S5 UR UR SS5R5S5 URSS 5 UR5 UR UR SS5R5S 5 UR UR SS5R5S 5 URUR4Hun[U5 U"5 UR UR SS5R5S 5 UR UR SS5R5S 5 Mw g) Nrqr3rsrr{sLorem iprwdolor sit amet,rtsLorr) r r lorem_ipsumrclrtoeolrrrstripclrtobotraclear)rrrs r test_clearTestCurses.test_clearsAmmAr1a(C A  1a//1;? 1a//13EF A  1a//16: 1a//137YY *D   F   SYYq!_335s ;   SYYq!_335s ; +rc[R"SSSS5n[U5 URSS5 UR 5 UR UR SS5S5 UR SS5 UR UR SS5S5 URSS5 UR5 UR UR SS5S5 UR UR SS5S 5 UR UR SS5S 5 UR UR S S5S 5 UR UR S S5S5 URSS5 UR5 UR UR SS5S5 UR UR SS5S5 UR UR SS5S 5 UR5 [U5 URSS5 URS5 UR UR SS5S5 UR UR SS5S5 UR UR SS5S5 UR UR S S5S5 UR5 [U5 URSS5 URS5 UR UR SS5S5 UR UR SS5S 5 UR UR SS5S 5 UR UR S S5S5 g)Nrqr3rsrsLoem ipsum rusLoem ipum rwsconsectetur adipiscing elitrtssed do eiusmod rz sLorem ipsum rr) r rrrdelchrrdeletelninsertlnrinsdellnrrs rtest_insert_deleteTestCurses.test_insert_deletesmmAr1a(C A  1a*<= !Q 1a*<= A  1a*<= 1a*<= 1a*<= 1a*<= 1a*<= A  1a*<= 1a*<= 1a*<= C A Q 1a*<= 1a*<= 1a*<= 1a*<= C A R 1a*<= 1a*<= 1a*<= 1a*<=rcH[R"SSSS5n[U5 URS5 UR 5 UR UR SS5S5 UR S5 UR UR SS5S5 UR S5 UR UR SS5S 5 UR UR SS5S 5 UR UR S S5S5 URS 5 g) Nrqr3rsTrrrrrtF)r rrscrollokscrollrrrs r test_scrollTestCurses.test_scrollsmmAr1a(C T  1a*<= 1  1a*<= 2 1a*<= 1a*<= 1a*<= Urc0[R"SSSS5nUR[R5 UR [R5 UR [R5 UR 5 UR5 g)Nrqr3rs)r rattronrattroffattrsetstandoutstandendrs rtest_attributesTestCurses.test_attributessXmmAr1a( 6==! FMM" FMM"  rchgatc@[R"SSSS5nURSSS5 URSSS5 URSS5 UR [R 5 UR URSS 5S 5 UR URSS5S [R -5 UR URSS 5S [R -5 URSS5 UR S[R5 UR URSS5S5 UR URSS5S[R-5 UR URSS5S[R-5 UR URSS5S5 UR SS[R5 UR URSS5S5 UR URSS5S[R-5 UR URSS 5S [R-5 UR SSS [R 5 UR URSS5S[R-5 UR URSS5S[R -5 UR URSS5S[R -5 UR URSS5S[R-5 UR URSS 5S [R-5 g)Nrqr3rsr Lorem ipsumrtzdolor sit ametr{rurr rwLoerzrlrrrrr~) r rrrrA_BLINKrrr A_UNDERLINErs r test_chgatTestCurses.test_chgatsmmAr1a( 1a' 1a)* A &..! !Q1 !Q6>>)AB !R'FNN*BC A !V]]# !Q1 !Q6==)@A !Q6==)@A !Q1 !Q**+ !Q1 !Q63E3E)EF !R'F4F4F*FG !Q6>>* !Q63E3E)EF !Q6>>)AB !R'FNN*BC !R'F4F4F*FG !R'F4F4F*FGrc[R"SSSS5nURSSS5 URUR 5S5 UR S5 UR UR 5S5 UR S 5 UR UR 5S 5 UR S 5 UR UR 5S 5 UR S5 UR UR 5S 5 UR S [R5 UR UR 5S [R-5 UR URSS5S5 UR URSS5S 5 UR S5 URS5 UR UR 5S5 UR URSS5S5 UR URSS5S5 URS [R5 UR UR 5S [R-5 UR URSS5S[R-5 UR URSS5S [R-5 g)Nrqr3rsrr )rr __##rr #r ) r rrassertIngetbkgdbkgdsetr A_REVERSErbkgdrs rtest_backgroundTestCurses.test_backgrounds mmAr1a( 1a' ckkmW- C 0 D 0 B + A + C))* &2B2B(BC !Q1 !Q1 A   0 !Q1 !Q1 f&&' &2B2B(BC !Q63C3C)CD !Q63C3C)CDrc  [R"SSSS5n[U5 [R"SSSS5n[S5HnUR USS 5 M UR U5 UR URSS5S 5 UR URS S5S 5 UR URS S5S5 UR URSS5S5 URU5 UR URSS5S5 UR URS S5S5 UR URS S5S5 UR URSS5S5 UR US SSS SS5 UR URSS5S5 UR URSS5S5 UR URSS5S5 URUS SSS SS5 UR URSS5S5 UR URSS5S5 UR URSS5S5 g)Nrqrtrzrur}r_________________ssectetur_________rwspiscing_elit,____rss_do_eiusmod______s_________________ssectetur __spiscing elit, __s do eiusmod __r~s__r_sit_amet_____s__ectetur________s__r sit amet_____s__ectetur _____) r rrrangeroverlayrr overwrite)rsrcwindstwinis r test_overlayTestCurses.test_overlays&q"a+Fq"a+qA MM!Q ' v a+-AB a+-AB a+-AB a+-AB  a+-AB a+-AB a+-AB a+-ABvq!Q1b1 a+-AB a+-AB a+-ABAq!Q3 a+-AB a+-AB a+-ABrc[R"SSSS5nUR5 URSS5 UR 5 UR 5 [R "5 g)Nrqr3rsrw)r r noutrefreshredrawln redrawwinrdoupdaters r test_refreshTestCurses.test_refresh<sJmmAr1a(  Q  rresizec[R"SSSS5nURSS5 URUR 5S5 URSS5 URUR 5S5 g)Nrqr3rsrz)rzr7)rqr3)r rr5rrrs r test_resizeTestCurses.test_resizeDs^mmAr1a( 1b 1 1b 1renclosec[R"SSSS5nURURSS5S5 URURSS5S5 URURSS5S5 URURSS 5S5 URURS S 5S5 URURSS 5S5 g) Nrqr3rsTrwFrzr}rur7)r rrr:rs r test_encloseTestCurses.test_encloseLsmmAr1a( ckk!Q'. ckk!Q'/ ckk!Q'/ ckk!R($/ ckk!R(%0 ckk!R(%0rc[R"SSSS5nURSSS5 [R"5nUR U5 AUR S5 [R"U5nURUR5S5 URUR5S5 URURSS5S 5 SSS5 g!,(df  g=f) Nrqr|rwrsr rrv)rqr|s Lorem ipsum) r rrrWrXputwinseekgetwinrrrr)rrfs r test_putwinTestCurses.test_putwinVsmmAr1a( 1a'  # # % JJqM FF1I--"C   S\\^V 4   S\\^W 5   SYYq!_o >& % %s BC'' C5c x [R"SSSS5nURSSSSSS S S 5 URUR S S 5S 5 URUR SS 5S5 URUR SS 5S5 URSSSSSSSS5 URSSSSSSS S!5 UR [ URSSSSS/S S!5 UR [ URSSSSSSS S!S"5 UR [ URSSSSSSS S!S"5 URSSSSSSS 5 URSSSSSS5 URSSSSS5 URSSSS5 URSSS5 URSS5 URS5 UR5 URS#S$5 URUR S SS%5S&5 URUR SS 5S'5 URUR SSS%5S&5 URS(S)5 URSS5 UR [ URSSS5 UR [ URS5 UR5 URSS5 URSS5 URUR SSS*5S+5 URSS5 URS,S5 URSS[R5 URSSSS5 URSSSS[R5 URSS5 URS-S.5 URS/S.5 URS0S.5 URS-S.[R5 URSSS-S.5 URSSS1S[R5 URURSS5S2[R-5 URURSS5S2[R-5 URURS.S5S05 g)3Nrqrrrs|!-r+\r/rs +--------\rws | !rzs #________/|!-_+\r/rBrDEFGHI:~r{s~~~~~~~~s : ::~rus ----- -rrtar;;)r rborderrrr TypeErrorboxrhlinervline A_STANDOUTrrs rtest_borders_and_lines!TestCurses.test_borders_and_linesbsmmAr1a( 3S#c3 ( 1a.9 1a-8 1a-8 4tTd , 2r2rr2r # )SZZb"b"b"b : )SZZb"b"b"b" > )SZZb"b"b"b" > 2r2r2r2. 2r2r2r* 2r2r2& 2r2r" 2r2 2r 2  S 1a+[9 1aM: 1a+[9 d B )SWWb"b9 )SWWb1   A #q 1a+Z8 $ "a #q&--( !QQ !QQ . A #q $ "a #q&++, !QQ !QQ 1 12 !Q63D3D)DE !Q63D3D)DE !Q1rc>UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[[RS5 UR[[RS 5 UR[[RS 5 UR[[RS 5 UR[ [RS 5 g) Nrrr s^J rrrsABAB)rr unctrlrrdrris r test_unctrlTestCurses.test_unctrls t,d3 s+T2 r*D1 u-u5 t,e4 r*E2 )V]]C8 )V]]E: )V]]B7 )V]]D9 ->rczUR(dURS5 UR[R"5S5 [R "5 UR[R"5S5 [R "5 UR[R"5S5 g)Nrequires terminalFT)rMr+rr isendwinr_r2ris r test_endwinTestCurses.test_endwinsh{{ MM- . foo'/  foo'. foo'/rcUR[R"S5[5 UR [R"S5S5 UR [R"S5S5 UR[R "S5[5 UR [R "S5S5 UR [R "S5S5 UR[R "S5[[S545 UR[R "S55 UR[R "S55 [R "S5nUbpURU[5 [R"US5 [R"US5nURU[5 [R"U5 [R"S5 g) Nhccolsr2crrcudrssabc ) assertIsInstancer tigetflagintrtigetnumtigetstrbytestype assertIsNonetparmputp)rr}cud_2s r test_terminfoTestCurses.test_terminfosW f..t4c: ))&126 ))$/4 foof5s; .3 .3 food3eT$Z5HI &//$/0 &//&12ooe$ ?  ! !#u - LLa LLa(E  ! !% / KK  Hrc([R"S5 [R"5 [R"5 UR [R "5S5 [R "S5 [R"SS5 g)NrwFd2)r delay_outputflushinpr2rrvnapmsnewpadris rtest_misc_module_funcs!TestCurses.test_misc_module_funcssSA foo'/ S b"rcUR[R"5[5 UR[R"5[5 UR[R "5[ 5 UR[R"5[5 UR[R"5[5 UR[R"5[ 5 [R"5nURU[5 UR[U5S5 [R"5nURU[5 UR[U5S5 g)Nrw)r~r termnamerlongnamebaudraterhas_icboolhas_il termattrskillcharrr erasechar)rrs rtest_env_queriesTestCurses.test_env_queriess foo/7 foo/7 foo/5 fmmot4 fmmot4 f..0#6 OO  a' Q#     a' Q#rcURnURS5 URS5 URS5 URS5 URS5 URS5 [ US5(a"UR S5 UR S5 UR S5 UR S5 URS5 URS5 URSS5 [R"5 [R"S5 [R"S5 [R"5 g)NTFimmedokrqrr) rclearokidcokidlokrrleaveokr setscrregr nonlnlrs rtest_output_optionsTestCurses.test_output_optionsstu T U U T 69 % % NN4 NN5 !tuB  $ % rc(URnUR(a[R"5 [R"5 [R"S5 [R"S5 [R "S5 [R "S5 [R "5 [R "S5 [R "S5 [R"5 [R"5 [R"5 [R"S5 [R"S5 [R"S5 [R"S5 URS5 URS5 [R"S5 [R"S5 URS5 URS5 [R"5 [R"S5 [R"S5 [R"5 UR!S5 UR!S5 UR#S5 UR#S5 UR#S5 g)NFTrwr2rrq)rrMr nocbreakcbreak intrflushrawnorawrr halfdelaykeypadmetanodelay noqiflushqiflush notimeouttimeoutrs rtest_input_optionsTestCurses.test_input_optionss ;; OO  MMO MM% MM$    T "   U # JJL JJu  JJt  LLN   E D d e D Etuturqqr typeaheadc[R"[RR 55 [R"S5 g)Nr2)r rr@ __stdin__rCris rtest_typeaheadTestCurses.test_typeahead/s+--/0rcUR(dURS5 [R"5 [R"5 g)Nru)rMr+r def_prog_modereset_prog_moderis rtest_prog_modeTestCurses.test_prog_mode4s.{{ MM- . rc[R"S5c[R"S5b[R"5 g[R"5 g![Ra UR S5 gf=f)Nbelflashz beep() failed)r rbeeperrorr+ris r test_beepTestCurses.test_beep:sV OOE " .w'3 KKM / << / o. /A%BBc[R"S5c[R"S5b[R"5 g[R"5 g![Ra UR S5 gf=f)Nrrzflash() failed)r rrrr+ris r test_flashTestCurses.test_flashDsW OOE " .w'3 LLN 0 << 0 ./ 0rcSHKup[R"U5b[R"U5 M4[R"U5 MM g![Ra Mgf=f)N))rcivis)rscvvis)rwcnorm)r rcurs_setr)rviscaps r test_curs_setTestCurses.test_curs_setNsSBHCs#/$OOC( C ||sAA+*A+ get_escdelayc[R"5nURU[5 [R"S5 UR [R"5S5 [R"U5 g)N)r rr~r set_escdelayr)rescdelays r test_escdelayTestCurses.test_escdelayXsU&&( h,B ,,.3H%r get_tabsizec[R"5nURU[5 [R"S5 UR [R"5S5 [R"U5 g)Nrz)r rr~r set_tabsizer)rtabsizes r test_tabsizeTestCurses.test_tabsize`sU$$& gs+1 ++-q17#rgetsyxc[R"5upURU[5 URU[5 [R"SS5 UR [R"5S5 g)Nrzrq)rzrq)r rr~rsetsyxr)ryxs r test_getsyxTestCurses.test_getsyxhsS}} a% a% a &1rc0S[RSSSSS4$)Nr2rpr COLORSris r bad_colorsTestCurses.bad_colorspsFMM:uj%OOrc*[RSSS4$)Nrrrprris r bad_colors2TestCurses.bad_colors2ss ueU33rcg)N)r2rrrrrpr%ris r bad_pairsTestCurses.bad_pairsvs@rcUR[R"5[5 UR[R"5[5 grh)r~r r*rcan_change_colorris rtest_has_colorsTestCurses.test_has_colorsys4 f//148 f557>rc@[R"5(dURS5 [R"5 [(aS[ S[R 3[RS9 [ S[R3[RS9 gg)Nr)z COLORS = )r;zCOLOR_PAIRS = ) r r*r+r,rr>rr@rA COLOR_PAIRSris rtest_start_colorTestCurses.test_start_color}si  "" MM3 4 7 Ifmm_-CJJ ? N6#5#5"67cjj I rcbUR[R"[R5S5 [R"S5 [RS- n[R"U5 UR 5H(nUR [[RU5 M* g)Nrrrrrw)rr color_content COLOR_BLACKrrrr)rmaxcolorcolors rtest_color_contentTestCurses.test_color_contentsv --f.@.@A9MQ==1$X&__&E   j&*>*> F'rc [R"5(dURS5 [R"S5n[R"S/UQ76 UR "[RS/UQ76 [R"SSSS5 UR[R"S5S5 [R"SSSS5 UR[R"S5S5 [RS- n[R"U5n[R"U/UQ76 UR "[RU/UQ76 [R"USSS5 UR[R"U5S 5 UR5H+nUR[[RUSSS5 M- S H{nUR[[RSUSS5 UR[[RSSUS5 UR[[RSSSU5 M} g![R a URS5 GN*f=f) Nzcannot change colorrz)cannot change color (init_color() failed)r)rrrrw)rrr)r2i) r rr+r init_colorrrQrrrrr)roldr r comps rtest_init_colorTestCurses.test_init_colors&&(( MM/ 0""1% G   a &# & ))13s3!Q1% --a0)<!T4. --a02DE==1$""8,()S) ))8:c:(AsD1 --h7H__&E   j&*;*;UAq! L'D   j&*;*;Qa K   j&*;*;Q4 K   j&*;*;Q1d K#|| G MME F GsI%JJc[Rn[[S5(a[R"5(aUS[R-S-- n[R"5(aS[R s=::aS:aO O[ U[5n[R"US- SS5 U$U$![a [RnU$f=f)Nncurses_versionrsrw)r}rw)r}rsr) r rrhas_extended_color_supportrrmin SHORT_MAX init_pairr)r pair_limits rget_pair_limitTestCurses.get_pair_limits'' 6, - -0022a o11 5577!7!7@&@ Y7  0  aA6z 0#//  0s"CCCc[[S5(d*UR[R"S5[5 [R"S5 UR 5S- nUS:a[R"U5 UR 5H(nUR[[RU5 M* g)Nuse_default_colorsrrw) rr r pair_contentDEFAULT_PAIR_CONTENTSrrrr)rmaxpairpairs rtest_pair_contentTestCurses.test_pair_contentsv344 MM&--a02G HA%%'!+ Q;    (NN$D   j&*=*=t D%rc8[R"S5n[R"S/UQ76 UR"[RS/UQ76 [R"SSS5 UR [R"S5S5 [R S- n[R"SUS5 UR [R"S5US45 [R"SSU5 UR [R"S5SU45 UR 5S- nUS:a>[R"USS5 UR [R"U5S5 UR5H*nUR[[RUSS5 M, UR5HQnUR[[RSUS5 UR[[RSSU5 MS g)Nrwrr0) r r rrQrrrrrrr)rrr r"r#r s rtest_init_pairTestCurses.test_init_pairs!!!$!S! ((!2c2Aq! ,,Q/8==1$Ha( ,,Q/(A?Ax( ,,Q/!X?%%'!+ Q;   Wa +   V0096 BNN$D   j&*:*:D!Q G%%%'E   j&*:*:Aua H   j&*:*:Aq% H(rcSHvn[R"U5nUR[R"U5X5 UR[R"U[R-5U5 Mx UR[R"S5S5 UR[R"S5S5 g)N)rrwrr)r color_pairr pair_numberr)rr#attrs rtest_color_attrsTestCurses.test_color_attrssD$$T*D   V//5t B   V//v}}0DEt L **1-q1 ++A.2rrc*[R"S5n[R"5 UR [R"S5S5 UR U[5 g![Ra UR S5 Ndf=f)Nrz1cannot change color (use_default_colors() failed)r1)r r rrr+rrr!)rrs rtest_use_default_colors"TestCurses.test_use_default_colorssv!!!$ O  % % ' ,,Q/: c01|| O MMM N OsA**%BBcUR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[[RS 5 UR [R"S 5[ 5 g) Nrrrys^Ms^?rs^@r2)rr keynamerrr~rris r test_keynameTestCurses.test_keynames +T2 +U3 ,e4 *E2 *fnnb9 fnnS159rhas_keyc0[R"S5 g)Nry)r r8ris r test_has_keyTestCurses.test_has_keysrrgetmousec$[R"[R5upUS:XaURS5 [R"S5 [R "SSSS[R5 [R "5ng)Nrzmouse stuff not availablerr)r mousemaskBUTTON1_PRESSEDr+ mouseinterval ungetmouser<)r availmaskoldmaskms r test_getmouseTestCurses.test_getmousese%//0F0FG > MM5 6R !Q1f&<&<= OO rpanelc[R"SS5n[RRU5nUR [RR SS9 UR 5 SSS5 g!,(df  g=f)Nrrz!userptr should fail since not set)msg)r rrG new_panelrruserptr)rwps rtest_userptr_without_set#TestCurses.test_userptr_without_set se MM"b ! LL " "1 %   v||11#FH IIKHHHs A99 Bcf[R"SS5n[RRU5n[ 5n[ R "U5n[S5HnURU5 M URS5 UR[ R "U5US5 g)Nrrrzset_userptr leaked references) r rrGrJobjectr@ getrefcountr& set_userptrr)rrLrMobjnrefsr+s rtest_userptr_memory_leak#TestCurses.test_userptr_memory_leaks MM"b ! LL " "1 %h$sA MM#  d -u8 :rc^[R"SS5n[RRU5m"U4SjS5nTR U"55 TR S5 g)Nrrc">\rSrSrU4SjrSrg)+TestCurses.test_userptr_segfault..Ai'c(>TRS5 grh)rS)rrGs r__del__3TestCurses.test_userptr_segfault..A.__del__(s!!$'rr%N)__name__ __module__r__firstlineno__r\__static_attributes__)rGsrrrZ's  ( (rr)r rrGrJrS)rrLrrGs @rtest_userptr_segfault TestCurses.test_userptr_segfault#sQ MM"b ! &&q) ( ( !# $rc[R"SS5n[RRU5n[ U[ U55 g)Nrr)r rrGrJrr)rrLrGs rtest_disallow_instantiation&TestCurses.test_disallow_instantiation-s6 MM"b ! &&q)$T4;7ris_term_resizedc[R[Rp!UR[R"X5S5 UR[R"US- US- 5S5 g)NFrwT)r LINESCOLSrrgrlinesr{s rtest_is_term_resizedTestCurses.test_is_term_resized5sMllFKKt f,,U95A f,,U1Wd1f=tDr resize_termc:[R"5 [R[Rp!US- nUS-n[R"X45 UR [RU5 UR [RU5 [R"X5 UR [RU5 UR [RU5 UR [5 [R"SS5 SSS5 UR [5 [R"SS5 SSS5 [R"5nUR5 g!,(df  Ni=f!,(df  NE=fNrwi) r update_lines_colsrirjrorrrr]rarrlr{ new_linesnew_colsrcs rtest_resize_termTestCurses.test_resize_term;s  "llFKKtAI !89/ y1 h/5' u- d+   } -   ua (.   } -   q% (.nn . - - -E;5F ; F  F resizetermc:[R"5 [R[Rp!US- nUS-n[R"X45 UR [RU5 UR [RU5 [R"X5 UR [RU5 UR [RU5 UR [5 [R"SS5 SSS5 UR [5 [R"SS5 SSS5 [R"5nUR5 g!,(df  Ni=f!,(df  NE=frq) r rrrirjryrrrr]rarss rtest_resizetermTestCurses.test_resizetermQs  "llFKKtAI !8). y1 h/%& u- d+   } -   eQ '.   } -   a '.nn . - - -rxc[R"S5 URURR 5S5 [R"S5 URURR 5S5 [R"S5 URURR 5S5 g)NrrBrC)r rrrgetkeyris r test_ungetchTestCurses.test_ungetchgs}t ++-s3s ++-s3r ++-s3rcd[R"S5 URR5 g)Ni)r rrrris rtest_issue6243TestCurses.test_issue6243ost r unget_wchr)c)rqr{z.unget_wch is broken in ncurses 5.7 and earlierc URnURnSHnURU5 [R "U5 UR5nURXS5 [U5n[R "U5 UR5nURXS5 M g![a Mf=f![ a1nURSU<SUR<SU<35 SnANSnAff=f)N)réru􏿿z unget_wch(z) failed with encoding z: ) rrrrr r Exceptionfailget_wchrord)rrrcherrreadcodes rtest_unget_wchTestCurses.test_unget_wchss??7B  (# 8  $>>#D   T &r7D   T ">>#D   T &!8&   8 #788 8s(B/C/ B=<B= C; 'C66C;c8URnSSKnURnURU5 UR [ 5 SUlSSS5 X1lUR [ 5 U?SSS5 g!,(df  N5=f!,(df  g=f)Nrrr)rcodecsrlookuprrd)rrrrs r test_encodingTestCurses.test_encodingso?? h   y ) FO*"   y )* )* )* )sA:.B : B Bz6Signature information for builtins requires docstringscURn[R"UR5nUR U5 URR RS5SnURSU5 g![ a NGf=f)Nrmrz[y, x,]) rinspect signaturer assertFalser__doc__splitr)rrrhuman_readable_signatures rtest_issue21088TestCurses.test_issue21088sy ))&,,7I   Y '$*<<#7#7#=#=d#CA#F  i!9:   s1A:: BBc[R"SSSS5n[RRUSS9nUR 5up4UR US- US- 5 UR S5 g)Nrqr3rsT) insert_moder)r rtextpadTextboxrr5_insert_printable_char)rrrerlr{s rtest_issue13051TestCurses.test_issue13051s`mmAr1a(nn$$Sd$;lln  57DF# ""3'r)rMrNrYrN)Tr^r_rr` classmethodrGrdrrjrnrrrrrrrrrrrrrrr&rr r,r3r8r=rDrirrrwrrrrrrrrrrrrrrrrrrr.r rrr$r'r-r0r6r:rErNrVrbrrermrvr{rrrskipIfgetattrr rrr rrrar%rrr7r7?s ''.`(#$ )$% 23h 1.>`$5L 5DF> 0;,<((>T !)H*H<EBC:!*2+2!+1,1 ?62p ?00 $ :,\+&'! /0.)&*&-($)$(#2$2P4A?JGGLL:" E EII.33./202:)$%*%&'"#'" :# :'" # '"8#8 +,E-E -()*,'(*4+& __WV%6>GEG'G''*  __)MO;O;8!*(+(rr7cR\rSrSr\"S5S5r\"S5S5rSrSrg) MiscTestsirrcB[R"5 [R[Rp!S=[l[l[R"5 UR [RU5 UR [RU5 g)Nr)r rrrirjrrks rtest_update_lines_cols MiscTests.test_update_lines_colss_  "llFKKt%&& v{  " u- d+rrc[Rn[(a[S[R3SS9 UR USS[ 5 UR [U5S5 UR US[5 UR US[5 UR US[5 UR UR[5 UR UR[5 UR UR[5 UR USUR5 UR USUR5 UR USUR5 URURS5 URURS5 URURS5 g)Nzncurses_version = T)r<rtrrwrs) r rrr>r~tuplerrrmajorminorpatchassertGreaterEqual)rvs rtest_ncurses_versionMiscTests.test_ncurses_versionsO  " " 7 &v'='=&>?t L adE* Q# adC( adC( adC( aggs+ aggs+ aggs+ 1qww' 1qww' 1qww' + + +rcZ[R"5nURU[5 grh)r rr~r)rrs rtest_has_extended_color_support)MiscTests.test_has_extended_color_supports  - - / a&rr%N) r^r_rr`rrrrrar%rrrrs9-.,/,+,,-,&'rrc8\rSrSrSrSrSrSrSrSr Sr g ) TestAsciiic[RRH-nUR[ [RU5U5 M/ grh)r ascii controlnames assertTruer)rrs rtest_controlnamesTestAscii.test_controlnamess/LL--D OOGFLL$7 >.rc~ ^^^UUU4Sjn[S5GHm[T5m[T/5nU"[RR UR 55 U"[RR UR 55 U"[RRUR55 U"[RRUR55 U"[RRUR55 U"[RRUR55 U"[RRTS:5 U"[RRTS:5 U"[RRTS:5 U"[RRTS:=(d TS:H5 U"[RRTS;5 U"[RR STs=:=(a S:*Os 5 U"[RR"STs=:*=(a S:*Os 5 U"[RR$T[&R(;5 U"[RR*T[&R,;5 GM SS S[.R0[.R0S -4GHmTR3[RR T55 TR3[RR T55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RRT55 TR3[RR!T55 TR3[RR#T55 TR3[RR%T55 TR3[RR+T55 GM TR3[RRS 55 g) Nc>TRTUS9 TRU"T5U5 TRU"T5U5 SSS5 g!,(df  g=f)N)rr)rr)rexpectedrr+rs rcheck$TestAscii.test_ctypes..checksG.  a(3  a(3/..s 1A  Ar4r r3z ~rr2rw)r&chrrr risalnumisalphaisdigitislowerisspaceisupperisasciiismetaisctrliscntrlisblankisgraphisprintispunctstring punctuationisxdigit hexdigitsr@ maxunicoder)rrbrr+s` @@r test_ctypesTestAscii.test_ctypess 4 sAAAqc A &,,&& 4 &,,&& 4 &,,&& 4 &,,&& 4 &,,&& 4 &,,&& 4 &,,&&C 0 &,,%%qCx 0 &,,%%q2v . &,,&&B(:!s( ; &,,&&U 3 &,,&&Q # 6 &,,&&a3 7 &,,&&V-?-?(? @ &,,''f.>.>)> ?%(b#s~~s~~a/?@A   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\003 4   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\11!4 5   V\\2215 6A" ,,R01rc[RRnURU"S5S5 URU"S5S5 URU"[S55[S55 g)NÁr)r rrr)rrs r test_asciiTestAscii.test_asciisV "" v, sS) s6{+SX6rc[RRnURU"S5S5 URU"S5S5 URU"S5S5 URU"[ S55[ S55 g)NJrm@)r rctrlrr)rrs r test_ctrlTestAscii.test_ctrlsi||   cD) dT* cD) c#hT3rc[RRnURU"S5S5 URU"S5S5 URU"[ S55S5 g)NrmŠrr)r raltrr)rrs rtest_altTestAscii.test_alt"sQll TF+ S6* SX-rc[RRnURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S 5S 5 URU"[ S55S5 URU"[ S55S5 URU"S 5S 5 URU"S 5S5 URU"[ S 55S 5 URU"[ S 55S5 g)Nrrra z^?rmz^Jrz^@rz!^Jrz!A)r rrqrr)rrqs rrrTestAscii.test_unctrl(s)$$ c* c* c* c* . t, t, C)3/ D *D1 / . F ,e4 F ,d3rr%N) r^r_rr`rrrrrrrrar%rrrrs!?+2Z7 4. 4rrc /SQnUR5up#[USU5H#upEURUSUSX4US- :H- 5 M% g)N) r zdolor sit amet, consecteturzadipiscing elit,zsed do eiusmodztempor incididuntz ut labore etz dolore magnazaliqua.rrw)r enumerater)rtextmaxymaxxrlines rrr:sR DJDT%4[) 1a5tD1H}567*rcJ\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) TextboxTestiKc[[RS9UlSURRlSURR l[RRUR5Ul g)N)spec)rwrw)rrr7) rr windowmock_winr return_valuerrrtextboxris rrdTextboxTest.setUpLsP!v}}5 +1 (.6 +~~--dmm< rcURR5 [RR UR5nURR R 5 URRR S5 URURS5 URURS5 URUR5 URR5 g)zTest textbox initialization.rwFN) r reset_mockr rrrassert_called_once_withrrr stripspacesrlastcmd)rtbs r test_initTextboxTest.test_initRs   " ^^ # #DMM 2 668 44Q7 / + "**%   "rcXURR5 URR[ S55 URR R [ S55 URR[ S55 URR R [ S55 URR[ S55 URR R [ S55 URR5 g)z%Test inserting a printable character.rrrN)rr r do_commandrrassert_called_withris r test_insertTextboxTest.test_insert]s   " C) ..s3x8 C) ..s3x8 C) ..s3x8   "rcURR5 URR[R R 5 URR[R5 URR[R R5 URRRS:XdeURR5 g)zTest deleting a character.rtN) rr rrr rBS KEY_BACKSPACEDELr call_countris r test_deleteTextboxTest.test_deletehs   "  0  4 45  0 01}}""--222   "rc URR5 URR[R 5 URR RSS5 URR5 g)zTest moving the cursor left.rwrN)rr rrr KEY_LEFTrrris rtest_move_leftTextboxTest.test_move_leftqR   " 0 --a3   "rc URR5 URR[R 5 URR RSS5 URR5 g)zTest moving the cursor right.rwrsN)rr rrr KEY_RIGHTrrris rtest_move_rightTextboxTest.test_move_rightxsT   "  0 01 --a3   "rcURR5 URR[R 5 URR RSS5 URR[R5 URR RSS5 URR5 g)z+Test moving the cursor left and then right.rwrrsN) rr rrr rrrr#ris rtest_move_left_and_right$TextboxTest.test_move_left_and_rights   " 0 --a3  0 01 --a3   "rc URR5 URR[R 5 URR RSS5 URR5 g)zTest moving the cursor up.rrwN)rr rrr KEY_UPrrris r test_move_upTextboxTest.test_move_upsR   "  . --a3   "rc URR5 URR[R 5 URR RSS5 URR5 g)zTest moving the cursor down.rsrwN)rr rrr KEY_DOWNrrris rtest_move_downTextboxTest.test_move_downr!r)rrN)r^r_rr`rdrrrrr$r'r+r/rar%rrrrKs/= # #######rr__main__)*r!rrOrr@rWr unittest.mockr test.supportrrrrrr r test.support.import_helperr r curses.panel ImportErrorrr&r.environgetr?r COLOR_WHITErr!rrTestCaser7rrrrr^mainr%rrr<s #&&&5   x  n  < zz~~f   ++,    T.TY.=DF )46x(""x(6Fx(v#!'!!!'HU4!!U4p8"I#(##I#X z MMO{+  sEE)(E)