a  ze @sjdZddlmZedddlZddlmZddlZddlmZGdddej Z e d krfej d d dS) zNTest (selected) IDLE Edit menu items. Edit modules have their own test files )requiresZguiN)ttk)pyshellc@s@eZdZdZeddZeddZddZdd Zd d Z d S) PasteTestzeTest pasting into widgets that allow pasting. On X11, replacing selections requires tk fix. cCsht|_}|jt|t||_t||_ t ||_ t ||_ ||ddS)Ntwo)tkZTkrootZwithdrawrZ fix_x11_pasteTexttextZEntryentryrtentryZSpinboxspinclipboard_clearZclipboard_append)clsrrS/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_editmenu.py setUpClasss      zPasteTest.setUpClasscCs2|`|`|`|j|j|j|`dS)N)r r r rrZupdate_idletasksZdestroy)rrrr tearDownClasss     zPasteTest.tearDownClassc Cs~|j}dD]n\}}|j||dH|dd|dd||d||dd|Wdq 1sn0Yq dS)z4Test pasting into text with and without a selection.))zonetwo )Zselztwo )tagansz1.0endone <>N)r subTestdeleteinsertevent_generate assertEqualget)selfr rrrrrtest_paste_text%s   zPasteTest.test_paste_textc Cs|j|jfD]}dD]v\}}|j|||dN|dd|dd|d||d|||Wdq1s0Yqq dS)z8Test pasting into an entry with and without a selection.)rZonetwo)rr)r rrrrrrN) r r rrrZ select_rangerrr)r r rrrrrtest_paste_entry/s     zPasteTest.test_paste_entryc Cs|j}dD]v\}}|j||dP|dd|dd|dd||d|||Wdq 1sv0Yq dS) z9Test pasting into a spinbox with and without a selection.r")rrrrrrangerN)r rrrZ selectionrrr)r r rrrrrtest_paste_spin<s    zPasteTest.test_paste_spinN) __name__ __module__ __qualname____doc__ classmethodrrr!r#r%rrrrr s    r__main__) verbosity) r)Z test.supportrtkinterrrZunittestZidlelibrZTestCaserr&mainrrrrs   =