B � f� � @ s> d Z ddlmZ G dd� d�ZG dd� d�ZG dd� d�Zd S ) zqMock classes that imitate idlelib modules or classes. Attributes and methods will be added as needed for tests. � )�Textc @ s" e Zd ZdZddd�Zdd� ZdS ) �FuncaZ 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. NFc C s" d| _ || _|| _d | _d | _d S )Nr )�called�result�return_self�args�kwds)�selfr r � r �@/opt/alt/python37/lib64/python3.7/idlelib/idle_test/mock_idle.py�__init__ s z Func.__init__c O sB | j d7 _ || _|| _t| jt�r.| j�n| jr8| S | jS d S )N� )r r r � isinstancer � BaseExceptionr )r r r r r r �__call__ s z Func.__call__)NF)�__name__� __module__�__qualname__�__doc__r r r r r r r s r c @ s" e Zd ZdZddd�Zdd� ZdS )�Editorz1Minimally imitate editor.EditorWindow class. Nc C s |pt � | _t� | _d S )N)r �text� UndoDelegatorZundo)r Zflist�filename�key�rootr r r r r + s zEditor.__init__c C s | j �d�}| j �d�}||fS )Nz1.0�end)r �index)r �firstZlastr r r �get_selection_indices0 s zEditor.get_selection_indices)NNNNN)r r r r r r r r r r r ( s r c @ s e Zd ZdZdd� Zdd� ZdS )r z0Minimally imitate undo.UndoDelegator class. c G s d S )Nr )r r r r �undo_block_start: s zUndoDelegator.undo_block_startc G s d S )Nr )r r r r �undo_block_stop<