JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf,@sdZddlZddlZddlmZmZmZddljZ ddl m Z ddl mZmZddl mZddZd d ZGd d d ZGd ddejZGdddejZGdddejZGdddejZGdddejZGdddejZGdddejZedkr{ejdddddS)z9Test functions and SearchEngine class in SearchEngine.py.N) BooleanVar StringVarTclError) SearchEngine)VarMbox)TextcCstt_tt_tt_dS)N)rserrr tkMessageBoxr r H/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_searchengine.py setUpModules  r cCstt_tt_tt_dS)N)rr rr r r r r tearDownModules  rc@seZdZddZdS)MockcOsdS)Nr )selfargskwargsr r r __init__sz Mock.__init__N)__name__ __module__ __qualname__rr r r r rs rc@seZdZddZdS)GetTestc Cs~tj}tt_z[t}tj|}|j|tj|j|j||jtj||Wd|t_XdS)N)r rrgetZassertIsInstanceZassertIsZ _searchengine)rZ saved_Enginerootenginer r r test_get#s   zGetTest.test_getN)rrrrr r r r r!s rc@seZdZddZdS)GetLineColTestcCsb|jtjdd|jtjdd |jttjd|jttjddS) Nz1.0rz1.11 z 1.0 lineendend)rr)rr) assertEqualr Z get_line_colZ assertRaises ValueError)rr r r test_get_line_col1sz GetLineColTest.test_get_line_colN)rrrr"r r r r r/s rc@seZdZddZdS)GetSelectionTestcCsyt}|jdddd}||_|jtj|d dd}||_|jtj|d dS) N1.0z Hello World!cSs*|dkrdS|dkr dStdS)Nz sel.firstz1.0zsel.lastz1.12)r)sr r r selKs   z0GetSelectionTest.test_get_selection..sel1.12cSs|dkrdStdS)Ninsertz1.5)r)r%r r r markSs z1GetSelectionTest.test_get_selection..mark1.5)r$r')r*r*)mockTextr(indexr r Z get_selection)rtextr&r)r r r test_get_selectionEs     z#GetSelectionTest.test_get_selectionN)rrrr.r r r r r#8s r#c@seZdZddZdS)ReverseSearchTestcCs|j}d}tjd}|tj||t|jd |tj||djd |tj||djd |tj||djd |tj||dddS) NzHere is an 'is' test text.is  )r1r2)r1r2)r4r5)r4r5)r recompiler Zsearch_reverselenspan)rEquallineprogr r r test_search_reverse]s ("""z%ReverseSearchTest.test_search_reverseN)rrrr>r r r r r/[s r/c@sXeZdZddZddZddZddZd d Zd d Zd S)SearchEngineTestcCstjdd|_dS)Nr)r rr)rr r r setUpkszSearchEngineTest.setUpcCsW|j}|j}||jd|jd||jd||jd|jjd||jd||jd|jjd||jd||j d|j jd||j d||j d|j jd||j d||j d|jjd||j ddS)NhelloFrTr)rr getpatsetpatZisrerevarsetZiscasecasevarZiswordwordvarZiswrapwrapvarZisbackbackvar)rrr;r r r test_is_getps(   zSearchEngineTest.test_is_getcCsc|j}|jd|j|jd|jjd|jd|j|jddS)Nz\srz\\s)rZ setcookedpatr rCrErF)rrr r r test_setcookedpats    z"SearchEngineTest.test_setcookedpatcCs|j}|j}||jd|jd||jd|jjd||jd|jjd|jd||jd|jjd||jddS)NrArBTz \bhello\bFz\sz\\s)rr Z getcookedpatrDrHrFrE)rrr;r r r test_getcookedpats    z"SearchEngineTest.test_getcookedpatcCs|j}|j}|jd|j}||jtjdtjj|jj d|j}||jtjdjd|jd||jd|jd|j j d||jd|jt j j ddS)NZHellorrrA+z1Error: nothing to repeat at position 0 Pattern: +)rr rDZgetprogpatternr7r8 IGNORECASErGrFrEr showerrormessage)rrr;Ztemppatr r r test_getprogs    "   zSearchEngineTest.test_getprogcCstj}|j}d}d}||jj||d||jdd|d}||j|||jj||dd||jd|d7}||j|dS)Nz[a-zz$unexpected end of regular expressionzRegular expression errorzError: z Pattern: [a-zr4z Offset: 5)rrQr rZ report_errortitlerR)rrQr;patmsgZexpected_messager r r test_report_errors   z"SearchEngineTest.test_report_errorN) rrrr@rKrLrMrSrWr r r r r?hs      r?c@s.eZdZeddZddZdS) SearchTestcCsqt|_d}|jjd|tjd|_tjd|_dd|j_ dd|j_ dS)Nz&First line Line with target Last line z1.0targetcWs d|fS)Nfr )rr r r sz'SearchTest.setUpClass..cWs d|fS)Nbr )rr r r r[s) r+r-r(r7r8rUr rrsearch_forwardsearch_backward)cls test_textr r r setUpClasss zSearchTest.setUpClassc Cs|j}|j}|j}|j}|j}|jjd|||ddd}||_||||d||ddddff|jjd||||d||ddddff|jjd|j jd||||d||ddddff|j jdd d }||_||||d||d d ddff||||dd||d d ddff|j jd||||d||d d ddff||||dd||d d ddffdS)NcSs|dkrdStdS)Nr(z1.5)r)r%r r r r)s z$SearchTest.test_search..markrZrr4TFr\cSs*|dkrdS|dkr dStdS)Nz sel.firstz2.10zsel.lastz2.16)r)r%r r r r&s   z#SearchTest.test_search..sel ) r rZ search_textr-rUZpatvarrFr,rIrJ)rr;rsearchr-rUr)r&r r r test_searchs.       ...  .1.zSearchTest.test_searchN)rrr classmethodrarfr r r r rXs rXc@sFeZdZeddZddZddZddZd S) ForwardBackwardTestcCstjd|_t|_dd|j_d}|jjd|tjd|_ d |_ tjd |_ tjd |_ dS) NcSsdS)Nz4.0r )r,r r r r[sz0ForwardBackwardTest.setUpClass..z&First line Line with target Last line z1.0rYrbrdrcZxyzz\w*rdrc)rbri) r rrr+r-r,r(r7r8rUresfailpatemptypat)r_r`r r r ra s  zForwardBackwardTest.setUpClasscsdfdd}|S)Nrcs@j|||||}|r<|d|djfS|S)Nrr)r-r:)rUr<colZwrapokrj)funcrr r re sz/ForwardBackwardTest.make_search..searchr )rrorer )rorr make_searchszForwardBackwardTest.make_searchcCs |j}|j|jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jdddd dd |||jddd|jdS) NrrTFrbrd rnrrrr)rbrs)r rprr]rUrjrkrl)rr;ZforwardrUr r r test_search_forward&s  %z'ForwardBackwardTest.test_search_forwardcCs|j}|j|jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jdd dd dd |||jdddddS)Nrqr4TrbrFrcrrrdrnrrrr)rbrur4rr)rbrv)r rprr^rUrjrkrl)rr;ZbackwardrUr r r test_search_backward7s  %z(ForwardBackwardTest.test_search_backwardN)rrrrgrarprtrwr r r r rhs   rh__main__ verbosityrbexit)__doc__r7ZunittestZtkinterrrrZtkinter.messageboxZ messageboxr Zidlelibrr Zidlelib.idle_test.mock_tkrrrr+r rrZTestCaserrr#r/r?rXrhrmainr r r r s&     # `=C