B � f�&�@s�dZddlmZddlZddlZddlZddlZGdd�d�Ze�Zej Z ej Z Gdd�dej �ZGdd �d ej �Zed kr�ejd d �dS) zTest calltip, coverage 60%�)�calltipNc@s�eZdZdZdZd"dd�Zde_dd�Zd e_d#d d �Zd e_d d�Zde_dd�Z de _d$dd�Z de _dd�Z de _dd�Z de _dd�Z edd��Zed d!��ZdS)%�TC�docz (ai=None, *b)NcGsdS)rN�)�self�ai�brr�C/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_calltip.py�__init__�z TC.__init__z(self, ai=None, *b)cCsdS)rNr)rrrr �t1r zTC.t1z(self)cCsdS)rNr)rrrrrr �t2r zTC.t2z(self, ai, b=None)cGsdS)rNr)rr�argsrrr �t3r zTC.t3z(self, ai, *args)cGsdS)rNr)rrrrr �t4r zTC.t4z (self, *args)cOsdS)rNr)rrrr�kwrrr �t5r zTC.t5z(self, ai, b=None, *args, **kw)cCsdS)rNr)Znorrrr �t6r zTC.t6z (no, self)cCsdS)rNr)r�cirrr �__call__r z TC.__call__z (self, ci)cCsdS)Nr)rrrr �ndr zTC.ndcCsdS)rNr)�cls�arrr �cm szTC.cmcCsdS)rNr)rrrr �sm"szTC.sm)N)N)N)�__name__� __module__� __qualname__�__doc__�tipr r r rrrrrr� classmethodr� staticmethodrrrrr r s*    rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�ZdS) �Get_argspecTestcs��fdd�}Gdd�dt�}Gdd�d�}|jdk rN||dtj�d|j���|tjd �|tjd tjdd �tjd }|tjd |�||jd |�|gjd|�|tjd�||�t �t � d�}|t j d�||j d�dS)Ncs��t|�|�dS)N)� assertEqual�get_spec)�obj�out)rrr �tiptest5sz.Get_argspecTest.test_builtins..tiptestc@seZdZdZdS)z+Get_argspecTest.test_builtins..Listz List() docN)rrrrrrrr �List9sr(c@seZdZdZdS)z)Get_argspecTest.test_builtins..SBN)rrrrrrrr �SB<sr)z(iterable=(), /)� zY(*args, **kwargs) Create and return a new object. See help(type) for accurate signature.z(self, /, *args, **kwargs)z>Initialize self. See help(type(self)) for accurate signature.z& Append object to the end of the list.z(self, object, /)z (object, /)zmethod(function, instance)�aO(pattern, repl, string, count=0, flags=0) Return the string obtained by replacing the leftmost non-overlapping occurrences of the pattern in string by the replacement repl. repl can be either a string or a callable; if a string, backslash escapes in it are processed. If it is a callable, it's passed the Match object and must returnzm(repl, string, count=0) Return the string obtained by replacing the leftmost non-overlapping occurrences o...) �listrrZ_argument_positional�__new__r �append�types� MethodType� default_tip�re�compile�sub)rr'r(r)Z append_doc�pr)rr � test_builtins3s.      zGet_argspecTest.test_builtinscCs"tjjdk r|�ttj�d�dS)Nz�(width=70, initial_indent='', subsequent_indent='', expand_tabs=True, replace_whitespace=True, fix_sentence_endings=False, break_long_words=True, drop_whitespace=True, break_on_hyphens=True, tabsize=8, *, max_lines=None, placeholder=' [...]'))�textwrapZ TextWrapperrr#r$)rrrr �test_signature_wrap`s  z#Get_argspecTest.test_signature_wrapc Cs�ddd�}ddd�}ddd�}tj}d |d }d |d }d |d |d }xL||f||f||fgD]2\}} |j|| d��|�t|�| �WdQRXqhWdS)N�daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSsdS)Nr)�srrr �foojsz3Get_argspecTest.test_properly_formated..foocSsdS)z Hello GuidoNr)r:rrr �barmsz3Get_argspecTest.test_properly_formated..bar�dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcSsdS)Nr)r:�zrrr �bazqsz3Get_argspecTest.test_properly_formated..bazzV(s='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zaaaaaaaaaaaaaaaaaaa')z!aaaaaaaaaaaaaaaaaaa') Hello GuidozRaaaaaaaaaaaaaaaaaaa', z='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb z.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'))�funcr)r9)r9)r9r=)rZ_INDENT�subTestr#r$) rr;r<r?�indentZsfooZsbarZsbazr@rrrr �test_properly_formatedhs      z&Get_argspecTest.test_properly_formatedcCs6dd�}d|_|�t|�ddtjdd���dS)NcSsdS)Nrrrrr �f�r z2Get_argspecTest.test_docline_truncation..fA,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz() r�z...)rr#r$rZ _MAX_COLS)rrDrrr �test_docline_truncation�sz'Get_argspecTest.test_docline_truncationcCsL|�tt�d�|�tt�d�dd�}d|_|�t|�ddtj�dS)NzFrange(stop) -> range object range(start, stop[, step]) -> range objectz�bytes(iterable_of_ints) -> bytes bytes(string, encoding[, errors]) -> bytes bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer bytes(int) -> bytes object of size given by the parameter initialized with null bytes bytes() -> empty bytes objectcSsdS)Nrrrrr rD�r z3Get_argspecTest.test_multiline_docstring..fza a a a a a a a a a a a a a a z()z a)r#r$�range�bytesrrZ _MAX_LINES)rrDrrr �test_multiline_docstring�s  z(Get_argspecTest.test_multiline_docstringc Cs�dd�}d|_ddd�}d|_dd�}d |_d d �}d |_dd d�}d|_|jdk rXdnd}xF|||||tfD]2}|j|d��|�t|�|j|�WdQRXqnWdS)NcSsdS)rNrrrrr r �r z*Get_argspecTest.test_functions..t1z()cSsdS)rNr)rrrrr r �r z*Get_argspecTest.test_functions..t2z (a, b=None)cWsdS)rNr)rrrrr r�r z*Get_argspecTest.test_functions..t3z (a, *args)cWsdS)rNr)rrrr r�r z*Get_argspecTest.test_functions..t4z(*args)c_sdS)rNr)rrrrrrr r�r z*Get_argspecTest.test_functions..t5z(a, b=None, *args, **kw)z docr+)r@)N)N)rrrrAr#r$)rr r rrrrr@rrr �test_functions�s  zGet_argspecTest.test_functionsc Cs�tjdk rdnd}xVtjtjtjtjtjtjtjfD]2}|j |d��|� t |�|j |�WdQRXq4W|� t tj �d|�|� t tj�d|�dS)Nz docr+)�methz(a)z(b))rrr r rrrrrrAr#r$rrr)rrrKrrr � test_methods�s &$zGet_argspecTest.test_methodsc Cs�tjdk rdnd}xltjdftjdftjdftjdftdftjdffD]6\}}|j||d��|� t |�||�WdQRXqFWdS) Nz docr+z()z(*args)z(self)z(ci)z(a))rK�mtip) rr�tcr rrrrrAr#r$)rrrKrMrrr �test_bound_methods�s z"Get_argspecTest.test_bound_methodsc CsdGdd�d�}|�}xJ|jdf|jdffD]2\}}|j||d��|�t|�|�WdQRXq*WdS)Nc@seZdZdd�ZdS)z1Get_argspecTest.test_starred_parameter..CcWsdS)Nr)rrrr �m1�r z4Get_argspecTest.test_starred_parameter..C.m1N)rrrrPrrrr �C�srQz(*args))rKrM)rPrAr#r$)rrQ�crKrMrrr �test_starred_parameter�s z&Get_argspecTest.test_starred_parametercCsLGdd�d�}Gdd�d�}tj}|�t|�j�|�|�t|��|�dS)Nc@seZdZdd�ZdS)z7Get_argspecTest.test_invalid_method_get_spec..Cc[sdS)Nr)�kwargsrrr �m2�r z:Get_argspecTest.test_invalid_method_get_spec..C.m2N)rrrrUrrrr rQ�srQc@seZdZdd�ZdS)z:Get_argspecTest.test_invalid_method_get_spec..TestcSsdS)Nr)rrrr r�r zCGet_argspecTest.test_invalid_method_get_spec..Test.__call__N)rrrrrrrr �Test�srV)rZ_invalid_methodr#r$rU)rrQrVrMrrr �test_invalid_method_get_spec�s z,Get_argspecTest.test_invalid_method_get_speccCsd}tj�d|�dkst�dS)Nu(AΑÐ�×�اअḀã�‚, a)r+z(a))rZ _first_paramr4�AssertionError)rZunirrr �test_non_ascii_name�sz#Get_argspecTest.test_non_ascii_namec CsPxJtjdftjdffD]2\}}|j||d��|�t|�|�WdQRXqWdS)Nz(self)z())rKrM)rrrNrAr#r$)rrKrMrrr �test_no_docstring�sz!Get_argspecTest.test_no_docstringc Cs�Gdd�d�}Gdd�d|�}Gdd�d|�}x^|tf|tf|�df|�df|�d ffD]2\}}|j||d ��|�t|�|�WdQRXqXWdS) Nc@seZdZdd�ZdS)z8Get_argspecTest.test_buggy_getattr_class..NoCallcSst�dS)N)� IndexError)r�namerrr � __getattr__�szDGet_argspecTest.test_buggy_getattr_class..NoCall.__getattr__N)rrrr]rrrr �NoCall�sr^c@seZdZdd�ZdS)z7Get_argspecTest.test_buggy_getattr_class..CallAcSsdS)Nr)rrrrr r�sz@Get_argspecTest.test_buggy_getattr_class..CallA.__call__N)rrrrrrrr �CallA�sr_c@seZdZdd�ZdS)z7Get_argspecTest.test_buggy_getattr_class..CallBcSsdS)Nr)ZouirrrRrrr r�sz@Get_argspecTest.test_buggy_getattr_class..CallB.__call__N)rrrrrrrr �CallB�sr`r+z(ci)z (a, b, c))rKrM)r1rAr#r$)rr^r_r`rKrMrrr �test_buggy_getattr_class�sz(Get_argspecTest.test_buggy_getattr_classc CsvGdd�dt�}Gdd�d|d�}xN|tf|tf|�dffD]2\}}|j||d��|�t|�|�WdQRXq.TypeN)rrr�property� __getitem__� __setitem__� __class__rrrr �Type�srfc@seZdZdZdS)z4Get_argspecTest.test_metaclass_class..ObjectreN)rrr� __slots__rrrr �Object�srh)� metaclassr+)rKrM)�typer1rAr#r$)rrfrhrKrMrrr �test_metaclass_class�s z$Get_argspecTest.test_metaclass_classc CsFx@ddddgifD],}|j|d��|�t|�d�WdQRXqWdS)Nrg�0�0)r%r+)rAr#r$)rr%rrr �test_non_callables�sz"Get_argspecTest.test_non_callablesN)rrrr6r8rCrFrIrJrLrOrSrWrYrZrarkrnrrrr r"+s-    r"c@seZdZdd�Zdd�ZdS)�Get_entityTestcCs|�t�d��dS)Nz1/0)Z assertIsNoner� get_entity)rrrr �test_bad_entityszGet_entityTest.test_bad_entitycCs|�t�d�t�dS)N�int)ZassertIsrrprr)rrrr �test_good_entityszGet_entityTest.test_good_entityN)rrrrqrsrrrr ro�sro�__main__�)� verbosity)rZidlelibrZunittestr7r/r2rrNZ_default_callable_argspecr1Z get_argspecr$ZTestCaser"ror�mainrrrr �s U