a 9êdg ã@sjdZddlmZedƒddlZddlmZddlZddlmZGdd„dej ƒZ e d krfej d d dS) zNTest (selected) IDLE Edit menu items. Edit modules have their own test files é)ÚrequiresZguiN)Úttk)Úpyshellc@s@eZdZdZedd„ƒZedd„ƒZdd„Zdd „Zd d „Z d S) Ú PasteTestzeTest pasting into widgets that allow pasting. On X11, replacing selections requires tk fix. cCsht ¡|_}|j ¡t |¡t |¡|_t |¡|_ t  |¡|_ t  |¡|_ | ¡| d¡dS)NÚtwo)ÚtkZTkÚrootZwithdrawrZ fix_x11_pasteÚTextÚtextZEntryÚentryrÚtentryZSpinboxÚspinÚclipboard_clearZclipboard_append)Úclsr©rú;/usr/local/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¡|¡Wdƒq 1sn0Yq dS)z4Test pasting into text with and without a selection.))Úzonetwo )Zselztwo )ÚtagÚansz1.0ÚendÚoneú <>N)r ÚsubTestÚdeleteÚinsertÚevent_generateÚ assertEqualÚget)Úselfr rrrrrÚtest_paste_text%s   zPasteTest.test_paste_textc Cs’|j|jfD]€}dD]v\}}|j|||dN| dd¡| dd¡| d|¡| d¡| | ¡|¡Wdƒq1s€0Yqq dS)z8Test pasting into an entry with and without a selection.©)rZonetwo)rr)r rrrrrrN) r r rrrZ select_rangerrr)r r rrrrrÚtest_paste_entry/s     zPasteTest.test_paste_entryc Cs†|j}dD]v\}}|j||dP| dd¡| dd¡| dd|¡| d¡| | ¡|¡Wdƒq 1sv0Yq dS) z9Test pasting into a spinbox with and without a selection.r")rrrrrÚrangerN)r rrrZ selectionrrr)r r rrrrrÚtest_paste_spin<s    zPasteTest.test_paste_spinN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodrrr!r#r%rrrrr s    rÚ__main__é)Ú verbosity) r)Z test.supportrÚtkinterrrZunittestZidlelibrZTestCaserr&ÚmainrrrrÚs   =