
    /hh;                         S r SSKrSSKJr  SSKJrJrJr  SSKJ	r	  SSK
Jr  SSK
Jr  SSKJr   " S	 S
\R"                  5      r\S:X  a  \R(                  " SSS9  gg)zTest searchbase, coverage 98%.    N)requires)TextTkToplevel)Frame)searchengine)
searchbase)Funcc                   |    \ rS rSr\S 5       r\S 5       rS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rSrg)SearchDialogBaseTest   c                 8    [        S5        [        5       U l        g )Ngui)r   r   rootclss    J/opt/python-3.13.8/usr/lib/python3.13/idlelib/idle_test/test_searchbase.py
setUpClassSearchDialogBaseTest.setUpClass   s    4    c                 p    U R                   R                  5         U R                   R                  5         U ? g N)r   update_idletasksdestroyr   s    r   tearDownClass"SearchDialogBaseTest.tearDownClass!   s'    !!#Hr   c                     [         R                  " U R                  5      U l        [        R
                  " U R                  U R                  S9U l        g )N)r   engine)seSearchEnginer   r   sdbSearchDialogBasedialogselfs    r   setUpSearchDialogBaseTest.setUp'   s2    oodii0**		$++Nr   c                 8    U R                   R                  5         g r   )r#   closer$   s    r   tearDownSearchDialogBaseTest.tearDown+   s    r   c                 |   S U R                   l        [        U R                  5      n[	        U5      nU R                   R                  U5        U R                  U R                   R                  R                  5       S5        U R                   R                  5         U R                  U R                   R                  R                  5       S5        U R                   R                  USS9  U R                  U R                   R                  R                  5       S5        UR                  5         UR                  5         g )Nnormal	withdrawnhello)searchphrase)r#   default_commandr   r   r   openassertEqualtopstater)   entgetr   r   )r%   topleveltexts      r   test_open_and_close(SearchDialogBaseTest.test_open_and_close.   s    &*#DII&H~..0(;..0+>G4,,.8!!#r   c                    [        5       U R                  l        [        5       U R                  l        [        5       U R                  l        [        5       U R                  l        S U R                  l        U R                  R                  5         U R                  U R                  R                  R                  5        U R                  U R                  R                  R                  5        U R                  U R                  R                  R                  5        U R                  U R                  R
                  R                  5        g r   )
r
   r#   create_entriescreate_option_buttonscreate_other_buttonscreate_command_buttonsr1   create_widgets
assertTruecalledr$   s    r   test_create_widgets(SearchDialogBaseTest.test_create_widgets>   s    %)V",0F)+/6(-1V*&*#""$2299:99@@A88??@::AABr   c                    U R                   nSU R                  l        [        U R                  5      U R                  l        U R                  R                  SS5      u  p#U" US   S5        U R                  UR                  5       S5        UR                  5       nU" [        US   5      S5        U" [        US   5      S5        U" [        US   5      S5        U" [        US	   5      S5        U" U R                  R                  S5        g )
Nr   zTest:r/   r9   rowcolumn   rowspan
columnspan)r3   r#   rG   r   r   frame
make_entryassertInr7   	grid_infoint)r%   equalentrylabelegis        r   test_make_entry$SearchDialogBaseTest.test_make_entryL   s      !$)),{{--gw?eFmW%eiik7+ooc#e*oq!c#h- !$c#i.!1%c#l#$a(dkkooq!r   c                 @   [        U R                  5      U R                  l        SU R                  l        U R
                  R                  S5        U R                  R                  5         U R                  U R                  R                  R                  5       S5        g )Nr   r/   )r   r   r#   rL   rG   r   setpatr=   rN   r6   r7   r$   s    r   test_create_entries(SearchDialogBaseTest.test_create_entries[   sc    !$)),7#""$dkkoo))+W5r   c                 v   SU R                   l        [        U R                  5      U R                   l        U R                   R                  5       u  pU R                  US5        U R                  [        [        U5      5      S5        U R                   R                  S5      u  pU R                  US   S5        g )Nr    z<class 'tkinter.ttk.Frame'>	testlabelr9   )	r#   rG   r   r   rL   
make_framer3   strtype)r%   rL   rS   s      r   test_make_frame$SearchDialogBaseTest.test_make_frameb   s    !$)),{{--/#T%[)+HI {{--k:v4r   c                 z    [        U R                  5      U R                  l        SU R                  l        U" 5       $ )Nr   )r   r   r#   rL   rG   )r%   meths     r   btn_test_setup#SearchDialogBaseTest.btn_test_setupn   s)    !$)),vr   c                    U R                   nS H  nUR                  UR                  UR                  UR                  4 H  nUR                  U5        M     U R                  U R                  R                  5      u  pE[        XTR                  5       5       H>  u  pgUu  p8U R                  US   U5        U R                  UR                  5       U5        M@     M     g )N)r   rI   r9   )r   revarcasevarwordvarwrapvarsetre   r#   r>   zippack_slavesr3   r7   )	r%   er5   varrL   optionsspecbuttonrS   s	            r   test_create_option_buttons/SearchDialogBaseTest.test_create_option_buttonss   s    KKEAIIqyyA B!00KK557NE #W.?.?.A B!
  7  E2 !C r   c                 z   S H  nU R                   R                  nUR                  U5        U R                  U R                  R
                  5      u  p4UR                  5       n[        XE5       HE  u  pgUu  pU R                  US   U	5        X:X  d  M%  U R                  UR                  5       U5        MG     M     g )N)FTr9   )
r   backvarrl   re   r#   r?   rn   rm   r3   r7   )
r%   r5   rp   rL   othersbuttonsrr   rs   valrS   s
             r   test_create_other_buttons.SearchDialogBaseTest.test_create_other_buttons   s    "E++%%CGGEN //002ME'')G #F 4!
  7< $$SWWY6 !5 #r   c                 2   [        U R                  5      U R                  l        [        U R                  R                  5      U R                  l        U R                  R                  SU R                  R                  5      nU R                  US   S5        g )NTestr9   )r   r   r#   rL   buttonframemake_buttonr)   r3   )r%   btns     r   test_make_button%SearchDialogBaseTest.test_make_button   sf    !$)),"'(9(9":kk%%fdkk.?.?@Vf-r   c                    [        U R                  5      U R                  l        U R                  R	                  5         SnU R                  R
                  R                  5        H  nUS   S:X  d  M  US   nM     U R                  SU5        g )Nr\   r9   Closecommandr)   )r   r   r#   rL   r@   r   winfo_childrenrN   )r%   closebuttoncommandchilds      r   test_create_command_buttons0SearchDialogBaseTest.test_create_command_buttons   sr    !$)),**,[[,,;;=EV}'%*9%5" > 	g12r   )r#   r   N)__name__
__module____qualname____firstlineno__classmethodr   r   r&   r*   r:   rD   rU   rY   ra   re   rt   r{   r   r   __static_attributes__ r   r   r   r      sf       
O C"6
5

37.3r   r   __main__   )	verbosityexit)__doc__unittesttest.supportr   tkinterr   r   r   tkinter.ttkr   idlelibr   r   r	   r!   idlelib.idle_test.mock_idler
   TestCaser   r   mainr   r   r   <module>r      sT       ! & &  & % ,B38,, B3J zMMAA& r   