diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2020-12-19 14:38:37 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-19 14:38:37 (GMT) |
commit | 80c445cafbdfb16c4a882e3ff6fe28b471aacdfc (patch) | |
tree | c50f6688e6653e3f0a15db5a4bdd805299c2614a /Lib/tkinter/test/test_tkinter/test_variables.py | |
parent | d21d29ab5b8741da056ac09c49c759b6ccbf264a (diff) | |
download | cpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.zip cpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.tar.gz cpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.tar.bz2 |
[3.8] bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) (GH-23854)
* 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_variables.py')
-rw-r--r-- | Lib/tkinter/test/test_tkinter/test_variables.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Lib/tkinter/test/test_tkinter/test_variables.py b/Lib/tkinter/test/test_tkinter/test_variables.py index 2eb1e12..e7b24a8 100644 --- a/Lib/tkinter/test/test_tkinter/test_variables.py +++ b/Lib/tkinter/test/test_tkinter/test_variables.py @@ -1,7 +1,9 @@ import unittest import gc +import tkinter from tkinter import (Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl, TclError) +from tkinter.test.support import AbstractDefaultRootTest class Var(Variable): @@ -301,8 +303,21 @@ class TestBooleanVar(TestBase): v.get() +class DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase): + + def test_variable(self): + self.assertRaises(RuntimeError, Variable) + root = tkinter.Tk() + v = Variable() + v.set("value") + self.assertEqual(v.get(), "value") + root.destroy() + tkinter.NoDefaultRoot() + self.assertRaises(RuntimeError, Variable) + + tests_gui = (TestVariable, TestStringVar, TestIntVar, - TestDoubleVar, TestBooleanVar) + TestDoubleVar, TestBooleanVar, DefaultRootTest) if __name__ == "__main__": |