]> granicus.if.org Git - python/commitdiff
Issue #19085: Fix Tkinter tests with Tcl/Tk 8.4.
authorSerhiy Storchaka <storchaka@gmail.com>
Sat, 2 Nov 2013 15:27:59 +0000 (17:27 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Sat, 2 Nov 2013 15:27:59 +0000 (17:27 +0200)
Lib/lib-tk/test/test_tkinter/test_widgets.py
Lib/lib-tk/test/test_ttk/test_widgets.py
Lib/lib-tk/test/widget_tests.py

index 6d33e94c8e438a9cb7b3975c96b129eec75debb5..b502a8791bb2ae796c13008229552a1a15d4220f 100644 (file)
@@ -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)
index 86e8732a7ea99e6a85f3eac43f6ba829e67fa903..afeef0dde75c6e043ba95ebfe40c3cb7379cb3bd 100644 (file)
@@ -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()
index 3e195ccd49cadf9eb326024149e0d0cb8ebd2b18..a4fafffa4542e3d6955e5efe11d16522651f88e0 100644 (file)
@@ -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