a  ze@sdZddlmZddlZddlmZddlZddlmZ ddl mZ ddl m Z dZdZGd d d ejZGd d d ZGd ddejZedkrejddddS)z Test history, coverage 100%.)HistoryN)requires)Text)idleConfza = 7zb = ac@sDeZdZdZeddZddZddZdd Zd d Z d d Z dS) StoreTestz7Tests History.__init__ and History.store with mock TextcCst|_t|j|_dSN)mkTexttextrhistoryclsr R/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_history.py setUpClassszStoreTest.setUpClasscCs|jddg|j_dS)N1.0end)r deleter selfr r rtearDownszStoreTest.tearDownc Cs`||jj|j||jjg||jj||jj||jjt ddddddS)Nmainrcyclicbool) ZassertIsr r assertEqual assertIsNoneprefixpointerrrZ GetOptionrr r r test_inits zStoreTest.test_initcCs<|jd||jjg|jd||jjgdS)Naz a )r storerrr r rtest_store_short$s  zStoreTest.test_store_shortcCsb|jt||jjtg|jt||jjttg|jt||jjttgdSr)r r line1rline2rr r rtest_store_dup*s    zStoreTest.test_store_dupcCs<t|j_d|j_|jt||jj||jjdS)Nr)r"r rrr r#rrr r rtest_store_reset2s  zStoreTest.test_store_resetN) __name__ __module__ __qualname____doc__ classmethodrrrr!r$r%r r r rrs rc@s$eZdZddZddZddZdS) TextWrappercCst|d|_d|_dS)N)masterF)tkTextr _bell)rr,r r r__init__;s zTextWrapper.__init__cCs t|j|Sr)getattrr )rnamer r r __getattr__>szTextWrapper.__getattr__cCs d|_dS)NT)r.rr r rbell@szTextWrapper.bellN)r&r'r(r/r2r3r r r rr+:sr+c@seZdZdZeddZddZeddZdd d d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZdS) FetchTestz-Test History.fetch with wrapped tk.Text. cCs tdt|_|jdS)NZgui)rtkZTkrootZwithdrawr r r rrGs zFetchTest.setUpClasscCsNt|j|_}|dd|dd|ddt||_tt g|j_dS)Nrz>>> iomarkz1.4left) r+r6r insertmark_setZ mark_gravityrr r"r#)rr r r rsetUpMs     zFetchTest.setUpcCs|j|`dSr)r6Zdestroyr r r r tearDownClassUs zFetchTest.tearDownClassFr3cCsv|j}|||j}||jdd|||jj||rDd|j_||j|||j|||jdddddS)Nr7zend-1cFr9z==r) r fetchrr getr.rrZcompare)rreverselinerindexr3rZEqualr r r fetch_testZs   zFetchTest.fetch_testcCs<d}|j}|dt|d|dt|d|d|dddddS)NTrrr=)rCr#r"rrtestr r rtest_fetch_prev_cyclicjs z FetchTest.test_fetch_prev_cycliccCs<d}|j}|dt|d|dt|d|d|dddddS)NrDFrrTr=)rCr"r#rEr r rtest_fetch_next_cyclicqs z FetchTest.test_fetch_next_cycliccCs:d}|jd||dt|d|jd|dddddS)Nrr7Trr=r r9rCr"rrr r rtest_fetch_prev_prefixysz FetchTest.test_fetch_prev_prefixcCs:d}|jd||dt|d|jd|dddddS)Nrr7FrTr=rIrJr r rtest_fetch_next_prefixsz FetchTest.test_fetch_next_prefixcCsDd}d|j_|j}|dt|d|dt|d|dt|ddddS)NrDFTrrr=)r rrCr#r"rEr r rtest_fetch_prev_noncyclics z#FetchTest.test_fetch_prev_noncycliccCsZd}d|j_|j}|d|dddd|dt|d|d|dddd|d|dddddS)NrDFTr=r)r rrCr#rEr r rtest_fetch_next_noncyclicsz#FetchTest.test_fetch_next_noncycliccCs4|jjdd|jdd|jdtdddddS)NTr@r9r7r=)r r>r r:rCr#rr r rtest_fetch_cursor_movesz FetchTest.test_fetch_cursor_movecCs>|jjdd|jdd|jdd|dtdddS)NTrOr7r9za =r)r r>r rr9rCr"rr r rtest_fetch_editszFetchTest.test_fetch_editcCs<|jd||jjd|jd||jjddS)Nz dummy eventr)r Z history_prevrrZ history_nextrr r rtest_history_prev_nexts  z FetchTest.test_history_prev_nextN)r&r'r(r)r*rr;r<rCrGrHrKrLrMrNrPrQrRr r r rr4Ds    r4__main__) verbosityexit)r)Zidlelib.historyrZunittestZ test.supportrtkinterr5rr-Zidlelib.idle_test.mock_tkrZidlelib.configrr"r#ZTestCaserr+r4r&rr r r rs     * g