mirror of
https://github.com/python/cpython.git
synced 2025-10-14 18:59:46 +00:00
Issue #5124: rename PyShell back to pyshell and patch test for 3.6
This commit is contained in:
parent
b5c43f4c01
commit
50288f964a
2 changed files with 15 additions and 13 deletions
|
@ -5,8 +5,9 @@ Edit modules have their own test files files
|
||||||
from test.support import requires
|
from test.support import requires
|
||||||
requires('gui')
|
requires('gui')
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
|
from tkinter import ttk
|
||||||
import unittest
|
import unittest
|
||||||
from idlelib import PyShell
|
from idlelib import pyshell
|
||||||
|
|
||||||
class PasteTest(unittest.TestCase):
|
class PasteTest(unittest.TestCase):
|
||||||
'''Test pasting into widgets that allow pasting.
|
'''Test pasting into widgets that allow pasting.
|
||||||
|
@ -16,16 +17,17 @@ class PasteTest(unittest.TestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
cls.root = root = tk.Tk()
|
cls.root = root = tk.Tk()
|
||||||
PyShell.fix_x11_paste(root)
|
pyshell.fix_x11_paste(root)
|
||||||
cls.text = tk.Text(root)
|
cls.text = tk.Text(root)
|
||||||
cls.entry = tk.Entry(root)
|
cls.entry = tk.Entry(root)
|
||||||
|
cls.tentry = ttk.Entry(root)
|
||||||
cls.spin = tk.Spinbox(root)
|
cls.spin = tk.Spinbox(root)
|
||||||
root.clipboard_clear()
|
root.clipboard_clear()
|
||||||
root.clipboard_append('two')
|
root.clipboard_append('two')
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def tearDownClass(cls):
|
def tearDownClass(cls):
|
||||||
del cls.text, cls.entry, cls.spin
|
del cls.text, cls.entry, cls.tentry
|
||||||
cls.root.clipboard_clear()
|
cls.root.clipboard_clear()
|
||||||
cls.root.update_idletasks()
|
cls.root.update_idletasks()
|
||||||
cls.root.destroy()
|
cls.root.destroy()
|
||||||
|
@ -43,14 +45,14 @@ class PasteTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_paste_entry(self):
|
def test_paste_entry(self):
|
||||||
"Test pasting into an entry with and without a selection."
|
"Test pasting into an entry with and without a selection."
|
||||||
# On 3.6, generated <<Paste>> fails without empty select range
|
# Generated <<Paste>> fails for tk entry without empty select
|
||||||
# for 'no selection'. Live widget works fine.
|
# range for 'no selection'. Live widget works fine.
|
||||||
entry = self.entry
|
for entry in self.entry, self.tentry:
|
||||||
for end, ans in (0, 'onetwo'), ('end', 'two'):
|
for end, ans in (0, 'onetwo'), ('end', 'two'):
|
||||||
with self.subTest(entry=entry, end=end, ans=ans):
|
with self.subTest(entry=entry, end=end, ans=ans):
|
||||||
entry.delete(0, 'end')
|
entry.delete(0, 'end')
|
||||||
entry.insert(0, 'one')
|
entry.insert(0, 'one')
|
||||||
entry.select_range(0, end) # see note
|
entry.select_range(0, end)
|
||||||
entry.event_generate('<<Paste>>')
|
entry.event_generate('<<Paste>>')
|
||||||
self.assertEqual(entry.get(), ans)
|
self.assertEqual(entry.get(), ans)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue