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

miss-islington webhook-mailer at python.org
Mon Nov 30 17:34:53 EST 2020


https://github.com/python/cpython/commit/b2652f2d7e1f3b868e9bec6669b3f3f905257991
commit: b2652f2d7e1f3b868e9bec6669b3f3f905257991
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2020-11-30T14:34:43-08:00
summary:

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

(cherry picked from commit b0b428510cfd604a8eef1f245f039331e671ea4a)

Co-authored-by: Serhiy Storchaka <storchaka at gmail.com>

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 572e6daddf008..157ef0e8f87bb 100644
--- a/Lib/tkinter/test/test_ttk/test_widgets.py
+++ b/Lib/tkinter/test/test_ttk/test_widgets.py
@@ -435,11 +435,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 = []
 
@@ -1085,6 +1086,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>')
@@ -1099,6 +1101,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>')
@@ -1129,6 +1132,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()
@@ -1138,6 +1142,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()
@@ -1526,6 +1531,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