o
    Zhy                     @   s  d Z ddlZddlmZ G dd deZe Zg dZg dZeD ]Z	e Z
eee	e
 eD ]Ze Zee
ee q.q!e e_dej_d	ej_d	ej_e e_dej_d	ej_d	ej_e e_dej_d	ej_d	ej_e e_dej_d	ej_d	ej_G d
d dejZdS )z&Some tests for the wildcard utilities.    N)wildcardc                   @   s   e Zd ZdS )obj_tN)__name__
__module____qualname__ r   r   X/var/www/html/lang_env/lib/python3.10/site-packages/IPython/utils/tests/test_wildcard.pyr      s    r   )arnaabelABELactiveZbobZbarkabbot)ZkateloopZarneZvitoZluciferZkoppel
      c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )Testsc              	   C   sv   t j}dg dfdg dfdg fddgfddgfg}|D ]\}}|  ttj|d	|d
d
d }| || qd S )Na*r   r
   r   r	   ?b*.?o*abbot.koppel
abbot.loopabel.koppel	abel.loop_a*_*anka__anka_*a*allFZignore_caseZshow_allroot__dict__sortsortedr   list_namespacekeysassertEqualselfnstestspatresar   r   r   	test_case3   s    

zTests.test_casec              	   C   sz   t j}dg dfdg dfddgfddgfd	ddgfg}|D ]\}}|  ttj|d
|ddd }| || qd S )Nr   r   r   r   r   _apanr   r   r   r   FTr   r    r(   r   r   r   test_case_showallB   s    


zTests.test_case_showallc              	   C   sz   t j}dg dfdg dfdg fdddgfd	ddgfg}|D ]\}}|  ttj|d
|ddd }| || qd S )Nr   r   r
   r   r   r	   r   r   r   r   r   zABEL.koppelz	ABEL.loopr   r   r   __ANKAr   r   TFr   r    r(   r   r   r   test_nocaseR   s    



zTests.test_nocasec              	   C   s   t j}dg dfdg dfdddgfdd	d
gfdg dfg}|D ] \}}|  ttj|d|ddd }|  | || q d S )Nr   r2   r   r3   r   r0   _APANr   r   r4   r   )r   r4   r0   r6   r   Tr   r    r(   r   r   r   test_nocase_showallb   s"   




zTests.test_nocase_showallc              	   C   sp   ddiddid}ddgfdd	gfd
dgfg}|D ]\}}|   ttj|d|ddd }| || qdS )zeDictionaries should be indexed by attributes, not by keys. This was
        causing Github issue 129.Zking7      r   )azZpqr   r:   zaz.k*zaz.keyszpq.k*zpq.keysr   FTr   N)r#   r$   r   r%   r&   r'   r(   r   r   r   test_dict_attributess   s   zTests.test_dict_attributesc                 C   s@   G dd dt }| }t|}d|vsJ | |d d d S )Nc                   @   s   e Zd Zdd Zdd ZdS )zTests.test_dict_dir.<locals>.Ac                 S   s   d| _ d| _d S )Nr9      )r.   b)r)   r   r   r   __init__   s   
z'Tests.test_dict_dir.<locals>.A.__init__c                 S   s   |dkrt t| |S )Nr.   )AttributeErrorobject__getattribute__)r)   namer   r   r   rA      s   z/Tests.test_dict_dir.<locals>.A.__getattribute__N)r   r   r   r>   rA   r   r   r   r   A   s    rC   r.   r=   r<   )r@   r   Zdict_dirr'   )r)   rC   r.   adictr   r   r   test_dict_dir   s
   	
zTests.test_dict_dirN)	r   r   r   r/   r1   r5   r7   r;   rE   r   r   r   r   r   2   s    r   )__doc__ZunittestZIPython.utilsr   r@   r   r!   lqxosetattrypr0   r.   _aZ__ar   r6   r4   ZTestCaser   r   r   r   r   <module>   s>    