mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	[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 3d569fd6dc)
			
			
This commit is contained in:
		
							parent
							
								
									d458d8dab0
								
							
						
					
					
						commit
						87e7a14ee3
					
				
					 19 changed files with 316 additions and 87 deletions
				
			
		
							
								
								
									
										25
									
								
								Lib/tkinter/test/test_tkinter/test_simpledialog.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								Lib/tkinter/test/test_tkinter/test_simpledialog.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| 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) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Serhiy Storchaka
						Serhiy Storchaka