mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	 87e7a14ee3
			
		
	
	
		87e7a14ee3
		
			
		
	
	
	
	
		
			
			* 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)
 |