mirror of
https://github.com/python/cpython.git
synced 2025-07-21 10:15:46 +00:00

* 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 3d569fd6dc
)
25 lines
780 B
Python
25 lines
780 B
Python
import unittest
|
|
import tkinter
|
|
from test.support import requires, run_unittest, swap_attr
|
|
from tkinter.test.support import AbstractDefaultRootTest
|
|
from tkinter.simpledialog import Dialog, askinteger
|
|
|
|
requires('gui')
|
|
|
|
|
|
class DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase):
|
|
|
|
def test_askinteger(self):
|
|
self.assertRaises(RuntimeError, askinteger, "Go To Line", "Line number")
|
|
root = tkinter.Tk()
|
|
with swap_attr(Dialog, 'wait_window', lambda self, w: w.destroy()):
|
|
askinteger("Go To Line", "Line number")
|
|
root.destroy()
|
|
tkinter.NoDefaultRoot()
|
|
self.assertRaises(RuntimeError, askinteger, "Go To Line", "Line number")
|
|
|
|
|
|
tests_gui = (DefaultRootTest,)
|
|
|
|
if __name__ == "__main__":
|
|
run_unittest(*tests_gui)
|