
    ch                         d Z ddlmZ ddlZddlmZ ddlZddlmZ	 ddl
mZ ddlmZ dZdZ G d	 d
ej                  Z G d d          Z G d dej                  Zedk    r ej        dd           dS dS )z Test history, coverage 100%.    )HistoryN)requires)Text)idleConfza = 7zb = ac                   F    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
dS )		StoreTestz7Tests History.__init__ and History.store with mock Textc                 ^    t                      | _        t          | j                  | _        d S N)mkTexttextr   historyclss    0  /home/conda/feedstock_root/build_artifacts/python-split_1761172146731/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.11/idlelib/idle_test/test_history.py
setUpClasszStoreTest.setUpClass   s"    88ch''    c                 T    | j                             dd           g | j        _        d S )N1.0end)r   deleter   selfs    r   tearDownzStoreTest.tearDown   s*    	&&&!r   c           
      x   |                      | j        j        | j                   |                     | j        j        g            |                     | j        j                   |                     | j        j                   |                     | j        j        t          j	        ddddd                     d S )Nmainr   cyclic   bool)
assertIsr   r   assertEqualassertIsNoneprefixpointerr   r   	GetOptionr   s    r   	test_initzStoreTest.test_init   s    dl'333-r222$,-...$,.///,"69xFKK	M 	M 	M 	M 	Mr   c                     | j                             d           |                     | j         j         g            | j                             d           |                     | j         j         g            d S )Naz  a  )r   storer    r   s    r   test_store_shortzStoreTest.test_store_short$   sj    3-r2227###-r22222r   c                    | j                             t                     |                     | j         j         t          g           | j                             t                     |                     | j         j         t          t          g           | j                             t                     |                     | j         j         t          t          g           d S r
   )r   r(   line1r    line2r   s    r   test_store_dupzStoreTest.test_store_dup*   s    5!!!-w7775!!!-u~>>>5!!!-u~>>>>>r   c                     t           | j        _        d| j        _        | j                            t
                     |                     | j        j                   |                     | j        j                   d S )Nr   )r+   r   r"   r#   r(   r,   r!   r   s    r   test_store_resetzStoreTest.test_store_reset2   sd    # 5!!!$,-...$,./////r   N)__name__
