+
     BiU+                         R t ^ RIt^ RIHtHt ^ RIHt ^ RIHtH	t	 ^ RI
t
^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R	 R
]P.                  4      t]R8X  d   ]P4                  ! ^R7       R# R# )z Test autocomplete, coverage 93%.N)Mockpatch)requires)TkText)Func)Eventc                   &   a  ] tR t^t o R tRtV tR# )DummyEditwinc                H    Wn         W n        ^V n        ^V n        RV n        R# )   z>>>N)roottextindentwidthtabwidthprompt_last_line)selfr   r   s   &&&:/usr/lib/python3.14/idlelib/idle_test/test_autocomplete.py__init__DummyEditwin.__init__   s#    		 %    )r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r
   r
      s     & &r   r
   c                      a  ] tR t^t o ]R 4       t]R 4       tR tR tR t	R t
R tR tR	 tR
 tR tR tR t ! R R4      tR tR tR tR tRtV tR# )AutoCompleteTestc                    \        R 4       \        4       V n        V P                  P                  4        \	        V P                  4      V n        \        V P                  V P
                  4      V n        R# )guiN)r   r   r   withdrawr   r   r
   editorclss   &r   
setUpClassAutoCompleteTest.setUpClass   sG    4>!#((CHH5
r   c                z    V = V =V P                  P                  4        V P                  P	                  4        V =R # N)r$   r   r   update_idletasksdestroyr%   s   &r   tearDownClassAutoCompleteTest.tearDownClass#   s0    J!!#Hr   c                    V P                   P                  R R4       \        P                  ! V P                  4      V n        R# )1.0endN)r   deleteacAutoCompleter$   autocompleter   s   &r   setUpAutoCompleteTest.setUp*   s+    		&OODKK8r   c                    V P                  V P                  P                  V P                  4       V P                  V P                  P                  V P                  4       R # r*   )assertEqualr5   editwinr$   r   r6   s   &r   	test_initAutoCompleteTest.test_init.   sB    **22DKK@**//;r   c                z    V P                   P                  4       pV P                  V\        P                  4       R # r*   )r5   _make_autocomplete_windowassertIsInstanceacwAutoCompleteWindow)r   testwins   & r   test_make_autocomplete_window.AutoCompleteTest.test_make_autocomplete_window2   s,    ##==?gs'='=>r   c                    V P                   p\        4       ;Vn        pVP                  4        VP                  P                  4        V P                  VP                  4       R # r*   )r5   r   autocompletewindow_remove_autocomplete_windowhide_windowassert_called_onceassertIsNone)r   acpms   &  r   test_remove_autocomplete_window0AutoCompleteTest.test_remove_autocomplete_window6   sL    %)V+'')	((*#001r   c                    V P                   p\        4       pW!n        V P                  VP	                  R 4      R4       V P                  VP
                  ^ ,          \        P                  4       R# )eventbreakN)r5   r   open_completionsr:   force_open_completions_eventargsr3   FORCE)r   rL   open_cs   &  r   !test_force_open_completions_event2AutoCompleteTest.test_force_open_completions_event=   sQ    %99'BGLQ2r   c                b   V P                   pV P                  p\        R R7      pV P                  VP	                  V4      4       V=V P                  P                  RR4       V P                  VP	                  V4      4       V P                  P                  RR4       V P                  P                  RR4       \        4       ;Vn
        p\        R R7      Vn        V! VP	                  V4      R4       VP                  P                  4        RVn
        \        R	R
