
    6bh
                         d Z ddlmZ  ed       ddlZddlmZ ddlZddlmZ  G d dej                        Z
ed	k(  r ej                  d
       yy)zNTest (selected) IDLE Edit menu items.

Edit modules have their own test files
    )requiresguiN)ttk)pyshellc                   B    e Zd ZdZed        Zed        Zd Zd Zd Z	y)	PasteTestzeTest pasting into widgets that allow pasting.

    On X11, replacing selections requires tk fix.
    c                    t        j                         x| _        }| j                  j                          t	        j
                  |       t        j                  |      | _        t        j                  |      | _	        t        j                  |      | _        t        j                  |      | _        |j                          |j                  d       y )Ntwo)tkTkrootwithdrawr   fix_x11_pasteTexttextEntryentryr   tentrySpinboxspinclipboard_clearclipboard_append)clsr   s     I/opt/python-3.12.12/usr/lib/python3.12/idlelib/idle_test/test_editmenu.py
setUpClasszPasteTest.setUpClass   s    %%'!4d#774=HHTN	YYt_
::d#e$    c                     | ` | `| `| j                  j	                          | j                  j                          | j                  j                          | `y )N)r   r   r   r   r   update_idletasksdestroy)r   s    r   tearDownClasszPasteTest.tearDownClass   sD    Hci  "!!#Hr   c                 0   | j                   }dD ]y  \  }}| j                  ||      5  |j                  dd       |j                  dd|       |j	                  d       | j                  |j                  dd      |       ddd       { y# 1 sw Y   xY w)z4Test pasting into text with and without a selection.)) zonetwo
)selztwo
)tagansz1.0endone	<<Paste>>N)r   subTestdeleteinsertevent_generateassertEqualget)selfr   r$   r%   s       r   test_paste_textzPasteTest.test_paste_text%   s    yy:HC#3/E5)E5#.##K0  %!7=	 0/ ;//s   ABB	c                 r   | j                   | j                  fD ]  }dD ]  \  }}| j                  |||      5  |j                  dd       |j	                  dd       |j                  d|       |j                  d       | j                  |j                         |       ddd         y# 1 sw Y   xY w)z8Test pasting into an entry with and without a selection.)r   onetwo)r&   r
   )r   r&   r%   r   r&   r'   r(   N)	r   r   r)   r*   r+   select_ranger,   r-   r.   )r/   r   r&   r%   s       r   test_paste_entryzPasteTest.test_paste_entry/   s     ZZ,E9S\\3C\@LLE*LLE*&&q#.((5$$UYY[#6 A@ : -@@s   A(B--B6c                 P   | j                   }dD ]  \  }}| j                  ||      5  |j                  dd       |j                  dd       |j	                  dd|       |j                  d       | j                  |j                         |       ddd        y# 1 sw Y   xY w)	z9Test pasting into a spinbox with and without a selection.r2   )r&   r%   r   r&   r'   ranger(   N)r   r)   r*   r+   	selectionr,   r-   r.   )r/   r   r&   r%   s       r   test_paste_spinzPasteTest.test_paste_spin<   s     yy5HC#3/Au%Au%w3/##K0  S1 0/ 6//s   A)BB%	N)
__name__
__module____qualname____doc__classmethodr   r    r0   r5   r9    r   r   r   r      s>     	% 	%  >7
2r   r   __main__   )	verbosity)r=   test.supportr   tkinterr   r   unittestidlelibr   TestCaser   r:   mainr?   r   r   <module>rI      sR    "     :2!! :2z zHMMA r   