[Python-checkins] cpython: Issue #5124: rename PyShell back to pyshell and patch test for 3.6

terry.reedy python-checkins at python.org
Sat Jun 11 02:11:18 EDT 2016


https://hg.python.org/cpython/rev/095e79636663
changeset:   101864:095e79636663
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Sat Jun 11 02:10:59 2016 -0400
summary:
  Issue #5124: rename PyShell back to pyshell and patch test for 3.6

files:
  Lib/idlelib/idle_test/test_editmenu.py |  28 +++++++------
  Lib/idlelib/pyshell.py                 |   0 
  2 files changed, 15 insertions(+), 13 deletions(-)


diff --git a/Lib/idlelib/idle_test/test_editmenu.py b/Lib/idlelib/idle_test/test_editmenu.py
--- a/Lib/idlelib/idle_test/test_editmenu.py
+++ b/Lib/idlelib/idle_test/test_editmenu.py
@@ -5,8 +5,9 @@
 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 @@
     @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 @@
 
     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."
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/pyshell.py
rename from Lib/idlelib/PyShell.py
rename to Lib/idlelib/pyshell.py

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list