mirror of
https://github.com/python/cpython.git
synced 2025-07-09 20:35:26 +00:00

Modify the wheel event handler so it can also be used for module, path, and stack browsers. Patch by George Zhang.
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
"Test multicall, coverage 33%."
|
|
|
|
from idlelib import multicall
|
|
import unittest
|
|
from test.support import requires
|
|
from tkinter import Tk, Text
|
|
|
|
|
|
class MultiCallTest(unittest.TestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
requires('gui')
|
|
cls.root = Tk()
|
|
cls.root.withdraw()
|
|
cls.mc = multicall.MultiCallCreator(Text)
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
del cls.mc
|
|
cls.root.update_idletasks()
|
|
## for id in cls.root.tk.call('after', 'info'):
|
|
## cls.root.after_cancel(id) # Need for EditorWindow.
|
|
cls.root.destroy()
|
|
del cls.root
|
|
|
|
def test_creator(self):
|
|
mc = self.mc
|
|
self.assertIs(multicall._multicall_dict[Text], mc)
|
|
self.assertTrue(issubclass(mc, Text))
|
|
mc2 = multicall.MultiCallCreator(Text)
|
|
self.assertIs(mc, mc2)
|
|
|
|
def test_init(self):
|
|
mctext = self.mc(self.root)
|
|
self.assertIsInstance(mctext._MultiCall__binders, list)
|
|
|
|
def test_yview(self):
|
|
# Added for tree.wheel_event
|
|
# (it depends on yview to not be overriden)
|
|
mc = self.mc
|
|
self.assertIs(mc.yview, Text.yview)
|
|
mctext = self.mc(self.root)
|
|
self.assertIs(mctext.yview.__func__, Text.yview)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(verbosity=2)
|