;
Λβ"Ic            	   @   s₯   d  Z  d d l Z d d l m Z m Z d d l m Z m Z d d l Z e o d d l	 Z	 d   Z
 n Gd   d e j  Z d   Z e d	 k o e   n d S(
   u/   
   Test cases for codeop.py
   Nick Mathewson
i    N(   u   run_unittestu	   is_jython(   u   compile_commandu   PyCF_DONT_IMPLY_DEDENTc             C   s?   x8 |  j    D]* \ } } t | d  o d |  | <q q W|  S(   Nu   __call__T(   u   itemsu   hasattru   True(   u   du   nu   v(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   unify_callables   s
     c             B   sY   |  Ee  Z d  d  Z d  d  Z d  d d  Z d   Z d   Z d   Z d   Z d	 S(
   u   singlec       	      C   s2  t  oφ t | d |  } |  j |  | d k o` i  i  } } t j } t j   t _ z* t | |  t t | d d  |  Wd | t _ XnK | d k o= i d d 6} i t	 | |  d 6} i t	 | |  d 6} n |  j
 t |  t |   n2 t | d | t  } |  j
 t | d |  |  d S(   u(   succeed iff str is a valid piece of codeu   <input>u   singleNu   evali   u   au   value(   u	   is_jythonu   compile_commandu   assert_u   sysu   stdoutu   iou   StringIOu   execu   compileu   evalu   assertEqualsu   unify_callablesu   PyCF_DONT_IMPLY_DEDENT(	   u   selfu   stru   symbolu   codeu   du   ru   saved_stdoutu   ctxu   expected(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   assertValid   s$    	 c             C   s    |  j  t | d | d  d S(   u5   succeed iff str is the start of a valid piece of codeu   symbolN(   u   assertEqualsu   compile_commandu   None(   u   selfu   stru   symbol(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   assertIncomplete-   s    i   c          
   C   sj   y! t  | d | |  j d  WnB t k
 o |  j |  Yn# t k
 o |  j |  Yn Xd S(   u8   succeed iff str is the start of an invalid piece of codeu   symbolu$   No exception thrown for invalid codeN(   u   compile_commandu   failu   SyntaxErroru   assert_u   OverflowError(   u   selfu   stru   symbolu	   is_syntax(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   assertInvalid1   s    c             C   s  |  j  } t pN |  j t d  t d d d t   |  j t d  t d d d t   n | d  | d  | d  | d  | d  | d	  | d
  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d d  | d d  | d d  | d d  | d d  | d  d  | d! d  d  S("   Nu    u   passu   <input>u   singleu   
u   a = 1u   
a = 1u   a = 1
u   a = 1

u	   

a = 1

u   def x():
  pass
u   if 1:
 pass
u   

if 1: pass
u   

if 1: pass

u   def x():

 pass
u   def x():
  pass
  
u   def x():
  pass
 
u   pass
u   3**3
u   if 9==3:
   pass
else:
   pass
u(   if 1:
 pass
 if 1:
  pass
 else:
  pass
u   #a
#b
a = 3
u   #a

   
a=3
u   a=3

u
   a = 9+ \
3u   3**3u   evalu   (lambda z: 
 z**3)u   9+ \
3u   9+ \
3
u   

a**3u   
 
a**3u
   #a
#b
a**3(   u   assertValidu	   is_jythonu   assertEqualsu   compile_commandu   compileu   PyCF_DONT_IMPLY_DEDENT(   u   selfu   av(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu
   test_valid;   sJ    	






















c             C   sb  |  j  } | d  | d  | d  | d  | d  | d  | d  | d  | d  | d	  | d
  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d  | d d  | d d  | d d  | d d  | d d  | d d  | d  d  d  S(!   Nu   (a **u   (a,b,u   (a,b,(u   a = (u   a = {u   b + {u   if 9==3:
   pass
else:u   if 9==3:
   pass
else:
u   if 9==3:
   pass
else:
   passu   if 1:u   if 1:
u    if 1:
 pass
 if 1:
  pass
 else:u!   if 1:
 pass
 if 1:
  pass
 else:
u'   if 1:
 pass
 if 1:
  pass
 else:
  passu   def x():u	   def x():
u
   def x():

u   def x():
  passu   def x():
  pass
 u   def x():
  pass
  u   

def x():
  passu   a = 9+ \u   a = 'a\u	   a = '''xyu    u   evalu   
u   (u   (


u   (9+u   9+ \u   lambda z: \(   u   assertIncomplete(   u   selfu   ai(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   test_incompleteo   sB    	
























c             C   sγ   |  j  } | d  | d  | d  | d  | d  | d  | d  | d  | d	  | d
  | d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  d  S(   Nu   a bu   a @u   a b @u   a ** @u   a = u   a = 9 +u   def x():

pass
u   

 if 1: pass

passu	   a = 9+ \
u   a = 'a\ u   a = 'a\
u   a = 1u   evalu   a = (u   ]u   ())u   [}u   9+u	   lambda z:(   u   assertInvalid(   u   selfu   ai(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   test_invalid   s(    	










c             C   sZ   |  j  t d d  j t d d d  j  |  j t d d  j t d d d  j  d  S(   Nu   a = 1
u   abcu   singleu   def(   u   assertEqualsu   compile_commandu   co_filenameu   compileu   assertNotEquals(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   test_filename΄   s    N(	   u   __name__u
   __module__u   assertValidu   assertIncompleteu   assertInvalidu
   test_validu   test_incompleteu   test_invalidu   test_filename(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   CodeopTests   s   

	4	)	u   CodeopTestsc               C   s   t  t  d  S(   N(   u   run_unittestu   CodeopTests(    (    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu	   test_main»   s    u   __main__(   u   __doc__u   unittestu   test.supportu   run_unittestu	   is_jythonu   codeopu   compile_commandu   PyCF_DONT_IMPLY_DEDENTu   iou   sysu   unify_callablesu   TestCaseu   CodeopTestsu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_codeop.pyu   <module>   s   §	