7      pWRn        V! VP	                  V4      R4       V! VP                   ^ ,          \"        P$                  4       R Vn        V! VP	                  V4      R4       V! VP                   ^ ,          \"        P$                  4       R# )T)mc_stater0   z        """Docstring.
    r1   zre.)return_valuerR   NFresult)r:   r5   r   rK   autocomplete_eventr[   r   insertr2   r   rG   	is_activecompleterJ   r   rS   rU   r3   TABr^   )r   EqualrL   evmockrW   s   &     r   test_autocomplete_event(AutoCompleteTest.test_autocomplete_eventE   sS      D!#0045K 			 =>#0045		& 			&(,.40c$$R('2((*!% U#%c$$R($/fkk!nbff%c$$R('2fkk!nbff%r   c                   V P                   pV P                  pV P                  pVP                  p\	        R R7      pWSP                  n        V! 4        V! VP                  ^ 4       VP                  RR4       V! 4        V! VP                  ^ 4       VP                  RR4       RVn        V! 4        V! VP                  VP                  R4      4       V! VP                  VP                  VP                  \        P                  34       VP                  pV! VR 4       VP                  RR4       RVn        \	        4       pWsP                  n        V! 4        V! VP                  VP                  R4      4       V! VP                  V34       V! VP                  VP                  VP                  \        P$                  34       V! VP                  R4       R# )	after1r]   r0   rer`   z re.Nz "./Lib/after2)r:   r   r5   try_open_completions_eventr   aftercalledr`   _delayed_completion_id_delayed_completion_indexindexrU   	popupwait_delayed_open_completionsr3   TRY_Ar^   after_cancelTRY_F)r   rd   r   rL   trycompletionsrn   cb1cancels   &       r   test_try_open_completions_event0AutoCompleteTest.test_try_open_completions_eventd   sx     yy77H% 	ellAE4 ellA 	Hf%%)"c++TZZ-ABejj}}c;;RXXF	H((c8 	Hj) &c++TZZ-ABfkkC6"ejj}}c;;RXXF	Hc(((3r   c                J   V P                   pV P                  p\        4       pW2n        V P                  P                  R R4       RVn        V P                  P                  R4      Vn        VP                  R4       V P                  VP                  4       V! VP                  ^ 4       V P                  P                  R4      Vn        VP                  ^^^\        P                  34       V P                  VP                  ^ ,          ^^^\        P                  34       R# )r0   z"dict.rn   z	insert+1cdummyr`   N)r:   r5   r   rS   r   r`   rp   rr   rq   rt   rK   ro   r3   FILESrU   )r   rd   rL   rW   s   &   r   test_delayed_open_completions.AutoCompleteTest.test_delayed_open_completions   s      %		) &-"(,		(D%%%g.#445fmmQ )-		(A%%%q!Q&9:Q!Q288)<=r   c                "   V P                   pV P                  pR Vn        \        R R7      pW2P                  n        V P                  P                  RR4       V! VP                  \        P                  4      4       V! VP                  4       R# )rn   r]         ?z	# commentN)
rK   r5   rp   r   r   rv   r`   rS   r3   rc   )r   nonerL   rn   s   &   r   test_oc_cancel_comment'AutoCompleteTest.test_oc_cancel_comment   so       &-"G$ %		k*S!!"&&)*S''(r   c                   V P                   p\        . . 3R 7      pW!n        V P                  P	                  RR4       V P                  VP                  \        P                  4      4       V P                  P	                  RR4       V P                  VP                  \        P                  4      4       V P                  VP                  ^4       R# )r]   r0   objectr`   .N)r5   r   fetch_completionsr   r`   rK   rS   r3   rc   r:   ro   )r   rL   fetchs   &  r   test_oc_no_list AutoCompleteTest.test_oc_no_list   s    RG$ %		)#..rvv67		3'#..rvv67q)r   c                   V P                   pV P                  pV P                  P                  R R4       V! VP	                  \
        P                  4      4       V P                  P                  RR4       V! VP	                  \
        P                  4      4       V P                  P                  R R4       V P                  VP	                  \
        P                  4      4       V P                  P                  RR4       V P                  VP	                  \
        P                  4      4       V P                  P                  RR4       R# )r   r   r`   z int().r1   r0   "N)	rK   r5   r   r`   rS   r3   rc   r2   assertFalse)r   r   rL   s   &  r   test_open_completions_none+AutoCompleteTest.test_open_completions_none   s       			c"S!!"&&)*		9-S!!"&&)* 			e$--bff56		$--bff56		&r   c                   D    ] tR t^t]! 4       t]! RR7      t]! 4       tRtR# )AutoCompleteTest.dummy_acwFr]    N)	r   r   r   r   r   r   show_windowrI   r   r   r   r   	dummy_acwr      s    6%(fr   r   c                ,  a  S P                   p\        R .R R.3R7      pW!n        V 3R lpW1n        S P                  P                  RR4       VP                  \        P                  4       S P                  VP                  S P                  4       S P                  P                  RR4       S P                  P                  RR4       S P                  VP                  \        P                  4      4       S P                  P                  RR4       R# )	tem_temr]   c                  $   < S P                  4       # r*   )r   r6   s   r   make_acw8AutoCompleteTest.test_open_completions.<locals>.make_acw   s    t~~//r   r0   zint.r1   z"tN)r5   r   r   r?   r   r`   rS   r3   rc   r@   rG   r   r2   
