o
    bR                     @   s   d Z ddlZddlmZ ddlZejdg ddd Zejdd	d
difdddifgdd Zejddd
difdddifgdd Z	dd Z
dd Zdd Zdd Zdd Zdd  Zd!d" ZdS )#z+Tests for the pylint.checkers.utils module.    N)utilszname,expected))minT)__builtins__T)__path__F)__file__F)ZwhateverF)Z	mybuiltinFc                 C   s   t | |ks	J d S N)r   
is_builtin)nameexpected r   b/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/unittest_checkers_utils.pytestIsBuiltin   s   r   zfn,kwzfoo(3)keywordbarzfoo(one=a, two=b, three=c)position   c                 C   sN   t tj t| }tj|fi | W d    d S 1 s w   Y  d S r   )pytestraisesr   NoSuchArgumentErrorastroidextract_nodeget_argument_from_callfnkwnoder   r   r   testGetArgumentFromCallError#   s   
"r   z
foo(bar=3)zfoo(a, b, c)c                 C   s(   t | }tj|fi |d usJ d S r   )r   r   r   r   r   r   r   r   testGetArgumentFromCallExists-   s   
r   c                  C   s   t d} tj| ddd}d|jksJ t d} ttj tj| dd W d    n1 s1w   Y  tt t| d d  W d    n1 sMw   Y  tj| dd}|j	d	ks`J d S )
Nz"foo(a, not_this_one=1, this_one=2)   Zthis_one)r   r   zfoo(a)r   )r   r   a)
r   r   r   r   valuer   r   r   
ValueErrorr	   )r   argr	   r   r   r   testGetArgumentFromCall5   s   

r#   c                  C   st   t d} t| d tsJ t| d tfsJ t| d tr$J t| d ts.J t| d ts8J d S )Nz
    try: pass
    except AttributeError: #@
         pass
    try: pass
    except Exception: #@
         pass
    except: #@
         pass
    r   r   r   )r   r   r   Zerror_of_typeAttributeError	ExceptionImportErrornodesr   r   r   test_error_of_typeC   s   r)   c                  C   s^   t d} t| d tsJ t| d trJ t| d ts#J t| d tr-J d S )Nz
    try:
        1/0 #@
    except ZeroDivisionError:
        pass
    try:
        1/0 #@
    except Exception:
        pass
    try:
        2/0 #@
    except:
        pass
    try:
        1/0 #@
    except ValueError:
        pass
    r   r   r      )r   r   r   Znode_ignores_exceptionZeroDivisionErrorr'   r   r   r   test_node_ignores_exceptionW   s   r,   c                  C   s&   t d} t| d | d sJ d S )Nz\
    class Superclass: #@
        pass

    class Subclass(Superclass): #@
        pass
    r   r   r   r   r   Zis_subclass_ofr'   r   r   r   .test_is_subclass_of_node_b_derived_from_node_ar      	r.   c                  C   s&   t d} t| d | d rJ d S )NzR
    class OneClass: #@
        pass

    class AnotherClass: #@
        pass
    r   r   r-   r'   r   r   r   2test_is_subclass_of_node_b_not_derived_from_node_a   r/   r0   c                  C   s>   t d} td | rJ t| d rJ td d rJ d S )Nz)
    class OneClass: #@
        pass
    r-   )r   r   r   r   !test_is_subclass_of_not_classdefs   s   r1   c                  C   sT   g d} | D ]!\}}t |\}}}ttdd |D }|| | |ks'J qd S )N))z{}r   )z{}:{}r   )z{field}r   )z{:5}r   )z{:10}r   )z
{field:10}r   )z{field:10}{{}}r   )z{:5}{!r:10}r   )z{:5}{}{{}}{}r*   )z	{0}{1}{0}r   )z$Coordinates: {latitude}, {longitude}r   )zX: {0[0]};  Y: {0[1]}r   )z{:*^30}r   )z{!r:}r   c                 s   s"    | ]\}}t |ts|V  qd S r   )
isinstanceint).0klr   r   r   	<genexpr>   s     z2test_parse_format_method_string.<locals>.<genexpr>)r   Zparse_format_method_stringlenset)Zsamplesfmtcountkeysnum_argsZpos_argsZkeyword_argsr   r   r   test_parse_format_method_string   s   r>   )__doc__r   Zpylint.checkersr   r   markZparametrizer   r   r   r#   r)   r,   r.   r0   r1   r>   r   r   r   r   <module>   s2   


