(root)/
Python-3.12.0/
Lib/
test/
test_tkinter/
test_messagebox.py
       1  import unittest
       2  import tkinter
       3  from test.support import requires, swap_attr
       4  from test.test_tkinter.support import AbstractDefaultRootTest
       5  from tkinter.commondialog import Dialog
       6  from tkinter.messagebox import showinfo
       7  
       8  requires('gui')
       9  
      10  
      11  class ESC[4;38;5;81mDefaultRootTest(ESC[4;38;5;149mAbstractDefaultRootTest, ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
      12  
      13      def test_showinfo(self):
      14          def test_callback(dialog, master):
      15              nonlocal ismapped
      16              master.update()
      17              ismapped = master.winfo_ismapped()
      18              raise ZeroDivisionError
      19  
      20          with swap_attr(Dialog, '_test_callback', test_callback):
      21              ismapped = None
      22              self.assertRaises(ZeroDivisionError, showinfo, "Spam", "Egg Information")
      23              self.assertEqual(ismapped, False)
      24  
      25              root = tkinter.Tk()
      26              ismapped = None
      27              self.assertRaises(ZeroDivisionError, showinfo, "Spam", "Egg Information")
      28              self.assertEqual(ismapped, True)
      29              root.destroy()
      30  
      31              tkinter.NoDefaultRoot()
      32              self.assertRaises(RuntimeError, showinfo, "Spam", "Egg Information")
      33  
      34  
      35  if __name__ == "__main__":
      36      unittest.main()