(root)/
Python-3.12.0/
Lib/
idlelib/
idle_test/
test_multicall.py
       1  "Test multicall, coverage 33%."
       2  
       3  from idlelib import multicall
       4  import unittest
       5  from test.support import requires
       6  from tkinter import Tk, Text
       7  
       8  
       9  class ESC[4;38;5;81mMultiCallTest(ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
      10  
      11      @classmethod
      12      def setUpClass(cls):
      13          requires('gui')
      14          cls.root = Tk()
      15          cls.root.withdraw()
      16          cls.mc = multicall.MultiCallCreator(Text)
      17  
      18      @classmethod
      19      def tearDownClass(cls):
      20          del cls.mc
      21          cls.root.update_idletasks()
      22  ##        for id in cls.root.tk.call('after', 'info'):
      23  ##            cls.root.after_cancel(id)  # Need for EditorWindow.
      24          cls.root.destroy()
      25          del cls.root
      26  
      27      def test_creator(self):
      28          mc = self.mc
      29          self.assertIs(multicall._multicall_dict[Text], mc)
      30          self.assertTrue(issubclass(mc, Text))
      31          mc2 = multicall.MultiCallCreator(Text)
      32          self.assertIs(mc, mc2)
      33  
      34      def test_init(self):
      35          mctext = self.mc(self.root)
      36          self.assertIsInstance(mctext._MultiCall__binders, list)
      37  
      38      def test_yview(self):
      39          # Added for tree.wheel_event
      40          # (it depends on yview to not be overridden)
      41          mc = self.mc
      42          self.assertIs(mc.yview, Text.yview)
      43          mctext = self.mc(self.root)
      44          self.assertIs(mctext.yview.__func__, Text.yview)
      45  
      46  
      47  if __name__ == '__main__':
      48      unittest.main(verbosity=2)