Server IP : 66.29.132.122 / Your IP : 18.221.147.236 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/alt/python37/lib64/python3.7/idlelib/idle_test/ |
Upload File : |
'''Mock classes that imitate idlelib modules or classes. Attributes and methods will be added as needed for tests. ''' from idlelib.idle_test.mock_tk import Text class Func: '''Record call, capture args, return/raise result set by test. 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__. self.return_self - return self instead, to mock query class return. 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, return_self=False): self.called = 0 self.result = result self.return_self = return_self self.args = None self.kwds = None def __call__(self, *args, **kwds): self.called += 1 self.args = args self.kwds = kwds if isinstance(self.result, BaseException): raise self.result elif self.return_self: return self else: return self.result class Editor: '''Minimally imitate editor.EditorWindow class. ''' def __init__(self, flist=None, filename=None, key=None, root=None, text=None): # Allow real Text with mock Editor. self.text = text or Text() self.undo = UndoDelegator() def get_selection_indices(self): first = self.text.index('1.0') last = self.text.index('end') return first, last class UndoDelegator: '''Minimally imitate undo.UndoDelegator class. ''' # A real undo block is only needed for user interaction. def undo_block_start(*args): pass def undo_block_stop(*args): pass