a  ze*@sdZddlZddlmZmZddlmZddlmZm Z ddl Z ddl Z ddl m ZddlmZddlmZddlmZGdd d ZGd d d ejZed krejd ddS)z Test autocomplete, coverage 93%.N)Mockpatch)requires)TkText)Func)Eventc@seZdZddZdS) DummyEditwincCs"||_||_d|_d|_d|_dS)Nz>>>)roottextZ indentwidthZtabwidthZprompt_last_line)selfr r rW/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_autocomplete.py__init__s zDummyEditwin.__init__N)__name__ __module__ __qualname__rrrrrr sr c@seZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZGdddZddZdd Zd!d"Zd#S)$AutoCompleteTestcCs:tdt|_|jt|j|_t|j|j|_dS)NZgui)rrr Zwithdrawrr r editorclsrrr setUpClasss   zAutoCompleteTest.setUpClasscCs$|`|`|j|j|`dSN)rr r Zupdate_idletasksZdestroyrrrr tearDownClass#s  zAutoCompleteTest.tearDownClasscCs |jddt|j|_dS)N1.0end)r deleteac AutoCompleter autocompleter rrrsetUp*szAutoCompleteTest.setUpcCs(||jj|j||jj|jdSr) assertEqualr Zeditwinrr r!rrr test_init.szAutoCompleteTest.test_initcCs|j}||tjdSr)r _make_autocomplete_windowassertIsInstanceacwZAutoCompleteWindow)r Ztestwinrrrtest_make_autocomplete_window2s z.AutoCompleteTest.test_make_autocomplete_windowcCs4|j}t|_}||j||jdSr)r rautocompletewindowZ_remove_autocomplete_window hide_windowassert_called_once assertIsNone)r acpmrrrtest_remove_autocomplete_window6s   z0AutoCompleteTest.test_remove_autocomplete_windowcCs<|j}t}||_||dd||jdtjdS)Neventbreakr)r ropen_completionsr#Zforce_open_completions_eventargsrZFORCE)r r-open_crrr!test_force_open_completions_event=s z2AutoCompleteTest.test_force_open_completions_eventcCs|j}|j}tdd}||||`|jdd||||jdd|jddt |_ }t dd|_ |||d|j d|_ td d }||_|||d||jd tjd|_|||d||jd tjdS) NT)mc_staterz """Docstring. rzre.)Z return_valuer1Fresultr)r#r rr,Zautocomplete_eventr6r insertrrr)Z is_activeZcompleter+rr2r3rTABr8)r Equalr-Zevmockr4rrrtest_autocomplete_eventEs*     z(AutoCompleteTest.test_autocomplete_eventcCs|j}|j}|j}|j}tdd}||j_|||jd|dd|||jd|ddd|_|||j | d||j |j |j tjf|j}||d|ddd |_t}||j_|||j | d||j |f||j |j |j tjf||jd dS) NZafter1r7rrrer9z re.z "./Lib/Zafter2)r#r r Ztry_open_completions_eventraftercalledr9_delayed_completion_id_delayed_completion_indexindexr3Z popupwait_delayed_open_completionsrZTRY_Ar8 after_cancelZTRY_F)r r;r r-Ztrycompletionsr?Zcb1cancelrrrtest_try_open_completions_eventds>       z0AutoCompleteTest.test_try_open_completions_eventcCs|j}|j}t}||_|jddd|_|jd|_| d| |j||j d|jd|_| dd d t j f||jddd d t j fdS) Nrz"dict.r?z insert+1cdummyrr9)r#r rr2r r9rArCrBrDr,r@rFILESr3)r r;r-r4rrrtest_delayed_open_completionss   z.AutoCompleteTest.test_delayed_open_completionscCsP|j}|j}d|_tdd}||j_|jdd||tj ||jdS)Nr?r7?z # comment) r,r rArr rEr9r2rr:)r noner-r?rrrtest_oc_cancel_comments z'AutoCompleteTest.test_oc_cancel_commentcCsl|j}tggfd}||_|jdd||tj|jdd||tj| |j ddS)Nr7robjectr9.rJ) r rfetch_completionsr r9r,r2rr:r#r@)r r-fetchrrrtest_oc_no_listsz AutoCompleteTest.test_oc_no_listcCs|j}|j}|jdd||tj|jdd||tj|jdd||tj|jdd||tj|jdddS)NrNrRr9z int().rr") r,r r r9r2rr:rZ assertFalse)r rOr-rrrtest_open_completions_nonesz+AutoCompleteTest.test_open_completions_nonec@s"eZdZeZeddZeZdS)zAutoCompleteTest.dummy_acwFr7N)rrrrrZ show_windowr*rrrr dummy_acws rXcsj}tdgddgfd}||_fdd}||_jdd|tj |j j j ddjdd  |tjj dddS) NZtemZ_temr7csSr)rXrr!rrmake_acwz8AutoCompleteTest.test_open_completions..make_acwrzint.rz"t)r rrSr%r r9r2rr:r&r)rXr assertTrue)r r-rTrYrr!rtest_open_completionss  z&AutoCompleteTest.test_open_completionsc Csf|j}|dtj\}}ttdr:tjtjkr:|d||dtj\}}|t |t || t t dd|| t t dd|tddd d git|dtj\}}||d d g|d ||d ||d ||d}|||ddWdn1s 0Yt}t|_tdd|il|dtj\}}|d||d|||ddtt|D||tt|Wdn1s0Ydd}ttd|t|dtj\}}||ddg||gd|dtj\}}||ddg||gdWdn1sX0YdS)N__file__rcSs |dSN_ startswithxrrrrZz9AutoCompleteTest.test_fetch_completions..cSs |dSr_rarcrrrrerZ__main__.__dict____all__abrsumnonlocalFalserIfoo_privatecSs g|]}|dddkr|qS)NrIr`r).0irrr rZz;AutoCompleteTest.test_fetch_completions..cSs|dkrgdSgdS)NrR)rmbar.hidden)montypythonrsr)pathrrr_listdirsz9AutoCompleteTest.test_fetch_completions.._listdirlistdirrr)rsrrrm~rtru)rsrtru)r rSrZATTRShasattr__main__r^Z assertNotInZ assertLesslenr[allfilteranyrdictr#ZassertInrCZassertNotEqualrrnsorteddirrQosrL) r r-ZsmallZlargesriposr<rwrrrtest_fetch_completionssD     4  4z'AutoCompleteTest.test_fetch_completionsc Cs|j}|j}||dtt}tdd|i ||d|Wdn1sX0Yddd}tdd|i ||d|Wdn1s0YtdiD|t|d Wdn1s0YWdn1s0YdS) Nintz sys.modulestempfile )rmrrrfdZ not_exist) r r#Z get_entityrrrrZ assertRaises NameError)r r-r;r<Zdirrrtest_get_entitys. . z AutoCompleteTest.test_get_entityN)rrr classmethodrrr"r$r(r/r5r=rGrMrPrUrWrXr\rrrrrrrs&  %  6rr{rJ) verbosity)__doc__ZunittestZ unittest.mockrrZ test.supportrtkinterrrrr{Zidlelib.autocompleter rZidlelib.autocomplete_wZautocomplete_wr'Zidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrr ZTestCaserrmainrrrrs