[Python-checkins] bpo-42370: Check element before making mouse click in ttk tests (GH-23491)

serhiy-storchaka webhook-mailer at python.org
Tue Nov 24 12:35:52 EST 2020


https://github.com/python/cpython/commit/b0b428510cfd604a8eef1f245f039331e671ea4a
commit: b0b428510cfd604a8eef1f245f039331e671ea4a
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: serhiy-storchaka <storchaka at gmail.com>
date: 2020-11-24T19:35:39+02:00
summary:

bpo-42370: Check element before making mouse click in ttk tests (GH-23491)

files:
M Lib/tkinter/test/test_ttk/test_widgets.py

diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py
index 2598bc6765207..e20ec39071085 100644
--- a/Lib/tkinter/test/test_ttk/test_widgets.py
+++ b/Lib/tkinter/test/test_ttk/test_widgets.py
@@ -437,11 +437,12 @@ def test_height(self):
 
     def _show_drop_down_listbox(self):
         width = self.combo.winfo_width()
-        self.combo.event_generate('<ButtonPress-1>', x=width - 5, y=5)
-        self.combo.event_generate('<ButtonRelease-1>', x=width - 5, y=5)
+        x, y = width - 5, 5
+        self.assertRegex(self.combo.identify(x, y), r'.*downarrow\Z')
+        self.combo.event_generate('<ButtonPress-1>', x=x, y=y)
+        self.combo.event_generate('<ButtonRelease-1>', x=x, y=y)
         self.combo.update_idletasks()
 
-
     def test_virtual_event(self):
         success = []
 
@@ -1088,6 +1089,7 @@ def test_traversal(self):
 
         self.nb.select(0)
 
+        self.assertEqual(self.nb.identify(5, 5), 'focus')
         simulate_mouse_click(self.nb, 5, 5)
         self.nb.focus_force()
         self.nb.event_generate('<Control-Tab>')
@@ -1102,6 +1104,7 @@ def test_traversal(self):
         self.nb.tab(self.child1, text='a', underline=0)
         self.nb.enable_traversal()
         self.nb.focus_force()
+        self.assertEqual(self.nb.identify(5, 5), 'focus')
         simulate_mouse_click(self.nb, 5, 5)
         if sys.platform == 'darwin':
             self.nb.event_generate('<Option-a>')
@@ -1132,6 +1135,7 @@ def _click_increment_arrow(self):
         height = self.spin.winfo_height()
         x = width - 5
         y = height//2 - 5
+        self.assertRegex(self.spin.identify(x, y), r'.*uparrow\Z')
         self.spin.event_generate('<ButtonPress-1>', x=x, y=y)
         self.spin.event_generate('<ButtonRelease-1>', x=x, y=y)
         self.spin.update_idletasks()
@@ -1141,6 +1145,7 @@ def _click_decrement_arrow(self):
         height = self.spin.winfo_height()
         x = width - 5
         y = height//2 + 4
+        self.assertRegex(self.spin.identify(x, y), r'.*downarrow\Z')
         self.spin.event_generate('<ButtonPress-1>', x=x, y=y)
         self.spin.event_generate('<ButtonRelease-1>', x=x, y=y)
         self.spin.update_idletasks()
@@ -1530,6 +1535,9 @@ def test_heading(self):
 
     def test_heading_callback(self):
         def simulate_heading_click(x, y):
+            if tcl_version >= (8, 6):
+                self.assertEqual(self.tv.identify_column(x), '#0')
+                self.assertEqual(self.tv.identify_region(x, y), 'heading')
             simulate_mouse_click(self.tv, x, y)
             self.tv.update()
 



More information about the Python-checkins mailing list