
    &e                     N    d dl mZ d dlZ G d de          Zd Zd Zd Zd ZdS )	    )dir2Nc                       e Zd ZdZdZdS )Base      N)__name__
__module____qualname__xz     =lib/python3.11/site-packages/IPython/utils/tests/test_dir2.pyr   r      s        	A
AAAr   r   c                      t          t                                } d| v sJ d| v sJ d| vsJ d| v sJ |                     d          dk    sJ |                     d          dk    sJ d S )Nr   r   y	__class__r   )r   r   count)ress    r   	test_baser      s    
tvv,,C#::::#::::c>>>>#99S>>Q99[!!Q&&&&&&r   c                       G d dt                     } t           |                       }d|v sJ |                    d          dk    sJ |                    d          dk    sJ d S )Nc                       e Zd ZdZdS )test_SubClass.<locals>.SubClass   N)r   r	   r
   r   r   r   r   SubClassr      s        r   r   r   r   r   )r   r   r   r   r   s     r   test_SubClassr      s        4    xxzz

C#::::99S>>Q99S>>Qr   c                  f     G d dt                     } t           |                       }d|v sJ d S )Nc                       e Zd ZdZdZdS )5test_SubClass_with_trait_names_attr.<locals>.SubClassr   ,   N)r   r	   r
   r   trait_namesr   r   r   r   r   "   s        r   r   r!   )r   r   r   s     r   #test_SubClass_with_trait_names_attrr"      sX        4    xxzz

CCr   c                  >    G d d          }  G d d|           }| |fD ]|} |            }|                                 sJ t          j        t                    5  |                                 d d d            n# 1 swxY w Y   t          |          }d|v sJ }d S )Nc                       e Zd Zd Zd ZdS )Gtest_misbehaving_object_without_trait_names.<locals>.MisbehavingGetattrc                      t          d          )NzI should be caught)KeyError)selfattrs     r   __getattr__zStest_misbehaving_object_without_trait_names.<locals>.MisbehavingGetattr.__getattr__/   s    /000r   c                     dS )NTr   r(   s    r   some_methodzStest_misbehaving_object_without_trait_names.<locals>.MisbehavingGetattr.some_method2   s    4r   N)r   r	   r
   r*   r-   r   r   r   MisbehavingGetattrr%   .   s2        	1 	1 	1	 	 	 	 	r   r.   c                       e Zd Zd ZdS )Ctest_misbehaving_object_without_trait_names.<locals>.SillierWithDirc                     dgS )Nr-   r   r,   s    r   __dir__zKtest_misbehaving_object_without_trait_names.<locals>.SillierWithDir.__dir__6   s
    !?"r   N)r   r	   r
   r2   r   r   r   SillierWithDirr0   5   s#        	# 	# 	# 	# 	#r   r3   r-   )r-   pytestraisesr'   other_methodr   )r.   r3   	bad_klassobjr   s        r   +test_misbehaving_object_without_trait_namesr9   *   s.          # # # # #+ # # # ).9 	$ 	$	ikk     ]8$$ 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3ii#####	$ 	$s   A<<B 	B 	)	IPython.utils.dir2r   r4   objectr   r   r   r"   r9   r   r   r   <module>r<      s    # # # # # #     6   
' ' '       $ $ $ $ $r   