bpo-30870: IDLE: Add configdialog fontlist selection unittest (#2666)

Initial patch by Louie Lu.
This commit is contained in:
Louie Lu 2017-07-14 08:35:48 +08:00 committed by terryjreedy
parent c40ad03bf2
commit 9b622fb903
3 changed files with 108 additions and 29 deletions

View file

@ -6,24 +6,25 @@ Attributes and methods will be added as needed for tests.
from idlelib.idle_test.mock_tk import Text
class Func:
'''Mock function captures args and returns result set by test.
'''Record call, capture args, return/raise result set by test.
Attributes:
self.called - records call even if no args, kwds passed.
self.result - set by init, returned by call.
self.args - captures positional arguments.
self.kwds - captures keyword arguments.
When mock function is called, set or use attributes:
self.called - increment call number even if no args, kwds passed.
self.args - capture positional arguments.
self.kwds - capture keyword arguments.
self.result - return or raise value set in __init__.
Most common use will probably be to mock methods.
Most common use will probably be to mock instance methods.
Given class instance, can set and delete as instance attribute.
Mock_tk.Var and Mbox_func are special variants of this.
'''
def __init__(self, result=None):
self.called = False
self.called = 0
self.result = result
self.args = None
self.kwds = None
def __call__(self, *args, **kwds):
self.called = True
self.called += 1
self.args = args
self.kwds = kwds
if isinstance(self.result, BaseException):