Skip to content

Commit e8874b8

Browse files
authored
bpo-37706: Disable 3 IDLE scrollbar tests on Mac. (#15010)
They pass with tk 8.5.9 (Azure) but fail with the 8.6.x we install.
1 parent fe330fc commit e8874b8

File tree

1 file changed

+29
-7
lines changed

1 file changed

+29
-7
lines changed

Lib/idlelib/idle_test/test_sidebar.py

+29-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
"""Test sidebar, coverage 93%"""
2+
import idlelib.sidebar
3+
from sys import platform
24
from itertools import chain
35
import unittest
46
import unittest.mock
@@ -7,7 +9,6 @@
79

810
from idlelib.delegator import Delegator
911
from idlelib.percolator import Percolator
10-
import idlelib.sidebar
1112

1213

1314
class Dummy_editwin:
@@ -239,6 +240,7 @@ def get_width():
239240
self.assert_sidebar_n_lines(1)
240241
self.assertEqual(get_width(), 1)
241242

243+
@unittest.skipIf(platform == 'darwin', 'test tk version dependent')
242244
def test_click_selection(self):
243245
self.linenumber.show_sidebar()
244246
self.text.insert('1.0', 'one\ntwo\nthree\nfour\n')
@@ -252,14 +254,15 @@ def test_click_selection(self):
252254

253255
self.assertEqual(self.get_selection(), ('2.0', '3.0'))
254256

255-
def test_drag_selection(self):
257+
@unittest.skipIf(platform == 'darwin', 'test tk version dependent')
258+
def test_drag_selection_down(self):
256259
self.linenumber.show_sidebar()
257-
self.text.insert('1.0', 'one\ntwo\nthree\nfour\n')
260+
self.text.insert('1.0', 'one\ntwo\nthree\nfour\nfive\n')
258261
self.root.update()
259262

260-
# Drag from the first line to the third line.
261-
start_x, start_y = self.get_line_screen_position(1)
262-
end_x, end_y = self.get_line_screen_position(3)
263+
# Drag from the second line to the fourth line.
264+
start_x, start_y = self.get_line_screen_position(2)
265+
end_x, end_y = self.get_line_screen_position(4)
263266
self.linenumber.sidebar_text.event_generate('<Button-1>',
264267
x=start_x, y=start_y)
265268
self.linenumber.sidebar_text.event_generate('<B1-Motion>',
@@ -269,8 +272,27 @@ def test_drag_selection(self):
269272
self.linenumber.sidebar_text.event_generate('<ButtonRelease-1>',
270273
x=end_x, y=end_y)
271274
self.root.update()
275+
self.assertEqual(self.get_selection(), ('2.0', '5.0'))
276+
277+
@unittest.skipIf(platform == 'darwin', 'test tk version dependent')
278+
def test_drag_selection_up(self):
279+
self.linenumber.show_sidebar()
280+
self.text.insert('1.0', 'one\ntwo\nthree\nfour\nfive\n')
281+
self.root.update()
272282

273-
self.assertEqual(self.get_selection(), ('1.0', '4.0'))
283+
# Drag from the fourth line to the second line.
284+
start_x, start_y = self.get_line_screen_position(4)
285+
end_x, end_y = self.get_line_screen_position(2)
286+
self.linenumber.sidebar_text.event_generate('<Button-1>',
287+
x=start_x, y=start_y)
288+
self.linenumber.sidebar_text.event_generate('<B1-Motion>',
289+
x=start_x, y=start_y)
290+
self.linenumber.sidebar_text.event_generate('<B1-Motion>',
291+
x=end_x, y=end_y)
292+
self.linenumber.sidebar_text.event_generate('<ButtonRelease-1>',
293+
x=end_x, y=end_y)
294+
self.root.update()
295+
self.assertEqual(self.get_selection(), ('2.0', '5.0'))
274296

275297
def test_scroll(self):
276298
self.linenumber.show_sidebar()

0 commit comments

Comments
 (0)