aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_tkinter/test_simpledialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_tkinter/test_simpledialog.py')
-rw-r--r--Lib/test/test_tkinter/test_simpledialog.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/Lib/test/test_tkinter/test_simpledialog.py b/Lib/test/test_tkinter/test_simpledialog.py
new file mode 100644
index 00000000000..502f7f7098a
--- /dev/null
+++ b/Lib/test/test_tkinter/test_simpledialog.py
@@ -0,0 +1,35 @@
+import unittest
+import tkinter
+from test.support import requires, swap_attr
+from test.test_tkinter.support import AbstractDefaultRootTest
+from tkinter.simpledialog import Dialog, askinteger
+
+requires('gui')
+
+
+class DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase):
+
+ def test_askinteger(self):
+ @staticmethod
+ def mock_wait_window(w):
+ nonlocal ismapped
+ ismapped = w.master.winfo_ismapped()
+ w.destroy()
+
+ with swap_attr(Dialog, 'wait_window', mock_wait_window):
+ ismapped = None
+ askinteger("Go To Line", "Line number")
+ self.assertEqual(ismapped, False)
+
+ root = tkinter.Tk()
+ ismapped = None
+ askinteger("Go To Line", "Line number")
+ self.assertEqual(ismapped, True)
+ root.destroy()
+
+ tkinter.NoDefaultRoot()
+ self.assertRaises(RuntimeError, askinteger, "Go To Line", "Line number")
+
+
+if __name__ == "__main__":
+ unittest.main()