;
Ìâ"Ic            	   @   s¼   d  Z  d d l m Z d d l Z d d l m Z m Z m Z d d l Z d d l	 m
 Z
 e e d „  ƒ ƒ Z e e d „  ƒ ƒ Z Gd „  d	 e
 ƒ Z d
 „  Z e d k o e ƒ  n d S(   u/   
   Test cases for pyclbr.py
   Nick Mathewson
i    (   u   run_unittestN(   u   FunctionTypeu
   MethodTypeu   BuiltinFunctionType(   u   TestCasec               C   s   d  S(   N(   u   None(    (    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   <lambda>   s    c             C   s   d  S(   N(   u   None(   u   c(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   <lambda>   s    c             B   s\   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d d	 d „ Z d „  Z d „  Z	 d „  Z
 d S(
   c             C   sf   t  | ƒ t  | ƒ At  | ƒ } | o; t d | | | f d t j ƒ|  j d | j ƒ  ƒ n d S(   u0    succeed iff {l1} - {ignore} == {l2} - {ignore} u   l1=%r
l2=%r
ignore=%ru   fileu
   %r missingN(   u   setu   printu   sysu   stderru   failu   pop(   u   selfu   l1u   l2u   ignoreu   missing(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   assertListEq   s      c             C   sZ   | | k o d St  | | ƒ p t d | ƒ n |  j t  | | ƒ d | | f ƒ d S(   u2    succeed iff hasattr(obj,attr) or attr in ignore. Nu   ???u   expected hasattr(%r, %r)(   u   hasattru   printu
   failUnless(   u   selfu   obju   attru   ignore(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   assertHasattr   s      c             C   s]   | | k o d S| | k o t  d | d t j ƒn |  j | | k d | | f ƒ d S(   u*    succeed iff key in obj or key in ignore. Nu   ***u   fileu   %r in %r(   u   printu   sysu   stderru
   failUnless(   u   selfu   obju   keyu   ignore(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   assertHaskey&   s
     c             C   s2   | | k o! | | k o |  j  | | ƒ n d S(   u2    succeed iff a == b or a in ignore or b in ignore N(   u   assertEquals(   u   selfu   au   bu   ignore(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   assertEqualsOrIgnored-   s    c             C   s?  t  | ƒ t  d g ƒ B} | d k o t | t ƒ  i  d g ƒ } n t j | ƒ } d „  } xk| j ƒ  D]]\ } } | | k o qj n |  j | | | ƒ t | | ƒ } t	 | t j
 ƒ oM |  j t	 | t t f ƒ ƒ | j | k o qj n |  j | j | j ƒ qj |  j t	 | t ƒ ƒ | j | k o qj n d „  | j Dƒ }	 d „  | j Dƒ }
 y |  j |	 |
 | ƒ Wn" t d | d t j ƒ‚  Yn Xg  } xD | j j ƒ  D]3 } | | t | | ƒ | ƒ o | j | ƒ q±q±Wg  } xk | j j ƒ  D]Z } | d d	 … d
 k o0 | d d … d
 k o | j d | | ƒ qþ| j | ƒ qþWyF |  j | | | ƒ |  j | j | j ƒ |  j | j | j | ƒ Wqj t d | d t j ƒ‚  Yqj Xqj Wd „  } xd t  | ƒ D]V } t | | ƒ } t	 | t t f ƒ o+ | | | ƒ o |  j! | | | ƒ q7qáqáWd S(   uø    succeed iff pyclbr.readmodule_ex(modulename) corresponds
            to the actual module object, module.  Any identifiers in
            ignore are ignored.   If no module is provided, the appropriate
            module is loaded with __import__.u   objectu   <silly>c             S   s§   |  j  } t | t ƒ o. t | | t ƒ p | j |  k	 o d Sn t | t ƒ p d S| j } | j d ƒ o( | j	 d ƒ o d |  j | f } n | | k S(   Nu   __u   _%s%sF(
   u   __dict__u
   isinstanceu
   MethodTypeu   ClassMethodTypeu   __self__u   Falseu   FunctionTypeu   __name__u
   startswithu   endswith(   u   oclassu   obju   nameu	   classdictu   objname(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   ismethodA   s    			!c             S   s   g  } |  ] } | | j  q
 S(    (   u   __name__(   u   .0u   _[1]u   base(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu
   <listcomp>`   s    c             S   s'   g  } |  ] } | t  | d  | ƒ q
 S(   u   name(   u   getattr(   u   .0u   _[1]u   base(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu
   <listcomp>a   s   u   class=%su   fileNi   u   __iþÿÿÿu   _c             S   sF   t  |  t ƒ o |  j | j k St  |  t ƒ o |  j | j k Sd S(   NF(   u
   isinstanceu   typeu
   __module__u   __name__u   FunctionTypeu   __globals__u   __dict__u   False(   u   itemu   module(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu
   defined_in   s
    ("   u   setu   Noneu
   __import__u   globalsu   pyclbru   readmodule_exu   itemsu   assertHasattru   getattru
   isinstanceu   Functionu   assert_u   FunctionTypeu   BuiltinFunctionTypeu
   __module__u   assertEqualsu   moduleu
   failUnlessu   typeu	   __bases__u   superu   assertListEqu   printu   sysu   stderru   __dict__u   keysu   appendu   methodsu   assertEqualsOrIgnoredu   __name__u   nameu   diru   assertHaskey(   u   selfu
   moduleNameu   moduleu   ignoreu   dictu   ismethodu   nameu   valueu   py_itemu
   real_basesu   pyclbr_basesu   actualMethodsu   mu   foundMethodsu
   defined_inu   item(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   checkModule2   sj    	   .	 c             C   sD   |  j  d ƒ |  j  d ƒ |  j  d d d	 ƒ|  j  d d d
 ƒd  S(   Nu   pyclbru   astu   doctestu   ignoreu   TestResultsu	   _SpoofOutu   difflibu   Match(   u   TestResultsu	   _SpoofOut(   u   Match(   u   checkModule(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu	   test_easy   s    c             C   s   |  j  d d d g ƒd  S(   Nu   test.pyclbr_inputu   ignoreu   om(   u   checkModule(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   test_decorators“   s    c             C   s   |  j  } | d d d ƒ| d d d ƒ| d ƒ | d d d ƒ| d	 d d ƒ| d ƒ | d ƒ | d ƒ | d ƒ d  S(   Nu   randomu   ignoreu   Randomu   cgiu   logu   pickleu   aifcu   openfpu	   sre_parseu   dumpu   pdbu   pydocu   email.parseru   test.test_pyclbr(   u   Random(   u   log(   u   openfp(   u   dump(   u   checkModule(   u   selfu   cm(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   test_others™   s    	



N(    (   u   __name__u
   __module__u   assertListEqu   assertHasattru   assertHaskeyu   assertEqualsOrIgnoredu   Noneu   checkModuleu	   test_easyu   test_decoratorsu   test_others(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu
   PyclbrTest   s   
				[		u
   PyclbrTestc               C   s   t  t ƒ d  S(   N(   u   run_unittestu
   PyclbrTest(    (    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu	   test_mainª   s    u   __main__(   u   __doc__u   test.supportu   run_unittestu   sysu   typesu   FunctionTypeu
   MethodTypeu   BuiltinFunctionTypeu   pyclbru   unittestu   TestCaseu   typeu   staticmethodu   StaticMethodTypeu   classmethodu   ClassMethodTypeu
   PyclbrTestu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_pyclbr.pyu   <module>   s   	•	