Issue #19085: Fix running test_ttk_textonly on displayless host.
This commit is contained in:
commit
b58d4a3209
|
@ -4,7 +4,8 @@ import os
|
|||
from test.support import requires
|
||||
|
||||
from tkinter.test.support import tcl_version, requires_tcl, widget_eq
|
||||
from tkinter.test.widget_tests import (add_standard_options, noconv,
|
||||
from tkinter.test.widget_tests import (
|
||||
add_standard_options, noconv, pixels_round,
|
||||
AbstractWidgetTest, StandardOptionsTests, IntegerSizeTests, PixelSizeTests)
|
||||
|
||||
requires('gui')
|
||||
|
@ -243,7 +244,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
|
|||
'takefocus', 'text', 'textvariable',
|
||||
'underline', 'width', 'wraplength',
|
||||
)
|
||||
_conv_pixels = AbstractWidgetTest._conv_pixels
|
||||
_conv_pixels = staticmethod(pixels_round)
|
||||
|
||||
def _create(self, **kwargs):
|
||||
return tkinter.Menubutton(self.root, **kwargs)
|
||||
|
|
|
@ -12,18 +12,24 @@ pixels_round = round
|
|||
if tcl_version[:2] == (8, 5):
|
||||
# Issue #19085: Workaround a bug in Tk
|
||||
# http://core.tcl.tk/tk/info/3497848
|
||||
_pixels_round = None
|
||||
def pixels_round(x):
|
||||
global _pixels_round
|
||||
if _pixels_round is None:
|
||||
root = setup_master()
|
||||
patchlevel = root.call('info', 'patchlevel')
|
||||
patchlevel = tuple(map(int, patchlevel.split('.')))
|
||||
if patchlevel < (8, 5, 12):
|
||||
pixels_round = int
|
||||
del root
|
||||
_pixels_round = int
|
||||
else:
|
||||
_pixels_round = int_round
|
||||
return _pixels_round(x)
|
||||
|
||||
|
||||
_sentinel = object()
|
||||
|
||||
class AbstractWidgetTest:
|
||||
_conv_pixels = pixels_round
|
||||
_conv_pixels = staticmethod(pixels_round)
|
||||
_conv_pad_pixels = None
|
||||
wantobjects = True
|
||||
|
||||
|
|
Loading…
Reference in New Issue