17db96d56Sopenharmony_ciimport unittest 27db96d56Sopenharmony_ciimport tkinter 37db96d56Sopenharmony_cifrom test.support import requires, swap_attr 47db96d56Sopenharmony_cifrom tkinter.test.support import AbstractDefaultRootTest 57db96d56Sopenharmony_cifrom tkinter.simpledialog import Dialog, askinteger 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_cirequires('gui') 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ciclass DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase): 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci def test_askinteger(self): 137db96d56Sopenharmony_ci @staticmethod 147db96d56Sopenharmony_ci def mock_wait_window(w): 157db96d56Sopenharmony_ci nonlocal ismapped 167db96d56Sopenharmony_ci ismapped = w.master.winfo_ismapped() 177db96d56Sopenharmony_ci w.destroy() 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci with swap_attr(Dialog, 'wait_window', mock_wait_window): 207db96d56Sopenharmony_ci ismapped = None 217db96d56Sopenharmony_ci askinteger("Go To Line", "Line number") 227db96d56Sopenharmony_ci self.assertEqual(ismapped, False) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci root = tkinter.Tk() 257db96d56Sopenharmony_ci ismapped = None 267db96d56Sopenharmony_ci askinteger("Go To Line", "Line number") 277db96d56Sopenharmony_ci self.assertEqual(ismapped, True) 287db96d56Sopenharmony_ci root.destroy() 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci tkinter.NoDefaultRoot() 317db96d56Sopenharmony_ci self.assertRaises(RuntimeError, askinteger, "Go To Line", "Line number") 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ciif __name__ == "__main__": 357db96d56Sopenharmony_ci unittest.main() 36