� {fc@sydZddlZddlZddlmZmZmZddlZddlm Z ddl m Z m Z ddl mZd�Zd�Zd dd ��YZd ejfd ��YZd ejfd��YZdejfd��YZdejfd��YZdejfd��YZdejfd��YZdejfd��YZedkruejdddd�ndS(s9Test functions and SearchEngine class in SearchEngine.py.i����N(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  tMockcBseZd�ZRS(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 stGetTestcBseZd�ZRS(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!stGetLineColTestcBseZd�ZRS(cCsb|jtjd�d�|jtjd�d �|jttjd�|jttjd�dS( 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/stGetSelectionTestcBseZd�ZRS(cCsst�}|jdd�d�}||_|jtj|�d�d�}||_|jtj|�d�dS( Ns1.0s Hello World!cSs*|dkrdS|dkr dSt�dS(Ns sel.firsts1.0ssel.lasts1.12(R(ts((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytselKs   s1.12cSs|dkrdSt�dS(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 tReverseSearchTestcBseZd�ZRS(cCs�|j}d}tjd�}|tj||t|��j�d �|tj||d�j�d �|tj||d�j�d �|tj||d�j�d �|tj||d�d�dS( 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>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cCstjdd�|_dS(NR(RRR4R(R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pytsetUpkscCsW|j}|j}||j�d�|jd�||j�d�||j�t�|jjd�||j�t�||j �t�|j jd�||j �t�||j �t�|j jd�||j �t�||j �t�|jjd�||j �t�||j�t�|jjd�||j�t�dS(NRthelloii(RRtgetpattsetpattisretFalsetrevartsettTruetiscasetcasevartiswordtwordvartiswraptwrapvartisbacktbackvar(R RR5((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt test_is_getps(   cCsc|j}|jd�|j|j�d�|jjd�|jd�|j|j�d�dS(Ns\sis\\s(Rt setcookedpatRR<R@RA(R R((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_setcookedpat�s    cCs�|j}|j}||j�d�|jd�||j�d�|jjt�||j�d�|jjt�|jd�||j�d�|jjt�||j�d�dS(NRR;s \bhello\bs\ss\\s( RRt getcookedpatR=RFRARBR?R@(R RR5((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyttest_getcookedpat�s    cCs�|j}|j}|jd�|j�}||jtjdtj�j�|jj d�|j�}||jtjd�jd�|jd�||j�d�|jd�|j j d�||j�d�|jt j jd�dS(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_getprog�s    "   cCs�tj}|j}d}d}||jj||�d�||jd�d|d}||j|�||jj||d�d�||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_error�s   (RRR:RKRMRORXR^(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR9hs      t SearchTestcBs eZed��Zd�ZRS(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.pyt�RcWs d|fS(Ntb((R ((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyRb�R( R(R+R&R/R0R[RRR4Rtsearch_forwardtsearch_backward(tclst test_text((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyt setUpClass�s c Cs|j}|j}|j}|j}|j}|jjd�|||�d�d�}||_||||�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 ff�dS( NcSs|dkrdSt�dS(NR&s1.5(R(R$((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR'�s RaiiRccSs*|dkrdS|dkr dSt�dS(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_search�s.       ...  .1.(RRt classmethodRhRl(((s;/usr/lib64/python2.7/idlelib/idle_test/test_searchengine.pyR_�stForwardBackwardTestcBs2eZed��Zd�Zd�Zd�ZRS(cCs�tjd�|_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 csd��fd�}|S(Nics@��j|||||�}|r<|d|dj�fS|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�|||ddt�d�|||ddt�|j�|||j ddt�d�|||j ddtdt�ddf�|||j ddt�|j�dS( 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�|||ddt�d�|||ddt�|j�|||j ddt�d�|||j ddtdt�dd f�|||j ddt�dd f�dS( 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