Issue #19085: Fix Tkinter tests on Tk 8.5 with patchlevel < 8.5.12.

This commit is contained in:
Serhiy Storchaka 2013-11-04 22:10:35 +02:00
parent 768e8475b1
commit c4051a8e34
1 changed files with 13 additions and 1 deletions

View File

@ -11,10 +11,22 @@ noconv_meth = noconv and staticmethod(noconv)
def int_round(x): def int_round(x):
return int(round(x)) return int(round(x))
pixels_round = int_round
if tcl_version[:2] == (8, 5):
# Issue #19085: Workaround a bug in Tk
# http://core.tcl.tk/tk/info/3497848
root = setup_master()
patchlevel = root.call('info', 'patchlevel')
patchlevel = tuple(map(int, patchlevel.split('.')))
if patchlevel < (8, 5, 12):
pixels_round = int
del root
_sentinel = object() _sentinel = object()
class AbstractWidgetTest(object): class AbstractWidgetTest(object):
_conv_pixels = staticmethod(int_round) _conv_pixels = staticmethod(pixels_round)
_conv_pad_pixels = None _conv_pad_pixels = None
wantobjects = True wantobjects = True