diff options
author | Brett Cannon <brett@python.org> | 2016-07-15 11:55:21 -0700 |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2016-07-15 11:55:21 -0700 |
commit | 075aa39abfe69d8f52bb362939783a25392ae3c4 (patch) | |
tree | 1ccb286fda0998aad3e3f3dd1a7ac2c31670cfe9 /Lib/idlelib/idle_test/test_editmenu.py | |
parent | e2ad41ee605fd10544300d372b8f90e7ad460e92 (diff) | |
parent | 238a55125d241591cac906f008f7ce7da503eb78 (diff) | |
download | cpython-075aa39abfe69d8f52bb362939783a25392ae3c4.tar.gz |
Merge for #27083
Diffstat (limited to 'Lib/idlelib/idle_test/test_editmenu.py')
-rw-r--r-- | Lib/idlelib/idle_test/test_editmenu.py | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/Lib/idlelib/idle_test/test_editmenu.py b/Lib/idlelib/idle_test/test_editmenu.py index 50317a97e5..654f060225 100644 --- a/Lib/idlelib/idle_test/test_editmenu.py +++ b/Lib/idlelib/idle_test/test_editmenu.py @@ -5,8 +5,9 @@ Edit modules have their own test files files from test.support import requires requires('gui') import tkinter as tk +from tkinter import ttk import unittest -from idlelib import PyShell +from idlelib import pyshell class PasteTest(unittest.TestCase): '''Test pasting into widgets that allow pasting. @@ -16,16 +17,17 @@ class PasteTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.root = root = tk.Tk() - PyShell.fix_x11_paste(root) + pyshell.fix_x11_paste(root) cls.text = tk.Text(root) cls.entry = tk.Entry(root) + cls.tentry = ttk.Entry(root) cls.spin = tk.Spinbox(root) root.clipboard_clear() root.clipboard_append('two') @classmethod def tearDownClass(cls): - del cls.text, cls.entry, cls.spin + del cls.text, cls.entry, cls.tentry cls.root.clipboard_clear() cls.root.update_idletasks() cls.root.destroy() @@ -43,16 +45,16 @@ class PasteTest(unittest.TestCase): def test_paste_entry(self): "Test pasting into an entry with and without a selection." - # On 3.6, generated <<Paste>> fails without empty select range - # for 'no selection'. Live widget works fine. - entry = self.entry - for end, ans in (0, 'onetwo'), ('end', 'two'): - with self.subTest(entry=entry, end=end, ans=ans): - entry.delete(0, 'end') - entry.insert(0, 'one') - entry.select_range(0, end) # see note - entry.event_generate('<<Paste>>') - self.assertEqual(entry.get(), ans) + # Generated <<Paste>> fails for tk entry without empty select + # range for 'no selection'. Live widget works fine. + for entry in self.entry, self.tentry: + for end, ans in (0, 'onetwo'), ('end', 'two'): + with self.subTest(entry=entry, end=end, ans=ans): + entry.delete(0, 'end') + entry.insert(0, 'one') + entry.select_range(0, end) + entry.event_generate('<<Paste>>') + self.assertEqual(entry.get(), ans) def test_paste_spin(self): "Test pasting into a spinbox with and without a selection." |