assertTrue)r   rL   r   r   s   f   r   test_open_completions&AutoCompleteTest.test_open_completions   s    eWeV_56 %/(0%		'RVV$c44dnnE		& 			%,,RVV45		&r   c                    V P                  R \        P                  4       V P                  R\        P                  4       V P                  R\        P                  4       R# )andcaseNoneN)assertInr3   completion_kwdsassertNotInr6   s   &r   test_completion_kwds%AutoCompleteTest.test_completion_kwds   s@    eR//0fb001!3!34r   c           
        V P                   pVP                  R \        P                  4      w  r#\	        \
        R4      '       d6   \
        P                  \        P                  8w  d   V P                  RV4       VP                  R \        P                  4      w  rEV P                  \        V4      \        V4      4       V P                  \        \        R V4      4      4       V P                  \        \        R V4      4      4       \        P                  ! RRRR./4      ;_uu_ 4        VP                  R \        P                  4      w  rEV P!                  VRR.4       V P#                  R	V4       V P#                  R
V4       V P#                  RV4       VP%                  R4      pV P'                  WV^,           ,          R4       RRR4       \)        4       p\)        4       Vn        \        P                  ! RRV/4      ;_uu_ 4        VP                  R\        P                  4      w  rEV P                  RV4       V P#                  RV4       T P!                  T\-        \/        V4      4       Uu. uF  qR,          R8w  g   K  VNK  	  up4       V P!                  V\-        \/        V4      4      4       RRR4       R p	\        P0                  ! \2        RV	4      ;_uu_ 4        VP                  R \        P4                  4      w  rEV P!                  VRR.4       V P!                  V. RO4       VP                  R\        P4                  4      w  rEV P!                  VRR.4       V P!                  V. RO4       RRR4       R#   + '       g   i     EL; iu upi   + '       g   i     L; i  + '       g   i     R# ; i) __file__r4   c                 $    V P                  R 4      # _
startswithxs   &r   <lambda>9AutoCompleteTest.test_fetch_completions.<locals>.<lambda>       Q\\#->r   c                 $    V P                  R 4      # r   r   r   s   &r   r   r      r   r   __main__.__dict____all__abr   sumnonlocalFalseNfoo_private:N   Nr   c                      V R 8X  d   . RO# . RO# )r   )r   bar.hidden)montypythonr   r   )paths   &r   _listdir9AutoCompleteTest.test_fetch_completions.<locals>._listdir	  s    s{0011r   listdirr   ~r   r   )r   r   r   )r   r   r   )r5   r   r3   ATTRShasattr__main__r   r   
assertLesslenr   allfilteranyr   dictr:   r   rr   assertNotEqualr   r   sorteddirr   osr   )
r   rL   smalllargesr   posrf   ir   s
   &         r   test_fetch_completions'AutoCompleteTest.test_fetch_completions   s    ,,BHH8Z((X->->"++-M^U3 $$R2E
CJ/F#>BCDF#>BCD ZZ+i#s-DEE((RXX6DAQc
+MM*a(MM%#MM*a('''"Ca%'2 F vZZ+eT];;((9DAZ+MM*a(QF3t9,= N,=q2#,= NOQs4y 12 <	2 \\"i22((RXX6DAQ/Q 9:((bhh7DAQ( 34Q >? 325 FEE  !O	 <; 322s?   -BNA)N!5N	N+N!)BN4N	N!!N1	4O	c           	        V P                   pV P                  pV! VP                  R 4      \        4       \	        4       p\
        P                  ! RRV/4      ;_uu_ 4        V! VP                  R4      V4       RRR4       R^
R^/p\
        P                  ! RRV/4      ;_uu_ 4        V! VP                  R4      V4       RRR4       \
        P                  ! R/ 4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R# ; i)	intzsys.modulestempfileNr   r   r   d	not_exist)	r5   r:   
get_entityr   r   r   r   assertRaises	NameError)r   rL   rd   rf   dis   &    r   test_get_entity AutoCompleteTest.test_get_entity  s      cnnU#S) vZZ
D'9::#..,d3 ; R#ZZ+c2Y77#..%r* 8 ZZ+R00""9--{+ . 10 ;:
 87
 .- 100s<    D*(D=(E#E	E#*D:	=E	E E##E4	)r5   N)r   r   r   r   classmethodr'   r-   r7   r<   rD   rN   rX   rg   r{   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r    r       s     6 6  9<?23&>#4J>(
)*'$ 
'$5
4@l, ,r   r    r   )	verbosity)__doc__unittestunittest.mockr   r   test.supportr   tkinterr   r   r   r   idlelib.autocompleter5   r3   idlelib.autocomplete_wautocomplete_wrA   idlelib.idle_test.mock_idler   idlelib.idle_test.mock_tkr   r
   TestCaser    r   mainr   r   r   <module>r      s`    "  % !  	  ! $ , +& &T,x(( T,n zMMA r   