Commit 4a21726f authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #19085: Fix Tkinter tests with Tcl/Tk 8.4.

parent 090b6b1b
......@@ -4,7 +4,7 @@ import os
from test.test_support import requires, run_unittest
from test_ttk.support import tcl_version, requires_tcl, widget_eq
from widget_tests import (add_standard_options, noconv, int_round,
from widget_tests import (add_standard_options, noconv, noconv_meth, int_round,
AbstractWidgetTest, StandardOptionsTests,
IntegerSizeTests, PixelSizeTests)
......@@ -12,7 +12,7 @@ requires('gui')
class AbstractToplevelTest(AbstractWidgetTest, PixelSizeTests):
_conv_pad_pixels = noconv
_conv_pad_pixels = noconv_meth
def test_class(self):
widget = self.create()
......@@ -130,7 +130,7 @@ class LabelFrameTest(AbstractToplevelTest, unittest.TestCase):
class AbstractLabelTest(AbstractWidgetTest, IntegerSizeTests):
_conv_pixels = noconv
_conv_pixels = noconv_meth
def test_highlightthickness(self):
widget = self.create()
......@@ -240,7 +240,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
'takefocus', 'text', 'textvariable',
'underline', 'width', 'wraplength',
)
_conv_pixels = AbstractWidgetTest._conv_pixels
_conv_pixels = staticmethod(AbstractWidgetTest._conv_pixels)
def _create(self, **kwargs):
return Tkinter.Menubutton(self.root, **kwargs)
......@@ -858,7 +858,7 @@ class MenuTest(AbstractWidgetTest, unittest.TestCase):
'postcommand', 'relief', 'selectcolor', 'takefocus',
'tearoff', 'tearoffcommand', 'title', 'type',
)
_conv_pixels = noconv
_conv_pixels = noconv_meth
def _create(self, **kwargs):
return Tkinter.Menu(self.root, **kwargs)
......@@ -894,7 +894,7 @@ class MessageTest(AbstractWidgetTest, unittest.TestCase):
'justify', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable', 'width',
)
_conv_pad_pixels = noconv
_conv_pad_pixels = noconv_meth
def _create(self, **kwargs):
return Tkinter.Message(self.root, **kwargs)
......
......@@ -7,7 +7,7 @@ import sys
import support
from test_functions import MockTclObj, MockStateSpec
from support import tcl_version
from widget_tests import (add_standard_options, noconv,
from widget_tests import (add_standard_options, noconv, noconv_meth,
AbstractWidgetTest, StandardOptionsTests,
IntegerSizeTests, PixelSizeTests)
......@@ -117,7 +117,7 @@ class WidgetTest(unittest.TestCase):
class AbstractToplevelTest(AbstractWidgetTest, PixelSizeTests):
_conv_pixels = noconv
_conv_pixels = noconv_meth
@add_standard_options(StandardTtkOptionsTests)
......@@ -197,7 +197,7 @@ class LabelTest(AbstractLabelTest, unittest.TestCase):
'takefocus', 'text', 'textvariable',
'underline', 'width', 'wraplength',
)
_conv_pixels = noconv
_conv_pixels = noconv_meth
def _create(self, **kwargs):
return ttk.Label(self.root, **kwargs)
......@@ -362,7 +362,7 @@ class ComboboxTest(AbstractWidgetTest, unittest.TestCase):
expected=('mon', 'tue', 'wed', 'thur'))
self.checkParam(self.combo, 'values', ('mon', 'tue', 'wed', 'thur'))
self.checkParam(self.combo, 'values', (42, 3.14, '', 'any string'))
self.checkParam(self.combo, 'values', '')
self.checkParam(self.combo, 'values', () if tcl_version < (8, 5) else '')
self.combo['values'] = ['a', 1, 'c']
......@@ -758,7 +758,7 @@ class ScaleTest(AbstractWidgetTest, unittest.TestCase):
'class', 'command', 'cursor', 'from', 'length',
'orient', 'style', 'takefocus', 'to', 'value', 'variable',
)
_conv_pixels = noconv
_conv_pixels = noconv_meth
default_orient = 'horizontal'
def setUp(self):
......@@ -862,7 +862,7 @@ class ProgressbarTest(AbstractWidgetTest, unittest.TestCase):
'mode', 'maximum', 'phase',
'style', 'takefocus', 'value', 'variable',
)
_conv_pixels = noconv
_conv_pixels = noconv_meth
default_orient = 'horizontal'
def _create(self, **kwargs):
......@@ -1144,7 +1144,7 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase):
self.checkParam(widget, 'columns', 'a b c',
expected=('a', 'b', 'c'))
self.checkParam(widget, 'columns', ('a', 'b', 'c'))
self.checkParam(widget, 'columns', '')
self.checkParam(widget, 'columns', () if tcl_version < (8, 5) else '')
def test_displaycolumns(self):
widget = self.create()
......
......@@ -6,6 +6,7 @@ from test_ttk.support import tcl_version, requires_tcl, pixels_conv, tcl_obj_eq
noconv = str if tcl_version < (8, 5) else False
noconv_meth = noconv and staticmethod(noconv)
def int_round(x):
return int(round(x))
......@@ -13,7 +14,7 @@ def int_round(x):
_sentinel = object()
class AbstractWidgetTest(object):
_conv_pixels = staticmethod(int_round) if tcl_version[:2] != (8, 5) else int
_conv_pixels = staticmethod(int_round if tcl_version[:2] != (8, 5) else int)
_conv_pad_pixels = None
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