Fixed new Tkinter tests added in issue #21522 with Tk 8.4.

This commit is contained in:
Serhiy Storchaka 2014-05-23 23:58:13 +03:00
parent 8447c703d1
commit 10cbb1e463
1 changed files with 13 additions and 6 deletions

View File

@ -961,12 +961,15 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
self.assertEqual(v, p.paneconfigure(b, k)) self.assertEqual(v, p.paneconfigure(b, k))
self.assertEqual(v[4], p.panecget(b, k)) self.assertEqual(v[4], p.panecget(b, k))
def check_paneconfigure(self, p, b, name, value, expected): def check_paneconfigure(self, p, b, name, value, expected, stringify=False):
if not self.wantobjects: conv = lambda x: x
if not self.wantobjects or stringify:
expected = str(expected) expected = str(expected)
if self.wantobjects and stringify:
conv = str
p.paneconfigure(b, **{name: value}) p.paneconfigure(b, **{name: value})
self.assertEqual(p.paneconfigure(b, name)[4], expected) self.assertEqual(conv(p.paneconfigure(b, name)[4]), expected)
self.assertEqual(p.panecget(b, name), expected) self.assertEqual(conv(p.panecget(b, name)), expected)
def check_paneconfigure_bad(self, p, b, name, msg): def check_paneconfigure_bad(self, p, b, name, msg):
with self.assertRaisesRegex(TclError, msg): with self.assertRaisesRegex(TclError, msg):
@ -986,10 +989,12 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
def test_paneconfigure_height(self): def test_paneconfigure_height(self):
p, b, c = self.create2() p, b, c = self.create2()
self.check_paneconfigure(p, b, 'height', 10, 10) self.check_paneconfigure(p, b, 'height', 10, 10,
stringify=tcl_version < (8, 5))
self.check_paneconfigure_bad(p, b, 'height', self.check_paneconfigure_bad(p, b, 'height',
'bad screen distance "badValue"') 'bad screen distance "badValue"')
@requires_tcl(8, 5)
def test_paneconfigure_hide(self): def test_paneconfigure_hide(self):
p, b, c = self.create2() p, b, c = self.create2()
self.check_paneconfigure(p, b, 'hide', False, 0) self.check_paneconfigure(p, b, 'hide', False, 0)
@ -1022,6 +1027,7 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
'be a string containing zero or more of ' 'be a string containing zero or more of '
'n, e, s, and w') 'n, e, s, and w')
@requires_tcl(8, 5)
def test_paneconfigure_stretch(self): def test_paneconfigure_stretch(self):
p, b, c = self.create2() p, b, c = self.create2()
self.check_paneconfigure(p, b, 'stretch', 'alw', 'always') self.check_paneconfigure(p, b, 'stretch', 'alw', 'always')
@ -1031,7 +1037,8 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
def test_paneconfigure_width(self): def test_paneconfigure_width(self):
p, b, c = self.create2() p, b, c = self.create2()
self.check_paneconfigure(p, b, 'width', 10, 10) self.check_paneconfigure(p, b, 'width', 10, 10,
stringify=tcl_version < (8, 5))
self.check_paneconfigure_bad(p, b, 'width', self.check_paneconfigure_bad(p, b, 'width',
'bad screen distance "badValue"') 'bad screen distance "badValue"')