a  zeD-@sddlmZddlZddlmZmZmZddlmZddl m Z m Z ddl m Z ddlZddZd d ZGd d d ZGd ddejZGdddejZGdddejZGdddejZGdddejZGdddejZGdddejZedkr ejdddS)) searchengineN) BooleanVar StringVarTclError) messagebox)VarMbox)TextcCstt_tt_tt_dSN)rserrrrr r W/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_searchengine.py setUpModulesrcCstt_tt_tt_dSr )rr rrr r r r tearDownModulesrc@seZdZddZdS)MockcOsdSr r )selfargskwargsr r r __init__ z Mock.__init__N)__name__ __module__ __qualname__rr r r r rsrc@seZdZddZdS)GetTestcCsbtj}tt_zHt}t|}||tj||j||t||W|t_n|t_0dSr )r SearchEnginergetZassertIsInstanceZassertIsZ _searchengine)rZ saved_Enginerootenginer r r test_get$s zGetTest.test_getN)rrrrr r r r r"src@seZdZddZdS)GetLineColTestcCsH|tdd|tdd|ttjd|ttjddS)N1.0)rz1.11)r! z 1.0 lineendend) assertEqualr Z get_line_colZ assertRaises ValueErrorrr r r test_get_line_col2sz GetLineColTest.test_get_line_colN)rrrr'r r r r r0src@seZdZddZdS)GetSelectionTestcCsVt}|dddd}||_|t|ddd}||_|t|ddS) Nr z Hello World!cSs |dkr dS|dkrdStdS)N sel.firstr sel.last1.12rsr r r selLs  z0GetSelectionTest.test_get_selection..sel)r r+cSs|dkr dStdSNinsert1.5r,r-r r r markTs z1GetSelectionTest.test_get_selection..mark)r2r2)mockTextr1indexr$r Z get_selection)rtextr/r3r r r test_get_selectionFs z#GetSelectionTest.test_get_selectionN)rrrr7r r r r r(9s r(c@seZdZddZdS)ReverseSearchTestcCs|j}d}td}|t||t|d|t||dd|t||dd|t||dd|t||dddS) NzHere is an 'is' test text.is) r; )r>)r$recompiler Zsearch_reverselenspan)rEquallineprogr r r test_search_reverse^s z%ReverseSearchTest.test_search_reverseN)rrrrGr r r r r8\sr8c@s<eZdZddZddZddZddZd d Zd d Zd S)SearchEngineTestcCstjdd|_dS)N)r)r rrr&r r r setUplszSearchEngineTest.setUpcCs|j}|j}||d|d||d||d|jd||d||d|jd||d|| d|j d|| d|| d|j d|| d|| d|jd|| ddS)NhelloFr!Tr)rr$getpatsetpatZisrerevarsetZiscasecasevarZiswordwordvarZiswrapwrapvarZisbackbackvarrrrDr r r test_is_getqs(      zSearchEngineTest.test_is_getcCsJ|j}|d||d|jd|d||ddS)N\sr!\\s)rZ setcookedpatr$rLrNrO)rrr r r test_setcookedpats    z"SearchEngineTest.test_setcookedpatcCs|j}|j}||d|d||d|jd||d|jd|d||d|jd||ddS)NrJrKTz \bhello\bFrVrW)rr$Z getcookedpatrMrQrOrNrTr r r test_getcookedpats     z"SearchEngineTest.test_getcookedpatcCs|j}|j}|d|}||jtdtjj|j d|}||jtdjd|d||d|t j j d|d|j d||d|t j j ddS)NZHellor!rrJzError: Empty regular expression+z-Error: nothing to repeat Pattern: + Offset: 0)rr$rMZgetprogpatternr@rA IGNORECASErPrOr showerrormessagerN)rrrDZtemppatr r r test_getprogs&     zSearchEngineTest.test_getprogcCstj}|j}d}d}||j||d||jdd|d}||j|||j||dd||jd|d7}||j|dS)Nz[a-zz$unexpected end of regular expressionzRegular expression errorzError: z Pattern: [a-zr=z Offset: 5)rr]r$rZ report_errortitler^)rr]rDpatmsgZexpected_messager r r test_report_errors    z"SearchEngineTest.test_report_errorN) rrrrIrUrXrYr_rcr r r r rHis rHc@s eZdZeddZddZdS) SearchTestcCsNt|_d}|jd|td|_td|_dd|j_ dd|j_ dS)N&First line Line with target Last line r targetcWsd|fS)Nfr rr r r rz'SearchTest.setUpClass..cWsd|fS)Nbr rhr r r rir) r4r6r1r@rArar rrsearch_forwardsearch_backwardclsZ test_textr r r setUpClasss   zSearchTest.setUpClassc Csx|j}|j}|j}|j}|j}|jd|||ddd}||_||||d||ddddff|jd||||d||ddddff|jd|j d||||d||ddddff|j dd d }||_||||d||d d ddff||||dd||d d ddff|j d||||d||d d ddff||||dd||d d ddffdS)NcSs|dkr dStdSr0r,r-r r r r3s z$SearchTest.test_search..markrgr!r=TFrjcSs |dkr dS|dkrdStdS)Nr)z2.10r*z2.16r,r-r r r r/s  z#SearchTest.test_search..sel ) r$rZ search_textr6raZpatvarrOr5rRrS)rrDrsearchr6rar3r/r r r test_searchs.         "  zSearchTest.test_searchN)rrr classmethodrortr r r r rds rdc@s0eZdZeddZddZddZddZd S) ForwardBackwardTestcCs`td|_t|_dd|j_d}|jd|td|_ d|_ td|_ td|_ dS) NcSsdS)Nz4.0r )r5r r r rirz0ForwardBackwardTest.setUpClass..rer rf)rp)rrrqZxyzz\w*) r rrr4r6r5r1r@rAraresfailpatemptypatrmr r r ros    zForwardBackwardTest.setUpClasscsdfdd }|S)Nrcs0j|||||}|r,|d|dfS|S)Nrr!)r6rC)rarEcolwrapokrwfuncrr r rs#sz/ForwardBackwardTest.make_search..search)rr )rr~rsr r}r make_search"szForwardBackwardTest.make_searchcCs|j}||jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jddddd d |||jddd|jdS) Nr!rTFrprr r|rp)rr)r$rrrkrarwrxry)rrDZforwardrar r r test_search_forward)sz'ForwardBackwardTest.test_search_forwardcCs|j}||jj}|j}|||ddd|j|||ddd|j|||dddd|||ddd|j|||jdddd|||jdd ddd d |||jdddd dS) Nrr=TrprFrqrrrrr)rp)r=r)r$rrrlrarwrxry)rrDZbackwardrar r r test_search_backward:sz(ForwardBackwardTest.test_search_backwardN)rrrrurorrrr r r r rvs  rv__main__rp) verbosity)Zidlelibrr ZunittesttkinterrrrrZidlelib.idle_test.mock_tkrrr r4r@rrrZTestCaserrr(r8rHrdrvrmainr r r r s$    # b=C