]> granicus.if.org Git - python/commitdiff
Issue #5124: rename PyShell back to pyshell and patch test for 3.6
authorTerry Jan Reedy <tjreedy@udel.edu>
Sat, 11 Jun 2016 06:10:59 +0000 (02:10 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sat, 11 Jun 2016 06:10:59 +0000 (02:10 -0400)
Lib/idlelib/idle_test/test_editmenu.py
Lib/idlelib/pyshell.py [moved from Lib/idlelib/PyShell.py with 100% similarity]

index 50317a97e556de1b7c99e9e6bda5763afe02ab4f..654f060225c4f14587a98175cde7207011e7f63c 100644 (file)
@@ -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."