[3.6] bpo-34189: Add simple tests for new Tk widget options. (GH-8396) (GH-8399)
(cherry picked from commite271ca78e3
) (cherry picked from commitc75c1e0e8a
)
This commit is contained in:
parent
9c136700aa
commit
0ff1746434
|
@ -1,3 +1,4 @@
|
||||||
|
import functools
|
||||||
import re
|
import re
|
||||||
import tkinter
|
import tkinter
|
||||||
import unittest
|
import unittest
|
||||||
|
@ -54,9 +55,20 @@ import _tkinter
|
||||||
tcl_version = tuple(map(int, _tkinter.TCL_VERSION.split('.')))
|
tcl_version = tuple(map(int, _tkinter.TCL_VERSION.split('.')))
|
||||||
|
|
||||||
def requires_tcl(*version):
|
def requires_tcl(*version):
|
||||||
return unittest.skipUnless(tcl_version >= version,
|
if len(version) <= 2:
|
||||||
|
return unittest.skipUnless(tcl_version >= version,
|
||||||
'requires Tcl version >= ' + '.'.join(map(str, version)))
|
'requires Tcl version >= ' + '.'.join(map(str, version)))
|
||||||
|
|
||||||
|
def deco(test):
|
||||||
|
@functools.wraps(test)
|
||||||
|
def newtest(self):
|
||||||
|
if get_tk_patchlevel() < (8, 6, 5):
|
||||||
|
self.skipTest('requires Tcl version >= ' +
|
||||||
|
'.'.join(map(str, get_tk_patchlevel())))
|
||||||
|
test(self)
|
||||||
|
return newtest
|
||||||
|
return deco
|
||||||
|
|
||||||
_tk_patchlevel = None
|
_tk_patchlevel = None
|
||||||
def get_tk_patchlevel():
|
def get_tk_patchlevel():
|
||||||
global _tk_patchlevel
|
global _tk_patchlevel
|
||||||
|
|
|
@ -703,7 +703,7 @@ class ListboxTest(AbstractWidgetTest, unittest.TestCase):
|
||||||
'disabledforeground', 'exportselection',
|
'disabledforeground', 'exportselection',
|
||||||
'font', 'foreground', 'height',
|
'font', 'foreground', 'height',
|
||||||
'highlightbackground', 'highlightcolor', 'highlightthickness',
|
'highlightbackground', 'highlightcolor', 'highlightthickness',
|
||||||
'listvariable', 'relief',
|
'justify', 'listvariable', 'relief',
|
||||||
'selectbackground', 'selectborderwidth', 'selectforeground',
|
'selectbackground', 'selectborderwidth', 'selectforeground',
|
||||||
'selectmode', 'setgrid', 'state',
|
'selectmode', 'setgrid', 'state',
|
||||||
'takefocus', 'width', 'xscrollcommand', 'yscrollcommand',
|
'takefocus', 'width', 'xscrollcommand', 'yscrollcommand',
|
||||||
|
@ -717,6 +717,8 @@ class ListboxTest(AbstractWidgetTest, unittest.TestCase):
|
||||||
self.checkEnumParam(widget, 'activestyle',
|
self.checkEnumParam(widget, 'activestyle',
|
||||||
'dotbox', 'none', 'underline')
|
'dotbox', 'none', 'underline')
|
||||||
|
|
||||||
|
test_justify = requires_tcl(8, 6, 5)(StandardOptionsTests.test_justify)
|
||||||
|
|
||||||
def test_listvariable(self):
|
def test_listvariable(self):
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
var = tkinter.DoubleVar(self.root)
|
var = tkinter.DoubleVar(self.root)
|
||||||
|
@ -951,7 +953,9 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
|
||||||
OPTIONS = (
|
OPTIONS = (
|
||||||
'background', 'borderwidth', 'cursor',
|
'background', 'borderwidth', 'cursor',
|
||||||
'handlepad', 'handlesize', 'height',
|
'handlepad', 'handlesize', 'height',
|
||||||
'opaqueresize', 'orient', 'relief',
|
'opaqueresize', 'orient',
|
||||||
|
'proxybackground', 'proxyborderwidth', 'proxyrelief',
|
||||||
|
'relief',
|
||||||
'sashcursor', 'sashpad', 'sashrelief', 'sashwidth',
|
'sashcursor', 'sashpad', 'sashrelief', 'sashwidth',
|
||||||
'showhandle', 'width',
|
'showhandle', 'width',
|
||||||
)
|
)
|
||||||
|
@ -978,6 +982,23 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
self.checkBooleanParam(widget, 'opaqueresize')
|
self.checkBooleanParam(widget, 'opaqueresize')
|
||||||
|
|
||||||
|
@requires_tcl(8, 6, 5)
|
||||||
|
def test_proxybackground(self):
|
||||||
|
widget = self.create()
|
||||||
|
self.checkColorParam(widget, 'proxybackground')
|
||||||
|
|
||||||
|
@requires_tcl(8, 6, 5)
|
||||||
|
def test_proxyborderwidth(self):
|
||||||
|
widget = self.create()
|
||||||
|
self.checkPixelsParam(widget, 'proxyborderwidth',
|
||||||
|
0, 1.3, 2.9, 6, -2, '10p',
|
||||||
|
conv=noconv)
|
||||||
|
|
||||||
|
@requires_tcl(8, 6, 5)
|
||||||
|
def test_proxyrelief(self):
|
||||||
|
widget = self.create()
|
||||||
|
self.checkReliefParam(widget, 'proxyrelief')
|
||||||
|
|
||||||
def test_sashcursor(self):
|
def test_sashcursor(self):
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
self.checkCursorParam(widget, 'sashcursor')
|
self.checkCursorParam(widget, 'sashcursor')
|
||||||
|
|
Loading…
Reference in New Issue