mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781)
* Tkinter functions and constructors which need a default root window raise now RuntimeError with descriptive message instead of obscure AttributeError or NameError if it is not created yet or cannot be created automatically. * Add tests for all functions which use default root window. * Fix import in the pynche script.
This commit is contained in:
parent
1e27b57dbc
commit
3d569fd6dc
19 changed files with 315 additions and 87 deletions
|
@ -5,7 +5,8 @@ import os
|
|||
from test.support import requires
|
||||
|
||||
from tkinter.test.support import (tcl_version, requires_tcl,
|
||||
get_tk_patchlevel, widget_eq)
|
||||
get_tk_patchlevel, widget_eq,
|
||||
AbstractDefaultRootTest)
|
||||
from tkinter.test.widget_tests import (
|
||||
add_standard_options, noconv, pixels_round,
|
||||
AbstractWidgetTest, StandardOptionsTests, IntegerSizeTests, PixelSizeTests,
|
||||
|
@ -1295,12 +1296,21 @@ class MessageTest(AbstractWidgetTest, unittest.TestCase):
|
|||
self.checkIntegerParam(widget, 'aspect', 250, 0, -300)
|
||||
|
||||
|
||||
class DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase):
|
||||
|
||||
def test_frame(self):
|
||||
self._test_widget(tkinter.Frame)
|
||||
|
||||
def test_label(self):
|
||||
self._test_widget(tkinter.Label)
|
||||
|
||||
|
||||
tests_gui = (
|
||||
ButtonTest, CanvasTest, CheckbuttonTest, EntryTest,
|
||||
FrameTest, LabelFrameTest,LabelTest, ListboxTest,
|
||||
MenubuttonTest, MenuTest, MessageTest, OptionMenuTest,
|
||||
PanedWindowTest, RadiobuttonTest, ScaleTest, ScrollbarTest,
|
||||
SpinboxTest, TextTest, ToplevelTest,
|
||||
SpinboxTest, TextTest, ToplevelTest, DefaultRootTest,
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue