
"Ic        #   @   s	  d  d k  Z  d  d k Z d  d k Z d  d k l Z d  d k Z d   Z d d d d d d	 d
 d d d d d d d d d d d d d d d g Z d g Z d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, g Z	 d- e i
 f d.     YZ d/ e i
 f d0     YZ d1   Z d2   Z d3 d4 d d7 d8 g  d d g  f d9 d f g g  f g f d3 d; d d< g  d9 d f g g  f g f d3 d4 d d7 d8 g  d d g  f d> d d? d d5 f f g g  f g f d3 dA d dB d d) d f g f g f d3 dE d dB d d) d f g d? d d5 f f g f d3 dG d dB d d) d f d d? d d5 f f g f d3 dJ d dB d d7 d f d? d d5 f g e f g f d3 dM d dB d d) d f dB d d) d f d9 d f g g  f g f d3 dN d dB d d) d f d9 d f g g  f g f d3 dP d dB d d) d f d9 d f g g  f g f d3 dR d dB d dS d f dT d dV f d f g f d3 dW d d9 d f g dY d dB d dS d f d d9 d f g f g g  f g f d3 d[ d d9 d f g d9 d f g f g f d3 d\ d dB d d) d f d f g f d3 d] d d g f g f d3 d` d d_ d g d6 f g f d3 da d dT d d) f d d f g f d3 db d d) g f g f d3 dc d d? d d5 f f g f d3 d9 d f g f d3 dd d f g f d3 de d f g f g Z df dc d dg d d? d d5 f d d? d dX f f f g f g Z dh di d d dB d dk d f dB d dl d f g f f dh dg d dB d dk d f d dB d dl d f f f dh dm d d dB d d) d f f f dh do d d8 g  d d g  f dB d dp d f f f dh dq d d? d d5 f g d? d dX f g f f dh dr d dB d dk d f ds dB d dl d f dB d du d f dB d dv d f g f g f f dh dw d dB d dk d f ds dB d dl d f dB d du d f dB d dv d f g f g f f dh dx d d? d d5 f d d g d? d dX f d? d dQ f g f f dh dz d dB d d7 d f d? d d5 f d? d dX f g d{ du d? d dQ f f g dB d dv d f dB dd| df f f dh d} ddB dd) df f f dh d? dd~ f f dh dT ddV f f dh d ddB d	dk d
f dl df f dh d ddB ddk df d dB ddl df dB ddu df d f df f dh dB dd) df f dh d dd? dd5 f d? ddX f d? ddQ f g df f dh d dd? dd5 f d? ddX f d? ddQ f g df f dh dz d d d!d d"d d#dB d$dk d%f dl d&f du d'f dv d(f d d)d d*dB d+dk d,f dl d-f d d? d.d5 f d? d/dX f d f d0f g g  d d f f g Z e   d S(1  iN(   t   test_supportc         C   s  |  d  j p t |  t t t t f  o |  St |  t  o& g  } |  D] } | t |  qI ~ S|  i i	 g } t
 |  d  o- t
 |  d  o | i |  i |  i f  n |  i d  j o t |  Sx- |  i D]" } | i t t |  |    q Wt |  S(   Nt   linenot
   col_offset(   t   Nonet
   isinstancet
   basestringt   intt   longt   complext   listt   to_tuplet	   __class__t   __name__t   hasattrt   appendR   R   t   _fieldst   tuplet   getattr(   t   tt   _[1]t   et   resultt   f(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyR
      s    )& 
  s   def f(): passs   class C:passs   def f():return 1s   del vs   v = 1s   v += 1s   print >>f, 1, s   for v in v:passs   while v:passs	   if v:passs   raise Exception, 'string's$   try:
  pass
except Exception:
  passs   try:
  pass
finally:
  passs   assert vs
   import syss   from sys import vs   exec 'v's   global vt   1t   passt   breakt   continues   1+2s   a and bs   a + bs   not vs   lambda:Nones   { 1:2 }s   [a for b in c if d]s   (a for b in c if d)s	   1 < 2 < 3s   f(1,2,c=3,*d,**e)s   `v`t   10Ls   'string's   a.bs   a[b:c]t   vs   [1,2,3]s   1,2,3s   a.b.c.d(a.b[1:2])t	   AST_Testsc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s  t  | t i  p | i d  j o d  St  | t i t i t i f  o; | i | i	 f } |  i
 | | j  | i | i	 f } n xv | i D]k } t | |  } t  | t  o% xC | D] } |  i | |  q Wq | d  j	 o |  i | |  q q Wd  S(   N(   R   t   astt   ASTR   R   t   exprt   stmtt   excepthandlerR   R   t   assert_R   R	   t   _assert_order(   t   selft   ast_nodet
   parent_post   node_post   namet   valuet   child(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyR$   }   s    $"
  c         C   s   x t  t d f t t d f t t d f f D]p \ } } } x^ t i | |  D]J \ } } t | d | t	 i
  } |  i t |  |  |  i | d  qM Wq+ Wd  S(   Nt   exect   singlet   evalt   ?i    (   i    i    (   t
   exec_testst   exec_resultst   single_testst   single_resultst
   eval_testst   eval_resultst	   itertoolst   izipt   compileR   t   PyCF_ONLY_ASTt   assertEqualsR
   R$   (   R%   t   inputt   outputt   kindt   it   ot   ast_tree(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_snippets   s      c      	   C   s   t  i d d d d d } |  i | i d  |  i | i d  |  i | i d  |  i | i d  |  i t t  i d d  t  i d d d d d d d d  } |  i | i d  |  i | i d  |  i | i d  |  i | i d  t  i	   } d  S(	   Ni   i   i   R   i    t   leftt   opt   right(
   R   t   BinOpR:   RB   RC   RD   R   t   assertRaisest	   TypeErrort   Sub(   R%   t   x(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_nodeclasses   s    $c   	      C   s   d d  k  } | g } y d d  k } | i |  Wn t j
 o n Xd d d g } xq | D]i } x` | D]X } xO d   t D D]= } | i | i | |   } |  i t |  t |   q Wqk Wq^ Wd  S(   Nii    i   i   c         s   s(   x! |  ] } t  | d  d d  Vq Wd S(   R/   R,   i   N(   R8   (   t   .0R>   (    (    s*   /mit/python/lib/python2.6/test/test_ast.pys	   <genexpr>   s   	 (	   t   picklet   cPickleR   t   ImportErrorR0   t   loadst   dumpsR:   R
   (	   R%   RL   t   modsRM   t	   protocolst   modt   protocolR   t   ast2(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_pickling   s     	   (   R   t
   __module__R$   RA   RJ   RV   (    (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyR   {   s   				t   ASTHelpers_Testc           B   sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C   sM   t  i d  } t d d d t  i  } |  i t  i |  t  i |   d  S(   Ns
   foo(1 + 1)s	   <unknown>R,   (   R   t   parseR8   R9   t   assertEqualt   dump(   R%   t   at   b(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt
   test_parse   s    c         C   sj   t  i d  } |  i t  i |  d  |  i t  i | d t d  |  i t  i | d t d  d  S(   Ns   spam(eggs, "and cheese")s   Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load()), args=[Name(id='eggs', ctx=Load()), Str(s='and cheese')], keywords=[], starargs=None, kwargs=None))])t   annotate_fieldsse   Module([Expr(Call(Name('spam', Load()), [Name('eggs', Load()), Str('and cheese')], [], None, None))])t   include_attributess  Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load(), lineno=1, col_offset=0), args=[Name(id='eggs', ctx=Load(), lineno=1, col_offset=5), Str(s='and cheese', lineno=1, col_offset=11)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0)])(   R   RY   RZ   R[   t   Falset   True(   R%   t   node(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt	   test_dump   s    c         C   s_   t  i d d d } t  i t  i d  | i i  | i _ |  i t  i | d t d  d  S(   Ns   1 + 1t   modeR.   i   R`   s   Expression(body=BinOp(left=Num(n=1, lineno=1, col_offset=0), op=Add(), right=Num(n=2, lineno=1, col_offset=4), lineno=1, col_offset=0))(	   R   RY   t   copy_locationt   Numt   bodyRD   RZ   R[   Rb   (   R%   t   src(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_copy_location   s    'c         C   s   t  i d  } | i i t  i t  i t  i d t  i    t  i d  g g  d  d     |  i
 | t  i |   |  i
 t  i | d t d  d  S(   Ns   write("spam")t   spamt   eggsR`   s  Module(body=[Expr(value=Call(func=Name(id='write', ctx=Load(), lineno=1, col_offset=0), args=[Str(s='spam', lineno=1, col_offset=6)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0), Expr(value=Call(func=Name(id='spam', ctx=Load(), lineno=1, col_offset=0), args=[Str(s='eggs', lineno=1, col_offset=0)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0)])(   R   RY   Rh   R   t   Exprt   Callt   Namet   Loadt   StrR   RZ   t   fix_missing_locationsR[   Rb   (   R%   Ri   (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_fix_missing_locations   s    *"c         C   sW   t  i d d d } |  i t  i | d d |  |  i t  i | d t d  d  S(   Ns   1 + 1Re   R.   t   ni   R`   s   Expression(body=BinOp(left=Num(n=1, lineno=4, col_offset=0), op=Add(), right=Num(n=1, lineno=4, col_offset=4), lineno=4, col_offset=0))(   R   RY   RZ   t   increment_linenoR[   Rb   (   R%   Ri   (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_increment_lineno   s    c         C   sy   t  i d d d } t t  i | i   } |  i | i d  i d  |  i | h g  d 6d  d 6g  d 6d  d	 6 d  S(
   Ns   foo()Re   R.   t   funct   foot   keywordst   kwargst   argst   starargs(	   R   RY   t   dictt   iter_fieldsRh   RZ   t   popt   idR   (   R%   Rc   t   d(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_iter_fields   s
    c         C   s   t  i d d d } |  i t t t  i | i    d  t  i | i  } |  i t |  i d  |  i t |  i	 d  |  i t |  i	 d  |  i t  i
 t |   d  d  S(	   Ns   spam(23, 42, eggs='leek')Re   R.   i   Rk   i   i*   s(   keyword(arg='eggs', value=Str(s='leek'))(   R   RY   RZ   t   lenR	   t   iter_child_nodesRh   t   nextR   Rt   R[   (   R%   Rc   t   iterator(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_iter_child_nodes   s    (c         C   s3   t  i d  } |  i t  i | i d  d  d  S(   Ns&   def foo():
  """line one
  line two"""i    s   line one
line two(   R   RY   RZ   t   get_docstringRh   (   R%   Rc   (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_get_docstring  s    c         C   s~   |  i  t i d  d d d g  |  i  t i d  h d d 6 |  i  t i d  t t d  f  |  i t t i d	  d  S(
   Ns	   [1, 2, 3]i   i   i   s   {"foo": 42}i*   Rx   s   (True, False, None)s   foo()(   RZ   R   t   literal_evalRb   Ra   R   RF   t
   ValueError(   R%   (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   test_literal_eval  s    " "(   R   RW   R^   Rd   Rj   Rs   Rv   R   R   R   R   (    (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyRX      s   										c           C   s   t  i t t  d  S(   N(   R    t   run_unittestR   RX   (    (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt	   test_main  s    c       
   C   s   t  d j o d  St i d d g j o xr t d f t d f t d f f D]O \ }  } | d GHx7 |  D]/ } t t t | d | d	    d
 GHd GHqg WqK Wd GHt	  n t
   d  S(   Nt   __main__i   s   -gR,   R-   R.   s   _results = [R/   i   t   ,t   ]s   main()(   R   t   syst   argvR0   R2   R4   t   reprR
   R8   t
   SystemExitR   (   t
   statementsR=   t   s(    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   main  s     	 $
t   Modulet   FunctionDefi   i    R   t	   argumentst   Passi	   t   ClassDeft   Ci   t   ReturnRg   i   t   DeleteRo   i   t   Delt   Assignt   Storet	   AugAssignt   Addi   t   PrintRp   i   t   Fort   Whilei   t   Ifi   t   Raiset	   ExceptionRq   i   t   stringt	   TryExcepti   t   ExceptHandleri   t
   TryFinallyt   Assertt   Importt   aliasR   t
   ImportFromt   Exect   GlobalRm   t   Breakt   Continuet   InteractiveRE   t
   Expressiont   BoolOpt   AndR\   R]   t   UnaryOpt   Nott   LambdaR   t   Dictt   ListCompt   comprehensioni   t   cR   t   GeneratorExpt   Comparet   LtRn   t   keywordR   t   Reprl   
 t	   Attributet	   Subscriptt   Slicet   Listt   Tuplei   (   i   i    (   i   i	   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i   (   R   (   i   i    (   i   i    (   R   (   i   i   (   i   i    (   i   i    (   R   (   R   (   i   i   (   i   i    (   i   i   (   s   Load(   i   i   (   i   i    (   i   i   (   R   (   i   i	   (   s   Load(   i   i   (   i   i    (   i   i   (   s   Load(   i   i   (   i   i    (   i   i   (   s   Load(   i   i   (   i   i    (   i   i   (   s   Load(   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   s   Load(   i   i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i   (   s   Load(   i   i    (   s   aliass   sysN(   i   i    (   s   aliasR   N(   i   i    (   i   i   (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   R   (   i   i   (   i   i    (   R   (   i   i    (   s   Load(   i   i   (   s   Load(   i   i    (   i   i    (   s   Load(   R   (   i   i   (   s   Load(   i   i    (   R   (   i   i   (   s   Load(   i   i    (   i   i   (   s   Load(   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   s   Load(   i   i   (   R   (   i   i   (   s   Load(   i   i   (   s   Load(   i   i   (   i   i   (   s   Load(   i   i   (   R   (   i   i   (   s   Load(   i   i   (   s   Load(   i   i    (   i   i    (   R   (   R   (   i   i   (   i   i   (   i   i    (   i   i    (   s   Load(   i   i   (   i   i   (   i   i   (   i   i   (   s   Load(   i   i   (   s   Load(   i   i    (   i   i   (   s   Load(   i   i    (   i   i    (   i   i    (   i   i    (   s   Load(   s   Load(   i   i    (   i   i    (   s   Load(   i   i   (   s   Load(   i   i   (   s   Load(   s   Load(   i   i    (   s   Load(   i   i    (   i   i   (   i   i   (   i   i   (   s   Load(   i   i    (   i   i    (   i   i   (   i   i   (   s   Load(   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   s   Load(   s   Load(   s   Load(   s   Load(   i   i   (   i   i   (   i   i   (   s   Load(   s   Load(   i   i   (   i   i   (   s   Load(   R   R6   t   unittestt   testR    R   R
   R0   R2   R4   t   TestCaseR   RX   R   R   R   Ra   R1   R3   R5   (    (    (    s*   /mit/python/lib/python2.6/test/test_ast.pyt   <module>   s   $				>Z		6'B$003?000K*$$<30!0-WW?o$H99