mirror of https://github.com/python/cpython
bpo-45436: Fix tkinter tests with Tcl/Tk 8.6.11+ (GH-29077)
Since v8.6.11, a few configuration options seem to accept an empty value where they did not previously; particularly the `type` of a `Menu` widget, and the `compound` of any ttk widget with a label. Providing an explicit expected error message to `checkEnumParam` bypasses the check of an empty value, which no longer raises `TclError`.
This commit is contained in:
parent
3163e68c34
commit
4fe454c6f5
|
@ -1241,8 +1241,11 @@ class MenuTest(AbstractWidgetTest, unittest.TestCase):
|
||||||
|
|
||||||
def test_configure_type(self):
|
def test_configure_type(self):
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
self.checkEnumParam(widget, 'type',
|
self.checkEnumParam(
|
||||||
'normal', 'tearoff', 'menubar')
|
widget, 'type',
|
||||||
|
'normal', 'tearoff', 'menubar',
|
||||||
|
errmsg='bad type "{}": must be normal, tearoff, or menubar',
|
||||||
|
)
|
||||||
|
|
||||||
def test_entryconfigure(self):
|
def test_entryconfigure(self):
|
||||||
m1 = self.create()
|
m1 = self.create()
|
||||||
|
|
|
@ -169,10 +169,13 @@ class AbstractLabelTest(AbstractWidgetTest):
|
||||||
errmsg='image "spam" doesn\'t exist')
|
errmsg='image "spam" doesn\'t exist')
|
||||||
|
|
||||||
def test_configure_compound(self):
|
def test_configure_compound(self):
|
||||||
|
options = 'none text image center top bottom left right'.split()
|
||||||
|
errmsg = (
|
||||||
|
'bad compound "{}": must be'
|
||||||
|
f' {", ".join(options[:-1])}, or {options[-1]}'
|
||||||
|
)
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
self.checkEnumParam(widget, 'compound',
|
self.checkEnumParam(widget, 'compound', *options, errmsg=errmsg)
|
||||||
'none', 'text', 'image', 'center',
|
|
||||||
'top', 'bottom', 'left', 'right')
|
|
||||||
|
|
||||||
def test_configure_state(self):
|
def test_configure_state(self):
|
||||||
widget = self.create()
|
widget = self.create()
|
||||||
|
|
Loading…
Reference in New Issue