Ë
    #´˜j�  ã                   óø   — 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¬«       yy)z Test history, coverage 100%.é    )ÚHistoryN)Úrequires)ÚText)ÚidleConfza = 7zb = ac                   ó>   — e Zd ZdZed„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y)	Ú	StoreTestz7Tests History.__init__ and History.store with mock Textc                 óV   — t        «       | _        t        | j                  «      | _        y ©N)ÚmkTextÚtextr   Úhistory©Úclss    ú0lib/python3.12/idlelib/idle_test/test_history.pyÚ
setUpClasszStoreTest.setUpClass   s   € ä“8ˆŒÜ˜cŸh™hÓ'ˆ�ó    c                 ó^   — | j                   j                  dd«       g | j                  _        y )Nú1.0Úend)r   Údeleter   ©Úselfs    r   ÚtearDownzStoreTest.tearDown   s"   € Ø�	‰	×Ñ˜ Ô&Ø!ˆ�‰Õr   c           
      ó¾  — | j                  | j                  j                  | j                  «       | j                  | j                  j                  g «       | j	                  | j                  j
                  «       | j	                  | j                  j                  «       | j                  | j                  j                  t        j                  ddddd«      «       y )NÚmainr   Úcyclicé   Úbool)
ÚassertIsr   r   ÚassertEqualÚassertIsNoneÚprefixÚpointerr   r   Ú	GetOptionr   s    r   Ú	test_initzStoreTest.test_init   s™   € Ø�‰�d—l‘l×'Ñ'¨¯©Ô3Ø×Ñ˜Ÿ™×-Ñ-¨rÔ2Ø×Ñ˜$Ÿ,™,×-Ñ-Ô.Ø×Ñ˜$Ÿ,™,×.Ñ.Ô/Ø×Ñ˜Ÿ™×,Ñ,Ü×"Ñ" 6¨9°xÀÀFÓKõ	Mr   c                 ó  — | j                   j                  d«       | j                  | j                   j                   g «       | j                   j                  d«       | j                  | j                   j                   g «       y )NÚaz  a  )r   Ústorer    r   s    r   Útest_store_shortzStoreTest.test_store_short$   sZ   € Ø�‰×Ñ˜3ÔØ×Ñ˜Ÿ™×-Ñ-¨rÔ2Ø�‰×Ñ˜7Ô#Ø×Ñ˜Ÿ™×-Ñ-¨rÕ2r   c                 óÔ  — | j                   j                  t        «       | j                  | j                   j                   t        g«       | j                   j                  t        «       | j                  | j                   j                   t        t        g«       | j                   j                  t        «       | j                  | j                   j                   t        t        g«       y r
   )r   r(   Úline1r    Úline2r   s    r   Útest_store_dupzStoreTest.test_store_dup*   s�   € Ø�‰×Ñœ5Ô!Ø×Ñ˜Ÿ™×-Ñ-´¨wÔ7Ø�‰×Ñœ5Ô!Ø×Ñ˜Ÿ™×-Ñ-´´u¨~Ô>Ø�‰×Ñœ5Ô!Ø×Ñ˜Ÿ™×-Ñ-´´u¨~Õ>r   c                 ó"  — t         | j                  _        d| j                  _        | j                  j	                  t
        «       | j                  | j                  j                  «       | j                  | j                  j                  «       y )Nr   )r+   r   r"   r#   r(   r,   r!   r   s    r   Útest_store_resetzStoreTest.test_store_reset2   s\   € Ü#ˆ�‰ÔØ ˆ�‰ÔØ�‰×Ñœ5Ô!Ø×Ñ˜$Ÿ,™,×-Ñ-Ô.Ø×Ñ˜$Ÿ,™,×.Ñ.Õ/r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r%   r)   r-   r/   © r   r   r   r      s1   „ ÙAàñ(ó ð(ò"òMò3ò?ó0r   r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTextWrapperc                 ó4   — t        |¬«      | _        d| _        y )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   € Ü�t—y‘y $Ó'Ð'r   c                 ó   — d| _         y )NT)r;   r   s    r   ÚbellzTextWrapper.bell@   s	   € Øˆ�
r   N)r0   r1   r2   r<   r@   rB   r5   r   r   r7   r7   :   s   „ òò(ór   r7   c                   óx   — 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y)Ú	FetchTestz-Test History.fetch with wrapped tk.Text.
    c                 ó€   — t        d«       t        j                  «       | _        | j                  j	                  «        y )NÚgui)r   ÚtkÚTkÚrootÚwithdrawr   s    r   r   zFetchTest.setUpClassG   s&   € ä�ŒÜ—5‘5“7ˆŒØ�‰×ÑÕr   c                 óþ   — t        | j                  «      x| _        }|j                  dd«       |j	                  dd«       |j                  dd«       t        |«      | _        t        t        g| j                  _        y )Nr   z>>> Úiomarkz1.4Úleft)
