ó {G_Tc@s¥ddlZddlZddlZddlZddlmZmZedƒedƒZedƒe_ej j dƒZ e se dkr£ej de ‚nej dkrÄej d ƒ‚nd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zedkr8ejeƒeƒniejjƒsYej dƒ‚nejdejjƒƒzejƒZeeƒWdejƒXeƒdS(iÿÿÿÿN(trequirest import_moduletcursess curses.paneltTERMtunknowns*$TERM=%r, calling initscr() may cause exittcygwins!cygwin's curses mostly just hangscCs¼tjddƒ}tjddddƒ}tjddddƒ}xY|j|jgD]E}x<ddtjfd'dddtjfgD]}||Œq†WqUWx·|j|j|j|j|j |j |j |j |j |j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|jgD] }|ƒqGW|j ddƒ|j ddtjƒ|j ddddƒ|j ddddtjƒ|j!tjƒ|j"tjƒ|j#tjƒ|j$dƒ|j$dtj%ƒ|j&dƒ|j&dtj%ƒ|j'd d d d d dddƒ|j'ddddddddƒy&|j'd d d d d gddƒWnt(k rn Xt)d‚|j*dƒ|j+ddƒ}|j+ddddƒ}|j,ddƒ|j-dƒ|j-dtjƒ|j.ddƒ|j.ddtjƒ|j.ddddƒ|j.ddddtjƒ|j/dƒ|j0dƒ|j1dƒ|j2dƒ|j3dƒ|j4ddƒ|j4ddtjƒ|j4ddddƒ|j4ddddtjƒ|j5dƒ|j5dtjƒ|j5dddƒ|j5dddtjƒ|j6d ƒ|j7dƒ|j8dƒ|j9ddƒ|j:ddƒ|j;dƒ|j<dƒ|j=|ƒ|j>|ƒ|j=|ddddddƒ|j>|ddddddƒ|j?ddƒ|j@dƒ|jAƒ|jAdƒ|jAd!ƒ|j9d"dƒ|jBddƒ|jCddƒ}|jCddddƒ}|jDdƒ|jEdƒ|jFddƒ|jFddd ƒ|jGddƒ|jGddtjHƒ|jIdddtjJƒ|jIdtjƒ|jIdd#tjKƒ|jItjJƒ|jƒ|jGddddƒ|jGddddtjHƒtLtd$ƒrœ|jMƒntLtd%ƒr¸|jNƒnd&S((sTest the methods of windowsi iitait1234it iAiBiCiDiEiFiGiHt|t!t-t_t+s\t#t/s(Expected win.border() to raise TypeErroriii tctabctdefiiýÿÿÿi itresizetencloseN(iiR(ORtnewwintaddchtaddstrtA_BOLDtboxtcleartclrtobottclrtoeolt cursyncuptdelchtdeletelnterasetgetbegyxtgetbkgdtgetkeytgetmaxyxtgetparyxtgetyxtinchtinsertlntinstrt is_wintouchedt noutrefresht redrawwintrefreshtstandouttstandendtsyncdowntsyncupttouchwint untouchwintaddnstrtattrontattrofftattrsettbkgdt A_REVERSEtbkgdsettbordert TypeErrort RuntimeErrortclearoktderwintmvderwintechocharthlinetidcoktidloktimmedoktinschtinsdellntinsnstrtinsstrtis_linetouchedtkeypadtleaveoktmovetmvwintnodelayt notimeouttoverlayt overwritetredrawlntscrolloktscrollt setscrregtsubwintsyncokttimeoutt touchlinetvlinet A_STANDOUTtchgattA_BLINKt A_UNDERLINEthasattrRR(tstdscrtwintwin2tmethtargstwin4twin3((s,/usr/local/lib/python2.7/test/test_curses.pyt window_funcs!sÄ                            cCsx«tjtjtjtjtjtjtjtjtj tj tj tj tj tjtjtjtjtjtjtjtjtjtjtjtjgD] }|ƒqWtjdƒrÍtjdƒntjdƒtjƒtjdƒtjƒ}|j |ƒ|j!dƒtj"|ƒ|j#ƒtj$dƒtj%dƒtj&dƒtj'dƒtj(ddƒtj)ddƒ}tj)ddddƒ}tj*ƒtj*dƒtj+dƒtj,ƒtj-ƒtj-dƒtj.ddƒtj/dƒtj0d ƒtjd ƒtj1d ƒtj2t3j4j5ƒƒtj6d ƒtj7d ƒtj8dƒtj ƒråtj9ƒtj:d ddƒtj;dƒtj<d ƒtj=tj>dƒtj?dƒt@td ƒråtjAƒqånt@tdƒrtjBdƒnt@tdƒr#tjCdƒnt@tdƒr‘tjDtjEƒ\}}|dkr‘tjFdƒtjGddddtjEƒtjHƒ}q‘nt@tdƒr¶tjI|jJƒŒnt@tdƒrÛtjK|jJƒŒnt@tdƒrtjL|jJƒŒndS(sTest module-level functionstcnormiiidi2iRthctcotcrRituse_default_colorstkeynamei thas_keytgetmousei tis_term_resizedt resizetermt resize_termN(MRtbaudratetbeeptcan_change_colortcbreakt def_prog_modetdoupdatetfiltertflashtflushinpt has_colorsthas_icthas_iltisendwintkillchartlongnametnocbreaktnoechotnonlt noqiflushtnorawtreset_prog_modet termattrsttermnamet erasechartgetsyxttigetstrtcurs_sett delay_outputtechottempfilet TemporaryFiletputwintseektgetwintcloset halfdelayt intrflushtmetatnapmstnewpadRtnltputptqiflushtrawtsetsyxt tigetflagttigetnumttparmt typeaheadtsyst __stdin__tfilenotunctrltungetchtuse_envt start_colort init_pairt color_contentt color_pairt pair_contentt COLOR_PAIRSt pair_numberR`RmRnRot mousemasktBUTTON1_PRESSEDt mouseintervalt ungetmouseRpRqR$RrRs(RatfunctfRbt availmasktoldmasktm((s,/usr/local/lib/python2.7/test/test_curses.pyt module_funcs–s†                                c Csmddlm}xVdddddddddg D]3\}}|j|ƒ|kr2dGt|ƒGHq2q2WdS(Niÿÿÿÿ(tasciiRtAt;Rss^?s s^Jts^@sŠs!^JsÁs!As curses.unctrl fails on character(RR(R½R½(R¾R¾(RR(ss^?(s s^J(ss^@(sŠs!^J(sÁs!A(RR¼R¨trepr(R¼tchtexpected((s,/usr/local/lib/python2.7/test/test_curses.pyt unit_testsçs  cCsYtjddƒ}tjj|ƒ}y|jƒtd‚Wntjjk rTnXdS(Ni s!userptr should fail since not set(RRtpanelt new_paneltuserptrR=terror(Ratwtp((s,/usr/local/lib/python2.7/test/test_curses.pyttest_userptr_without_setós  cCs’tjddƒ}tjj|ƒ}tƒ}tj|ƒ}x!tdƒD]}|j|ƒqIW|jdƒtj|ƒ|krŽt d‚ndS(Ni idsset_userptr leaked references( RRRÄRÅtobjectR¥t getrefcounttranget set_userptrtNoneR=(RaRÈRÉtobjtnrefsti((s,/usr/local/lib/python2.7/test/test_curses.pyttest_userptr_memory_leakýs  csLtjj|ƒ‰dd‡fd†ƒY}ˆj|ƒƒˆjdƒdS(NR½cseZ‡fd†ZRS(csˆjdƒdS(N(RÎRÏ(tself(RÄ(s,/usr/local/lib/python2.7/test/test_curses.pyt__del__ s(t__name__t __module__RÕ((RÄ(s,/usr/local/lib/python2.7/test/test_curses.pyR½ s((RRÄRÅRÎRÏ(RaR½((RÄs,/usr/local/lib/python2.7/test/test_curses.pyttest_userptr_segfault scCssttdƒrotjtj}}tj|d|dƒtj|dks`tj|dkrotd‚qondS(NRris,Expected resizeterm to update LINES and COLS(R`RtLINEStCOLSRrR=(Ratlinestcols((s,/usr/local/lib/python2.7/test/test_curses.pyttest_resize_terms &cCstjdƒ|jƒdS(Ni(RR©R#(Ra((s,/usr/local/lib/python2.7/test/test_curses.pyttest_issue6243s cCsftjƒzJt|ƒt|ƒt|ƒt|ƒt|ƒt|ƒt|ƒWdtj ƒXdS(N( RtsavettyR»RhRÊRÓRØRÝRÞtresetty(Ra((s,/usr/local/lib/python2.7/test/test_curses.pytmains       t__main__ssys.__stdout__ is not a ttytfd( R¥R‘tostunittestttest.test_supportRRRRÄtenvirontgetttermtSkipTesttplatformRhR»RÃRÊRÓRØRÝRÞRáRÖtwrappert __stdout__tisattyt setuptermR§tinitscrRatendwin(((s,/usr/local/lib/python2.7/test/test_curses.pyt s<$    u Q