7ec@sydZddlZddlZddlmZmZmZddlZddlm Z ddl m Z m Z ddl mZdZdZd dd YZd ejfd YZd ejfdYZdejfdYZdejfdYZdejfdYZdejfdYZdejfdYZedkruejddddndS(s9Test functions and SearchEngine class in SearchEngine.py.iN(t BooleanVart StringVartTclError(t SearchEngine(tVartMbox(tTextcCstt_tt_tt_dS(N(RtseRRRt tkMessageBox(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt setUpModules  cCstt_tt_tt_dS(N(RRRR(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttearDownModules  tMockcBseZdZRS(cOsdS(N((tselftargstkwargs((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt__init__t(t__name__t __module__R(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR stGetTestcBseZdZRS(cCs~tj}tt_z[t}tj|}|j|tj|j|j||jtj||Wd|t_XdS(N(RRR tgettassertIsInstancetassertIst _searchengine(R t saved_Enginetroottengine((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_get#s   (RRR(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR!stGetLineColTestcBseZdZRS(cCsb|jtjdd|jtjdd |jttjd|jttjddS( Ns1.0iis1.11i s 1.0 lineendtend(ii(ii (t assertEqualRt get_line_colt assertRaisest ValueError(R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_get_line_col1s(RRR"(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR/stGetSelectionTestcBseZdZRS(cCsst}|jddd}||_|jtj|dd}||_|jtj|ddS( Ns1.0s Hello World!cSs*|dkrdS|dkr dStdS(Ns sel.firsts1.0ssel.lasts1.12(R(ts((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytselKs   s1.12cSs|dkrdStdS(Ntinserts1.5(R(R$((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytmarkSs s1.5(s1.0s1.12(s1.5s1.5(tmockTextR&tindexRRt get_selection(R ttextR%R'((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_get_selectionEs     (RRR,(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR#8s tReverseSearchTestcBseZdZRS(cCs|j}d}tjd}|tj||t|jd |tj||djd |tj||djd |tj||djd |tj||dddS( NsHere is an 'is' test text.tisi ii iii(i i(i i(ii(ii(RtretcompileRtsearch_reversetlentspantNone(R tEqualtlinetprog((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_search_reverse]s ("""(RRR8(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR-[stSearchEngineTestcBs>eZdZdZdZdZdZdZRS(cCstjdd|_dS(NR(RRR4R(R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytsetUpkscCsW|j}|j}||jd|jd||jd||jt|jjd||jt||j t|j jd||j t||j t|j jd||j t||j t|jjd||j t||jt|jjd||jtdS(NRthelloii(RRtgetpattsetpattisretFalsetrevartsettTruetiscasetcasevartiswordtwordvartiswraptwrapvartisbacktbackvar(R RR5((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt test_is_getps(   cCsc|j}|jd|j|jd|jjd|jd|j|jddS(Ns\sis\\s(Rt setcookedpatRR<R@RA(R R((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_setcookedpats    cCs|j}|j}||jd|jd||jd|jjt||jd|jjt|jd||jd|jjt||jddS(NRR;s \bhello\bs\ss\\s( RRt getcookedpatR=RFRARBR?R@(R RR5((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_getcookedpats    cCs|j}|j}|jd|j}||jtjdtjj|jj d|j}||jtjdjd|jd||jd|jd|j j d||jd|jt j jddS(NtHelloiiRt+s#Error: nothing to repeat Pattern: +(RRR=tgetprogtpatternR/R0t IGNORECASERDRAR4R@Rt showerrortmessage(R RR5ttemppat((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt test_getprogs    "   cCstj}|j}d}d}||jj||d||jdd|d}||j|||jj||dd||jd|d7}||j|dS(Ns[a-zs$unexpected end of regular expressionsRegular expression errorsError: s Pattern: [a-zis Offset: 5(RRURRt report_errorR4ttitleRV(R RUR5tpattmsgtexpected_message((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_report_errors   (RRR:RKRMRORXR^(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR9hs      t SearchTestcBs eZedZdZRS(cCskt|_d}|jjd|tjd|_tjd|_ d|j _ d|j _ dS(Ns&First line Line with target Last line s1.0ttargetcWs d|fS(Ntf((R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytRcWs d|fS(Ntb((R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRbR( R(R+R&R/R0R[RRR4Rtsearch_forwardtsearch_backward(tclst test_text((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt setUpClasss c Cs|j}|j}|j}|j}|j}|jjd|||dd}||_||||d||ddt t ff|j jt ||||d||ddt t ff|j jt |j jt ||||d||ddt t ff|j jt d}||_||||d||ddt t ff||||t d||dd t t ff|j jt ||||d||dd t t ff||||t d||ddt t ffdS( NcSs|dkrdStdS(NR&s1.5(R(R$((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR's RaiiRccSs*|dkrdS|dkr dStdS(Ns sel.firsts2.10ssel.lasts2.16(R(R$((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR%s   iii ( RRt search_textR+R[tpatvarRAR4R)RBR?RHRJ(R R5RtsearchR+R[R'R%((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt test_searchs.       ...  .1.(RRt classmethodRhRl(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR_stForwardBackwardTestcBs2eZedZdZdZdZRS(cCstjd|_t|_d|j_d}|jjd|tj d|_ dd f|_ tj d|_ tj d |_ dS( NcSsdS(Ns4.0((R)((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRbRs&First line Line with target Last line s1.0R`ii itxyzs\w*(i i(RRR4RR(R+R)R&R/R0R[trestfailpattemptypat(RfRg((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRh s csdfd}|S(Nics@j|||||}|r<|d|djfS|S(Nii(R+R3(R[R6tcoltwraptokRp(tfuncR (s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRk s((R RvRk((RvR s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt make_searchscCs|j}|j|jj}|j}|||ddt|j|||ddt|j|||ddtd|||ddt|j|||j ddtd|||j ddtdtddf|||j ddt|jdS( Niiiii i Ru(i i ( RRwRRdR[RBRpR?R4RqRr(R R5tforwardR[((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_search_forward&s  +cCs|j}|j|jj}|j}|||ddt|j|||ddt|j|||ddtd|||ddt|j|||j ddtd|||j ddtdtdd f|||j ddtdd fdS( Niiiiii i Ru(i i (ii ( RRwRReR[RBRpR?R4RqRr(R R5tbackwardR[((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_search_backward7s  +(RRRmRhRwRyR{(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRns  t__main__t verbosityitexit((t__doc__R/tunittesttTkinterRRRRtidlelibRRtidlelib.idle_test.mock_tkRRRR(R R R tTestCaseRRR#R-R9R_RnRtmain(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyts&      # `=C