r7   rI   r   ÚinsertÚmark_setÚmark_gravityr   r   r+   r,   )r   r   s     r   ÚsetUpzFetchTest.setUpM   s^   € Ü& t§y¡yÓ1Ð1ˆŒ	�DØ�‰�E˜6Ô"Ø�‰�h Ô&Ø×Ñ˜( FÔ+Ü˜t“}ˆŒÜ %¤u˜~ˆ�‰Õr   c                 ó<   — | j                   j                  «        | ` y r
   )rI   Údestroyr   s    r   ÚtearDownClasszFetchTest.tearDownClassU   s   € à�‰×ÑÔØ‰Hr   F©rB   c                ó’  — | j                   } |j                  |«       | j                  } || j                  j	                  dd«      |«        || j                  j
                  |«       |rd| j                  _         ||j                  |«        ||j                  |«        || j                  j                  ddd«      d«       y )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Ôà× Ñ ˆÙˆd�i‰i�m‰m˜H hÓ/°Ô6Ùˆd�i‰i�o‰o˜tÔ$ÙØ#ˆD�I‰IŒOÙˆg�n‰n˜fÔ%Ùˆg�o‰o˜uÔ%Ùˆd�i‰i×Ñ ¨$°Ó9¸1Õ=r   c                 óv   — d}| j                   } |dt        |d«        |dt        |d«        |d|d d d¬«       y )NÚ Tr   r   rU   )r^   r,   r+   ©r   r"   Útests      r   Útest_fetch_prev_cyclicz FetchTest.test_fetch_prev_cyclicj   s<   € ØˆØ�‰ˆÙˆT”5˜& !Ô$ÙˆT”5˜& !Ô$ÙˆT�6˜4 ¨DÖ1r   c                 óv   — d}| j                   } |dt        |d«        |dt        |d«        |d|d d d¬«       y )Nr`   Fr   r   TrU   )r^   r+   r,   ra   s      r   Útest_fetch_next_cyclicz FetchTest.test_fetch_next_cyclicq   s<   € ØˆØ—‘ˆÙˆU”E˜6 1Ô%ÙˆU”E˜6 1Ô%ÙˆU�F˜D $¨TÖ2r   c                 óœ   — d}| j                   j                  d|«       | j                  dt        |d«       | j                  d|d d d¬«       y )Nr'   rL   Tr   rU   ©r   rN   r^   r+   ©r   r"   s     r   Útest_fetch_prev_prefixz FetchTest.test_fetch_prev_prefixy   sC   € ØˆØ�	‰	×Ñ˜ 6Ô*Ø�‰˜œe V¨QÔ/Ø�‰˜˜f d¨D°tˆÕ<r   c                 óœ   — d}| j                   j                  d|«       | j                  dt        |d«       | j                  d|d d d¬«       y )Nr'   rL   Fr   TrU   rg   rh   s     r   Útest_fetch_next_prefixz FetchTest.test_fetch_next_prefix   sC   € ØˆØ�	‰	×Ñ˜ 6Ô*Ø�‰˜œu f¨aÔ0Ø�‰˜˜v t¨T¸ˆÕ=r   c                 ó    — d}d| j                   _        | j                  } |dt        |d«        |dt        |d«        |dt        |dd¬«       y )Nr`   FTr   r   rU   )r   r   r^   r,   r+   ra   s      r   Útest_fetch_prev_noncyclicz#FetchTest.test_fetch_prev_noncyclic…   sH   € ØˆØ#ˆ�‰ÔØ�‰ˆÙˆT”5˜& !Ô$ÙˆT”5˜& !Ô$ÙˆT”5˜& !¨$Ö/r   c                 ó®   — d}d| j                   _        | j                  } |d|d d d¬«        |dt        |d«        |d|d d d¬«        |d|d d d¬«       y )Nr`   FTrU   r   )r   r   r^   r,   ra   s      r   Útest_fetch_next_noncyclicz#FetchTest.test_fetch_next_noncyclic�   sZ   € ØˆØ#ˆ�‰ÔØ—‘ˆÙˆU�F˜D $¨TÕ2ÙˆT”5˜& !Ô$ÙˆU�F˜D $¨TÕ2ÙˆU�F˜D $¨TÖ2r   c                 ó¨   — | j                   j                  d¬«       | j                  j                  dd«       | j	                  dt
        d d d¬«       y )NT©rZ   rN   rL   rU   )r   rW   r   rO   r^   r,   r   s    r   Útest_fetch_cursor_movez FetchTest.test_fetch_cursor_move–   sA   € à�‰×Ñ 4ÐÔ(Ø�	‰	×Ñ˜8 XÔ.Ø�‰˜œe T¨4°dˆÕ;r   c                 óÜ   — | j                   j                  d¬«       | j                  j                  dd«       | j                  j	                  dd«       | j                  dt        dd«       y )NTrq   rL   rN   za =r   )r   rW   r   r   rN   r^   r+   r   s    r   Útest_fetch_editzFetchTest.test_fetch_editœ   sQ   € à�‰×Ñ 4ÐÔ(Ø�	‰	×Ñ˜ 8Ô.Ø�	‰	×Ñ˜ 5Ô)Ø�‰˜œe U¨AÕ.r   c                 ó  — | j                   j                  d«       | j                  | j                   j                  d«       | j                   j	                  d«       | j                  | j                   j                  d «       y )Nzdummy eventr   )r   Úhistory_prevr    r#   Úhistory_nextr   s    r   Útest_history_prev_nextz FetchTest.test_history_prev_next£   sZ   € à�‰×!Ñ! -Ô0Ø×Ñ˜Ÿ™×-Ñ-¨qÔ1Ø�‰×!Ñ! -Ô0Ø×Ñ˜Ÿ™×-Ñ-¨tÕ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   sk   „ ñàñó ðò
.ð ñó ðð @Eô >ò 2ò3ò=ò>ò0ò3ò<ò/ó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„      sx   ðÙ å #Û Ý !ã Ý "Ý 4Ý #à€Ø€ô'0�×!Ñ!ô '0÷Tñ ôd5�×!Ñ!ô d5ðN ˆzÒØ€H‡M�M˜A AÖ&ð r   