Commit 2028e013 authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #19085: Fix running test_ttk_textonly on displayless host.

parent 8d8599ce
...@@ -4,7 +4,8 @@ import os ...@@ -4,7 +4,8 @@ import os
from test.support import requires from test.support import requires
from tkinter.test.support import tcl_version, requires_tcl, widget_eq 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) AbstractWidgetTest, StandardOptionsTests, IntegerSizeTests, PixelSizeTests)
requires('gui') requires('gui')
...@@ -243,7 +244,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase): ...@@ -243,7 +244,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
'takefocus', 'text', 'textvariable', 'takefocus', 'text', 'textvariable',
'underline', 'width', 'wraplength', 'underline', 'width', 'wraplength',
) )
_conv_pixels = AbstractWidgetTest._conv_pixels _conv_pixels = staticmethod(pixels_round)
def _create(self, **kwargs): def _create(self, **kwargs):
return tkinter.Menubutton(self.root, **kwargs) return tkinter.Menubutton(self.root, **kwargs)
......
...@@ -12,18 +12,24 @@ pixels_round = round ...@@ -12,18 +12,24 @@ pixels_round = round
if tcl_version[:2] == (8, 5): if tcl_version[:2] == (8, 5):
# Issue #19085: Workaround a bug in Tk # Issue #19085: Workaround a bug in Tk
# http://core.tcl.tk/tk/info/3497848 # http://core.tcl.tk/tk/info/3497848
root = setup_master() _pixels_round = None
patchlevel = root.call('info', 'patchlevel') def pixels_round(x):
patchlevel = tuple(map(int, patchlevel.split('.'))) global _pixels_round
if patchlevel < (8, 5, 12): if _pixels_round is None:
pixels_round = int root = setup_master()
del root patchlevel = root.call('info', 'patchlevel')
patchlevel = tuple(map(int, patchlevel.split('.')))
if patchlevel < (8, 5, 12):
_pixels_round = int
else:
_pixels_round = int_round
return _pixels_round(x)
_sentinel = object() _sentinel = object()
class AbstractWidgetTest: class AbstractWidgetTest:
_conv_pixels = pixels_round _conv_pixels = staticmethod(pixels_round)
_conv_pad_pixels = None _conv_pad_pixels = None
wantobjects = True wantobjects = True
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment