o
    û›hs  ã                   @   sp   d Z ddlmZ ddlmZ ddlZddlmZ G dd„ de	ƒZ
G dd	„ d	ejƒZej d
g d¢¡dd„ ƒZdS )zTests for input handlers.
é    )Úautocall)ÚtoolsN)ÚCallablec                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚCallableIndexablec                 C   ó   dS ©NT© )ÚselfÚidxr   r   úVc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/tests/test_handlers.pyÚ__getitem__   ó    zCallableIndexable.__getitem__c                 O   r   r   r   )r	   ÚargsÚkwsr   r   r   Ú__call__   r   zCallableIndexable.__call__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    r   c                   @   s   e Zd Zdd„ ZdS )ÚAutocallablec                 C   r   )NÚcalledr   )r	   r   r   r   r      s   zAutocallable.__call__N)r   r   r   r   r   r   r   r   r      s    r   zautocall, input, output))Ú1ú"no change"r   )r   Zlsmagicz+get_ipython().run_line_magic('lsmagic', ''))Ú0ú	len "abc"r   )r   Úautocallableúautocallable())r   r   r   )r   r   ú
len("abc"))r   ú
len "abc";úlen("abc");)r   ú	len [1,2]ú
len([1,2]))r   úcall_idx [1]r!   )r   ú
call_idx 1úcall_idx(1))r   Úlenr$   )Ú2r   r   )r%   r   r   )r%   r   r    )r%   r!   r!   )r%   r"   r#   )r%   r$   zlen())r   úCallable[[int], None]r&   ©r   r&   r&   r'   c                 C   sZ   t ƒ }|tjd< tƒ }|tjd< ttjd< t d| ¡ tj |¡|ks%J ‚t dd¡ d S )Nr   Úcall_idxr   r   r   )r   ÚipZuser_nsr   r   Zrun_line_magicZprefilter_managerZprefilter_lines)r   ÚinputÚoutputr   r(   r   r   r   Útest_handlers_I   s   #


r,   )Ú__doc__ZIPython.corer   ZIPython.testingr   ÚttZpytestÚcollections.abcr   Úobjectr   ZIPyAutocallr   ÚmarkZparametrizer,   r   r   r   r   Ú<module>   s    	þ"