__module____qualname____doc__classmethodr   r   r%   r)   r-   r/    r   r   r   r      s        AA( ( [(" " "M M M3 3 3? ? ?0 0 0 0 0r   r   c                        e Zd Zd Zd Zd ZdS )TextWrapperc                 >    t          |          | _        d| _        d S )N)masterF)tkTextr   _bell)r   r9   s     r   __init__zTextWrapper.__init__;   s    &)))	


r   c                 ,    t          | j        |          S r
   )getattrr   )r   names     r   __getattr__zTextWrapper.__getattr__>   s    ty$'''r   c                     d| _         d S )NT)r;   r   s    r   bellzTextWrapper.bell@   s    


r   N)r0   r1   r2   r<   r@   rB   r5   r   r   r7   r7   :   sA          ( ( (    r   r7   c                       e Zd ZdZed             Zd Zed             ZdddZd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd ZdS )	FetchTestz-Test History.fetch with wrapped tk.Text.
    c                     t          d           t          j                    | _        | j                                         d S )Ngui)r   tkTkrootwithdrawr   s    r   r   zFetchTest.setUpClassG   s4    577r   c                    t          | j                  x| _        }|                    dd           |                    dd           |                    dd           t          |          | _        t          t          g| j        _        d S )Nr   z>>> iomarkz1.4left)
r7   rI   r   insertmark_setmark_gravityr   r   r+   r,   )r   r   s     r   setUpzFetchTest.setUpM   sw    &ty111	DE6"""h&&&(F+++t}} %u~r   c                 <    | j                                          | ` d S r
   )rI   destroyr   s    r   tearDownClasszFetchTest.tearDownClassU   s    HHHr   FrB   c                d   | j         } |j        |           | j        } || j                            dd          |            || j        j        |           |rd| j        _         ||j        |            ||j        |            || j                            ddd          d           d S )NrL   zend-1cFrN   z==r   )	r   fetchr    r   getr;   r"   r#   compare)r   reverseliner"   indexrB   r   Equals           r   
fetch_testzFetchTest.fetch_testZ   s     ,g dimmHh//666diot$$$ 	$#DIOgnf%%%gou%%%di$991=====r   c                     d}| j         } |dt          |d            |dt          |d            |d|d d d           d S )N Tr   r   rU   )r^   r,   r+   r   r"   tests      r   test_fetch_prev_cyclicz FetchTest.test_fetch_prev_cyclicj   s[    T5&!$$$T5&!$$$T64D111111r   c                     d}| j         } |dt          |d            |dt          |d            |d|d d d           d S )Nr`   Fr   r   TrU   )r^   r+   r,   ra   s      r   test_fetch_next_cyclicz FetchTest.test_fetch_next_cyclicq   s[    UE61%%%UE61%%%UFD$T222222r   c                     d}| j                             d|           |                     dt          |d           |                     d|d d d           d S )Nr'   rL   Tr   rU   r   rN   r^   r+   r   r"   s     r   test_fetch_prev_prefixz FetchTest.test_fetch_prev_prefixy   sY    	6***eVQ///fdDt<<<<<r   c                     d}| j                             d|           |                     dt          |d           |                     d|d d d           d S )Nr'   rL   Fr   TrU   rg   rh   s     r   test_fetch_next_prefixz FetchTest.test_fetch_next_prefix   sY    	6***ufa000vtT=====r   c                     d}d| j         _        | j        } |dt          |d            |dt          |d            |dt          |dd           d S )Nr`   FTr   r   rU   )r   r   r^   r,   r+   ra   s      r   test_fetch_prev_noncyclicz#FetchTest.test_fetch_prev_noncyclic   se    #T5&!$$$T5&!$$$T5&!$//////r   c                     d}d| j         _        | j        } |d|d d d            |dt          |d            |d|d d d            |d|d d d           d S )Nr`   FTrU   r   )r   r   r^   r,   ra   s      r   test_fetch_next_noncyclicz#FetchTest.test_fetch_next_noncyclic   s    #UFD$T2222T5&!$$$UFD$T2222UFD$T222222r   c                     | j                             d           | j                            dd           |                     dt
          d d d           d S )NTrZ   rN   rL   rU   )r   rW   r   rO   r^   r,   r   s    r   test_fetch_cursor_movez FetchTest.test_fetch_cursor_move   sU    4(((	8X...eT4d;;;;;r   c                     | j                             d           | j                            dd           | j                            dd           |                     dt          dd           d S )NTrq   rL   rN   za =r   )r   rW   r   r   rN   r^   r+   r   s    r   test_fetch_editzFetchTest.test_fetch_edit   si    4(((	8...	5)))eUA.....r   c                     | j                             d           |                     | j         j        d           | j                             d           |                     | j         j        d            d S )Nzdummy eventr   )r   history_prevr    r#   history_nextr   s    r   test_history_prev_nextz FetchTest.test_history_prev_next   sj    !!-000-q111!!-000-t44444r   N)r0   r1   r2   r3   r4   r   rQ   rT   r^   rc   re   ri   rk   rm   ro   rr   rt   rx   r5   r   r   rD   rD   D   s          [
. . .   [ @E > > > > > 2 2 23 3 3= = => > >0 0 03 3 3< < </ / /5 5 5 5 5r   rD   __main__   )	verbosityexit)r3   idlelib.historyr   unittesttest.supportr   tkinterrG   r   r:   idlelib.idle_test.mock_tkr   idlelib.configr   r+   r,   TestCaser   r7   rD   r0   r   r5   r   r   <module>r      sB     # # # # # #  ! ! ! ! ! !     " " " " " " 4 4 4 4 4 4 # # # # # #'0 '0 '0 '0 '0! '0 '0 '0T       d5 d5 d5 d5 d5! d5 d5 d5N zHMAA&&&&&& r   