3 § f ã@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. cCshtjƒ|_}|jjƒtj|ƒtj|ƒ|_tj|ƒ|_ t j|ƒ|_ tj |ƒ|_ |jƒ|jdƒdS)NÚtwo)ÚtkZTkÚrootZwithdrawrZ fix_x11_pasteZTextÚtextZEntryÚentryrÚtentryZSpinboxÚspinÚclipboard_clearZclipboard_append)Úclsr©rúD/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_editmenu.pyÚ setUpClasss      zPasteTest.setUpClasscCs2|`|`|`|jjƒ|jjƒ|jjƒ|`dS)N)r r r rr Zupdate_idletasksZdestroy)rrrrÚ tearDownClasss     zPasteTest.tearDownClassc Csn|j}xbd D]Z\}}|j||d��>|jddƒ|jdd|ƒ|jd ƒ|j|jddƒ|ƒWd QRXq Wd S)z4Test pasting into text with and without a selection.Úúonetwo Úselútwo )ÚtagÚansz1.0ÚendÚonez <>N©rr©rr)rr)r ÚsubTestÚdeleteÚinsertÚevent_generateÚ assertEqualÚget)Úselfr rrrrrÚtest_paste_text%s  zPasteTest.test_paste_textc Cs†x€|j|jfD]p}xjd D]b\}}|j|||d��D|jddƒ|jddƒ|jd|ƒ|jdƒ|j|jƒ|ƒWdQRXqWqWdS) z8Test pasting into an entry with and without a selection.rÚonetworr)r rrrz <>N©rr%©rr)r&r') r r rrrZ select_ranger r!r")r#r rrrrrÚtest_paste_entry/s    zPasteTest.test_paste_entryc Csv|j}xjd D]b\}}|j||d��F|jddƒ|jddƒ|jdd|ƒ|jdƒ|j|jƒ|ƒWd QRXq Wd S) z9Test pasting into a spinbox with and without a selection.rr%rr)rrrÚrangez <>N©rr%©rr)r*r+)r rrrZ selectionr r!r")r#r rrrrrÚtest_paste_spin<s   zPasteTest.test_paste_spinN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodrrr$r(r,rrrrr s    rÚ__main__é)Ú verbosity) r0Z test.supportrZtkinterrrZunittestZidlelibrZTestCaserr-ÚmainrrrrÚs   =