î e fYã@sâddlZddlmZddlZddlmZddlmZddl m Z ddl m Z dZ dZGdd „d ejƒZGd d „d ƒZGd d „d ejƒZedkrÞejddddƒndS)éN)Úrequires)ÚText)ÚHistory)ÚidleConfza = 7zb = ac@sdeZdZdZedd„ƒZdd„Zdd„Zdd „Zd d „Z d d „Z dS)Ú StoreTestz7Tests History.__init__ and History.store with mock TextcCs"tƒ|_t|jƒ|_dS)N)ÚmkTextÚtextrÚhistory)Úcls©r úG/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_idlehistory.pyÚ setUpClasss zStoreTest.setUpClasscCs#|jjddƒg|j_dS)Nz1.0Úend)rÚdeleter )Úselfr r r ÚtearDownszStoreTest.tearDowncCs„|j|jj|jƒ|j|jjgƒ|j|jjƒ|j|jjƒ|j|jjtj dddddƒƒdS)NÚmainrÚcyclicéÚbool) ZassertIsr rÚ assertEqualÚ assertIsNoneÚprefixÚpointerrrZ GetOption)rr r r Ú test_inits zStoreTest.test_initcCsP|jjdƒ|j|jjgƒ|jjdƒ|j|jjgƒdS)NÚaz a )r Ústorer)rr r r Útest_store_short!szStoreTest.test_store_shortcCs…|jjtƒ|j|jjtgƒ|jjtƒ|j|jjttgƒ|jjtƒ|j|jjttgƒdS)N)r rÚline1rÚline2)rr r r Útest_store_dup's zStoreTest.test_store_dupcCsRt|j_d|j_|jjtƒ|j|jjƒ|j|jjƒdS)Nr)rr rrrrr)rr r r Útest_store_reset/s   zStoreTest.test_store_resetN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodr rrrr r!r r r r r s     rc@s4eZdZdd„Zdd„Zdd„ZdS)Ú TextWrappercCstd|ƒ|_d|_dS)NÚmasterF)ÚtkTextrÚ_bell)rr(r r r Ú__init__8szTextWrapper.__init__cCst|j|ƒS)N)Úgetattrr)rÚnamer r r Ú __getattr__;szTextWrapper.__getattr__cCs d|_dS)NT)r*)rr r r Úbell=szTextWrapper.bellN)r"r#r$r+r.r/r r r r r'7s   r'c@sÄeZdZdZedd„ƒZdd„Zedd„ƒZdd d d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)Ú FetchTestz-Test History.fetch with wrapped tk.Text. cCstdƒtjƒ|_dS)NZgui)rÚtkZTkÚroot)r r r r r Cs zFetchTest.setUpClasscCskt|jƒ|_}|jddƒ|jddƒ|jddƒt|ƒ|_tt g|j_dS)Nz1.0z>>> Úiomarkz1.4Úleft) r'r2rÚinsertÚmark_setZ mark_gravityrr rr)rrr r r ÚsetUpHs zFetchTest.setUpcCs|jjƒ|`dS)N)r2Zdestroy)r r r r Ú tearDownClassPs zFetchTest.tearDownClassr/FcCs¦|j}|j|ƒ|j}||jjddƒ|ƒ||jj|ƒ|rcd|j_n||j|ƒ||j|ƒ||jjdddƒdƒdS)Nr3zend-1cFr5z==r) r ÚfetchrrÚgetr*rrZcompare)rÚreverseÚlinerÚindexr/rZEqualr r r Ú fetch_testUs   zFetchTest.fetch_testcCsRd}|j}|dt|dƒ|dt|dƒ|d|ddddƒdS)NÚTrrr/)r>rr)rrÚtestr r r Útest_fetch_prev_cyclices  z FetchTest.test_fetch_prev_cycliccCsRd}|j}|dt|dƒ|dt|dƒ|d|ddddƒdS)Nr?Frrr/T)r>rr)rrr@r r r Útest_fetch_next_cyclicls  z FetchTest.test_fetch_next_cycliccCsOd}|jjd|ƒ|jdt|dƒ|jd|ddddƒdS)Nrr3Trr/)rr5r>r)rrr r r Útest_fetch_prev_prefixtsz FetchTest.test_fetch_prev_prefixcCsOd}|jjd|ƒ|jdt|dƒ|jd|ddddƒdS)Nrr3Frr/T)rr5r>r)rrr r r Útest_fetch_next_prefixzsz FetchTest.test_fetch_next_prefixcCs^d}d|j_|j}|dt|dƒ|dt|dƒ|dt|dddƒdS)Nr?FTrrr/)r rr>rr)rrr@r r r Útest_fetch_prev_noncyclic€s   z#FetchTest.test_fetch_prev_noncycliccCs}d}d|j_|j}|d|ddddƒ|dt|dƒ|d|ddddƒ|d|ddddƒdS)Nr?Fr/Tr)r rr>r)rrr@r r r Útest_fetch_next_noncyclicˆs  z#FetchTest.test_fetch_next_noncycliccCsF|jjddƒ|jjddƒ|jdtddddƒdS)Nr;Tr5r3r/)r r9rr6r>r)rr r r Útest_fetch_cursor_move‘sz FetchTest.test_fetch_cursor_movecCsS|jjddƒ|jjddƒ|jjddƒ|jdtddƒdS)Nr;Tr3r5za =r)r r9rrr5r>r)rr r r Útest_fetch_edit—szFetchTest.test_fetch_editcCsP|jjdƒ|j|jjdƒ|jjdƒ|j|jjdƒdS)Nz dummy eventr)r Z history_prevrrZ history_next)rr r r Útest_history_prev_nextžsz FetchTest.test_history_prev_nextN)r"r#r$r%r&r r7r8r>rArBrCrDrErFrGrHrIr r r r r0@s         r0Ú__main__Ú verbosityéÚexit)ZunittestZ test.supportrZtkinterr1rr)Zidlelib.idle_test.mock_tkrZidlelib.IdleHistoryrZidlelib.configHandlerrrrZTestCaserr'r0r"rr r r r Ús  * f