diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2020-12-19 11:08:07 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-19 11:08:07 (GMT) |
commit | 87e7a14ee3bd7dc495e51166598453114342d0bf (patch) | |
tree | 294f115bf28022c9a25b174684cc5dfbe6e7fde9 /Lib/tkinter/test/test_tkinter/test_widgets.py | |
parent | d458d8dab0abaf781c923f80f8eb832d0c683e88 (diff) | |
download | cpython-87e7a14ee3bd7dc495e51166598453114342d0bf.zip cpython-87e7a14ee3bd7dc495e51166598453114342d0bf.tar.gz cpython-87e7a14ee3bd7dc495e51166598453114342d0bf.tar.bz2 |
[3.9] bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) (GH-23853)
* 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.
(cherry picked from commit 3d569fd6dccf9f582bafaca04d3535094cae393e)
Diffstat (limited to 'Lib/tkinter/test/test_tkinter/test_widgets.py')
-rw-r--r-- | Lib/tkinter/test/test_tkinter/test_widgets.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Lib/tkinter/test/test_tkinter/test_widgets.py b/Lib/tkinter/test/test_tkinter/test_widgets.py index 4b9b6eb..54eddbf 100644 --- a/Lib/tkinter/test/test_tkinter/test_widgets.py +++ b/Lib/tkinter/test/test_tkinter/test_widgets.py @@ -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__': |