
    daf<                       d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
  G d de
j                        Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Z G d- d.e      Z G d/ d0e      Z  G d1 d2e      Z! G d3 d4      Z" G d5 d6ee"      Z# G d7 d8ee"      Z$ G d9 d:ee"      Z% G d; d<e      Z& G d= d>e      Z' G d? d@e      Z( G dA dBe      Z) G dC dDe      Z* G dE dFe      Z+ G dG dHe      Z, G dI dJe      Z- G dK dLe      Z. G dM dNe      Z/ G dO dPe      Z0 G dQ dRe      Z1 G dS dTe      Z2 G dU dVe      Z3 G dW dXe      Z4 G dY dZe      Z5 G d[ d\e      Z6 G d] d^e      Z7 G d_ d`e      Z8 G da dbe      Z9 G dc dde      Z: G de dfe      Z; G dg dhe      Z< G di dje      Z= G dk dle      Z> G dm dne      Z? G do dpe      Z@ G dq dre      ZA G ds dte      ZBy)uz" Test suite for the fixer modules     N)chain)
itemgetter)pygram
fixer_util)supportc                   >    e Zd Zd	dZd Zd
dZd
dZd Zd
dZd Z	y)FixerTestCaseNc                 
   || j                   g}t        j                  |||      | _        g | _        d| _        t        | j                  j                  | j                  j                        D ]  }| j                  |_	         y )Nz<string>)
fixerr   get_refactorerrefactor	fixer_logfilenamer   	pre_order
post_orderlog)selffix_list	fixer_pkgoptionsr   s        8/root/Python-3.12.4/Lib/test/test_lib2to3/test_fixers.pysetUpzFixerTestCase.setUp   so    

|H..y(GL"4==22==335 	'EEI	'    c                     t        j                  |      }t        j                  |      }| j                  j                  || j                        }| j                  |t        |             |S N)r   reformatr   refactor_stringr   assertEqualstr)r   beforeaftertrees       r   _checkzFixerTestCase._check   sU    !!&)  '}},,VT]]CD	*r   c                     | j                  ||      }| j                  |j                         |s| j                  | j                  g        y y r   )r#   
assertTruewas_changedr   r   )r   r    r!   ignore_warningsr"   s        r   checkzFixerTestCase.check#   s@    {{65)(()T^^R0 r   c                     | j                  ||      }| j                  |dj                  | j                               |s| j	                  |j
                         y y )N )r#   assertInjoinr   r%   r&   )r   r    r!   message	unchangedr"   s         r   warnszFixerTestCase.warns)   sG    {{65)grwwt~~67OOD,,- r   c                 .    | j                  |||d       y )NTr.   r/   )r   r    r-   s      r   warns_unchangedzFixerTestCase.warns_unchanged/   s    

667d
;r   c                 f    | j                  ||       |s| j                  | j                  g        y y r   )r#   r   r   )r   r    r'   s      r   r.   zFixerTestCase.unchanged2   s,    FF#T^^R0 r   c           	         | j                   g}|j                  |       t        j                  d|      }|j	                         \  }}d| j                   z   }|r)|d   j
                  j                  j                  |      ry |r+|d   j
                  j                  j                  |      r|sy | j                  ddj                  ||z   D cg c]  }|j
                  j                   c}      d|d       y c c}w )Nlib2to3fix_zFixer run order (, z) is incorrect; z should be last.)
r   extendr   r   
get_fixers	__class__
__module__endswithfailr,   )r   namesfixesrprepostnxs           r   assert_runs_afterzFixerTestCase.assert_runs_after7   s    U""9e4llndTZZDH&&11::1=3r7$$//88;D		SXGqAKK22GH!M 	NGs   C<)Nr6   N)F)
__name__r=   __qualname__r   r#   r(   r/   r3   r.   rG    r   r   r	   r	      s&    	'1.<1
Nr   r	   c                   "    e Zd ZdZd Zd Zd Zy)Test_nenec                 0    d}d}| j                  ||       y )Nzif x <> y:
            passzif x != y:
            passr(   r   bas      r   
test_basiczTest_ne.test_basicI       

1ar   c                 0    d}d}| j                  ||       y )Nzif x<>y:
            passzif x!=y:
            passrO   rP   s      r   test_no_spaceszTest_ne.test_no_spacesQ   rT   r   c                 0    d}d}| j                  ||       y )Nzif x<>y<>z:
            passzif x!=y!=z:
            passrO   rP   s      r   test_chainedzTest_ne.test_chainedY   rT   r   N)rH   r=   rI   r   rS   rV   rX   rJ   r   r   rL   rL   F   s    Er   rL   c                   R    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zy)Test_has_keyhas_keyc                 0    d}d}| j                  ||       y )Nz$x = d.has_key("x") or d.has_key("y")zx = "x" in d or "y" in drO   rP   s      r   test_1zTest_has_key.test_1d   s    6*

1ar   c                 0    d}d}| j                  ||       y )Nzx = a.b.c.d.has_key("x") ** 3zx = ("x" in a.b.c.d) ** 3rO   rP   s      r   test_2zTest_has_key.test_2i       /+

1ar   c                 0    d}d}| j                  ||       y )Nz!x = a.b.has_key(1 + 2).__repr__()zx = (1 + 2 in a.b).__repr__()rO   rP   s      r   test_3zTest_has_key.test_3n   s    3/

1ar   c                 0    d}d}| j                  ||       y )Nz,x = a.b.has_key(1 + 2).__repr__() ** -3 ** 4z(x = (1 + 2 in a.b).__repr__() ** -3 ** 4rO   rP   s      r   test_4zTest_has_key.test_4s   s    >:

1ar   c                 0    d}d}| j                  ||       y )Nzx = a.has_key(f or g)zx = (f or g) in arO   rP   s      r   test_5zTest_has_key.test_5x       '#

1ar   c                 0    d}d}| j                  ||       y )Nzx = a + b.has_key(c)zx = a + (c in b)rO   rP   s      r   test_6zTest_has_key.test_6}       &"

1ar   c                 0    d}d}| j                  ||       y )Nzx = a.has_key(lambda: 12)zx = (lambda: 12) in arO   rP   s      r   test_7zTest_has_key.test_7       +'

1ar   c                 0    d}d}| j                  ||       y )Nzx = a.has_key(a for a in b)zx = (a for a in b) in arO   rP   s      r   test_8zTest_has_key.test_8   s    -)

1ar   c                 0    d}d}| j                  ||       y )Nzif not a.has_key(b): passzif b not in a: passrO   rP   s      r   test_9zTest_has_key.test_9   s    +%

1ar   c                 0    d}d}| j                  ||       y )Nz$if not a.has_key(b).__repr__(): passz if not (b in a).__repr__(): passrO   rP   s      r   test_10zTest_has_key.test_10   s    62

1ar   c                 0    d}d}| j                  ||       y )Nzif not a.has_key(b) ** 2: passzif not (b in a) ** 2: passrO   rP   s      r   test_11zTest_has_key.test_11   s    0,

1ar   N)rH   r=   rI   r   r]   r_   rb   rd   rf   ri   rl   ro   rq   rs   ru   rJ   r   r   rZ   rZ   a   s>    E









r   rZ   c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)
Test_applyapplyc                 0    d}d}| j                  ||       y )Nzx = apply(f, g + h)zx = f(*g + h)rO   rP   s      r   r]   zTest_apply.test_1   s    %

1ar   c                 0    d}d}| j                  ||       y )Nzy = apply(f, g, h)zy = f(*g, **h)rO   rP   s      r   r_   zTest_apply.test_2   s    $ 

1ar   c                 0    d}d}| j                  ||       y )Nz z = apply(fs[0], g or h, h or g)zz = fs[0](*g or h, **h or g)rO   rP   s      r   rb   zTest_apply.test_3       2.

1ar   c                 0    d}d}| j                  ||       y )Nzapply(f, (x, y) + t)zf(*(x, y) + t)rO   rP   s      r   rd   zTest_apply.test_4       & 

1ar   c                 0    d}d}| j                  ||       y )Nzapply(f, args,)f(*args)rO   rP   s      r   rf   zTest_apply.test_5   s    !

1ar   c                 0    d}d}| j                  ||       y )Nzapply(f, args, kwds,)f(*args, **kwds)rO   rP   s      r   ri   zTest_apply.test_6   s    '"

1ar   c                 0    d}d}| j                  ||       y )Nzx = apply(f+g, args)zx = (f+g)(*args)rO   rP   s      r   test_complex_1zTest_apply.test_complex_1   rj   r   c                 0    d}d}| j                  ||       y )Nzx = apply(f*g, args)zx = (f*g)(*args)rO   rP   s      r   test_complex_2zTest_apply.test_complex_2   rj   r   c                 0    d}d}| j                  ||       y )Nzx = apply(f**g, args)zx = (f**g)(*args)rO   rP   s      r   test_complex_3zTest_apply.test_complex_3   rg   r   c                 0    d}d}| j                  ||       y )Nzx = apply(f.g, args)zx = f.g(*args)rO   rP   s      r   test_dotted_namezTest_apply.test_dotted_name   r~   r   c                 0    d}d}| j                  ||       y )Nzx = apply(f[x], args)zx = f[x](*args)rO   rP   s      r   test_subscriptzTest_apply.test_subscript   s    '!

1ar   c                 0    d}d}| j                  ||       y )Nzx = apply(f(), args)zx = f()(*args)rO   rP   s      r   	test_callzTest_apply.test_call   r~   r   c                 0    d}d}| j                  ||       y )Nz"x = apply(a.b.c.d.e.f, args, kwds)zx = a.b.c.d.e.f(*args, **kwds)rO   rP   s      r   test_extremezTest_apply.test_extreme   s    40

1ar   c                 0    d}d}| j                  ||       y )Nz1apply(   # foo
          f, # bar
          args)r   rO   rP   s      r   test_weird_commentszTest_apply.test_weird_comments   s     

1ar   c                 *    d}| j                  |       y )Nzapply()r1   r   ss     r   test_unchanged_1zTest_apply.test_unchanged_1   s    qr   c                 *    d}| j                  |       y )Nzapply(f)r1   r   s     r   test_unchanged_2zTest_apply.test_unchanged_2   s    qr   c                 *    d}| j                  |       y )Nz	apply(f,)r1   r   s     r   test_unchanged_3zTest_apply.test_unchanged_3   s    qr   c                 *    d}| j                  |       y )Nzapply(f, args, kwds, extras)r1   r   s     r   test_unchanged_4zTest_apply.test_unchanged_4       .qr   c                 *    d}| j                  |       y )Nzapply(f, *args, **kwds)r1   r   s     r   test_unchanged_5zTest_apply.test_unchanged_5   s    )qr   c                 *    d}| j                  |       y )Nzapply(f, *args)r1   r   s     r   test_unchanged_6zTest_apply.test_unchanged_6      !qr   c                 *    d}| j                  |       y )Nzapply(f, **kwds)r1   r   s     r   test_unchanged_6bzTest_apply.test_unchanged_6b      "qr   c                 *    d}| j                  |       y )Nz#apply(func=f, args=args, kwds=kwds)r1   r   s     r   test_unchanged_7zTest_apply.test_unchanged_7
  s    5qr   c                 *    d}| j                  |       y )Nzapply(f, args=args, kwds=kwds)r1   r   s     r   test_unchanged_8zTest_apply.test_unchanged_8      0qr   c                 *    d}| j                  |       y )Nzapply(f, args, kwds=kwds)r1   r   s     r   test_unchanged_9zTest_apply.test_unchanged_9  s    +qr   c                 0    d}d}| j                  ||       y )Nzapply(  f,  args,   kwds)r   rO   r   rR   rQ   s      r   test_space_1zTest_apply.test_space_1      +"

1ar   c                 0    d}d}| j                  ||       y )Nzapply(  f  ,args,kwds   )r   rO   r   s      r   test_space_2zTest_apply.test_space_2  r   r   N)rH   r=   rI   r   r]   r_   rb   rd   rf   ri   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rJ   r   r   rw   rw      s    E









r   rw   c                   (    e Zd ZdZd Zd Zd Zd Zy)Test_reloadreloadc                 0    d}d}| j                  ||       y )Nz	reload(a)z$import importlib
importlib.reload(a)rO   rP   s      r   testzTest_reload.test#  s    7

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzreload( a ) # commentz0import importlib
importlib.reload( a ) # commentzreload( a )  # commentz1import importlib
importlib.reload( a )  # commentrO   rP   s      r   test_commentzTest_reload.test_comment(  s4    'C

1a )D

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzreload( a )z&import importlib
importlib.reload( a )z
reload( a)z%import importlib
importlib.reload( a)z
reload(a )z%import importlib
importlib.reload(a )rO   rP   s      r   
test_spacezTest_reload.test_space2  sJ    9

1a8

1a8

1ar   c                 Z   d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d	}| j                  |       y )
Nzreload(a=1)zreload(f, g)zreload(f, *h)zreload(f, *h, **i)zreload(f, **i)zreload(*h, **i)z
reload(*h)zreload(**i)zreload()r1   r   s     r   test_unchangedzTest_reload.test_unchanged?  s    qqq$q q!qqqqr   N)rH   r=   rI   r   r   r   r   r   rJ   r   r   r   r      s    E
r   r   c                   "    e Zd ZdZd Zd Zd Zy)Test_interninternc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzx =   intern(  a  )z"import sys
x =   sys.intern(  a  )z%y = intern("b" # test
              )z4import sys
y = sys.intern("b" # test
              )zz = intern(a+b+c.d,   )z&import sys
z = sys.intern(a+b+c.d,   )rO   rP   s      r   test_prefix_preservationz$Test_intern.test_prefix_preservation^  sN    %5

1a

1a)9

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzx = intern(a)zimport sys
x = sys.intern(a)zz = intern(a+b+c.d,)z#import sys
z = sys.intern(a+b+c.d,)z"intern("y%s" % 5).replace("y", "")z1import sys
sys.intern("y%s" % 5).replace("y", "")rO   rP   s      r   r   zTest_intern.testm  sJ    /

1a&6

1a4D

1ar   c                     d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzintern(a=1)zintern(f, g)z
intern(*h)zintern(**i)zintern()r1   r   s     r   r   zTest_intern.test_unchanged|  sW    qqqqqr   N)rH   r=   rI   r   r   r   r   rJ   r   r   r   r   [  s    Er   r   c                   (    e Zd ZdZd Zd Zd Zd Zy)Test_reducereducec                 0    d}d}| j                  ||       y )Nzreduce(a, b, c)z,from functools import reduce
reduce(a, b, c)rO   rP   s      r   test_simple_callzTest_reduce.test_simple_call  s    ;

1ar   c                 0    d}d}| j                  ||       y )Nzdef x(arg): reduce(sum, [])z8from functools import reduce
def x(arg): reduce(sum, [])rO   rP   s      r   test_bug_7253zTest_reduce.test_bug_7253  s    )G

1ar   c                 0    d}d}| j                  ||       y )Nzreduce(lambda x, y: x + y, seq)z<from functools import reduce
reduce(lambda x, y: x + y, seq)rO   rP   s      r   test_call_with_lambdaz!Test_reduce.test_call_with_lambda  s    -K

1ar   c                     d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nz	reduce(a)zreduce(a, b=42)zreduce(a, b, c, d)zreduce(**c)zreduce()r1   r   s     r   r   zTest_reduce.test_unchanged  sW    qq qqqr   N)rH   r=   rI   r   r   r   r   r   rJ   r   r   r   r     s    E

r   r   c                   v    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zy)
Test_printprintc                 0    d}d}| j                  ||       y )Nzprint 1,   1+1,   1+1+1zprint(1,   1+1,   1+1+1)rO   rP   s      r   r   z#Test_print.test_prefix_preservation  s    )*

1ar   c                 P    d}| j                  |       d}| j                  |       y )Nprint()	print('')r1   r   s     r   test_idempotencyzTest_print.test_idempotency  s$    qqr   c                     t         j                  | j                  j                  _        d}| j                  |       d}| j                  |       d}| j                  |       y )Nprint(1, 1+1, 1+1+1)r   r   )r   !python_grammar_no_print_statementr   drivergrammarr.   r   s     r   "test_idempotency_print_as_functionz-Test_print.test_idempotency_print_as_function  sM    '-'O'O$&qqqr   c                 0    d}d}| j                  ||       y )Nzprint 1, 1+1, 1+1+1r   rO   rP   s      r   r]   zTest_print.test_1  s    %&

1ar   c                 0    d}d}| j                  ||       y )Nz
print 1, 2zprint(1, 2)rO   rP   s      r   r_   zTest_print.test_2  s    

1ar   c                 0    d}d}| j                  ||       y )Nr   r   rO   rP   s      r   rb   zTest_print.test_3  s    

1ar   c                 0    d}d}| j                  ||       y )Nzprint whatever; printzprint(whatever); print()rO   rP   s      r   rd   zTest_print.test_4  s    '*

1ar   c                 0    d}d}| j                  ||       y )Nzprint; print whatever;zprint(); print(whatever);rO   rP   s      r   rf   zTest_print.test_5  s    (+

1ar   c                 0    d}d}| j                  ||       y )Nzprint (a, b, c)zprint((a, b, c))rO   rP   s      r   
test_tuplezTest_print.test_tuple  s    !"

1ar   c                 0    d}d}| j                  ||       y )Nzprint 1, 2, 3,zprint(1, 2, 3, end=' ')rO   rP   s      r   test_trailing_comma_1z Test_print.test_trailing_comma_1  s     )

1ar   c                 0    d}d}| j                  ||       y )Nzprint 1, 2,zprint(1, 2, end=' ')rO   rP   s      r   test_trailing_comma_2z Test_print.test_trailing_comma_2  s    &

1ar   c                 0    d}d}| j                  ||       y )Nzprint 1,zprint(1, end=' ')rO   rP   s      r   test_trailing_comma_3z Test_print.test_trailing_comma_3  s    #

1ar   c                 0    d}d}| j                  ||       y )Nzprint >>sys.stderr, 1, 2, 3zprint(1, 2, 3, file=sys.stderr)rO   rP   s      r   !test_vargs_without_trailing_commaz,Test_print.test_vargs_without_trailing_comma  s    -1

1ar   c                 0    d}d}| j                  ||       y )Nzprint >>sys.stderr, 1, 2,z%print(1, 2, end=' ', file=sys.stderr)rO   rP   s      r   test_with_trailing_commaz#Test_print.test_with_trailing_comma   s    +7

1ar   c                 0    d}d}| j                  ||       y )Nzprint >>sys.stderr, 1+1zprint(1+1, file=sys.stderr)rO   rP   s      r   test_no_trailing_commaz!Test_print.test_no_trailing_comma  s    )-

1ar   c                 0    d}d}| j                  ||       y )Nzprint >>  sys.stderrzprint(file=sys.stderr)rO   rP   s      r   test_spaces_before_filez"Test_print.test_spaces_before_file
  s    &(

1ar   c                 V    d}| j                  |       d}d}| j                  ||       y )Nz<from __future__ import print_function
print('Hai!', end=' ')zprint 'Hello, world!'zprint('Hello, world!')r.   r(   )r   r   rQ   rR   s       r   test_with_future_print_functionz*Test_print.test_with_future_print_function  s-    %q#$

1ar   N)rH   r=   rI   r   r   r   r   r]   r_   rb   rd   rf   r   r   r   r   r   r   r   r   r   rJ   r   r   r   r     s\    E
	









r   r   c                   L    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)	Test_execexecc                 0    d}d}| j                  ||       y )Nz  exec code in ns1,   ns2z  exec(code, ns1,   ns2)rO   rP   s      r   r   z"Test_exec.test_prefix_preservation  s    +*

1ar   c                 0    d}d}| j                  ||       y )Nz	exec code
exec(code)rO   rP   s      r   rS   zTest_exec.test_basic!  s    

1ar   c                 0    d}d}| j                  ||       y )Nzexec code in nsexec(code, ns)rO   rP   s      r   test_with_globalszTest_exec.test_with_globals&  s    ! 

1ar   c                 0    d}d}| j                  ||       y )Nzexec code in ns1, ns2exec(code, ns1, ns2)rO   rP   s      r   test_with_globals_localsz"Test_exec.test_with_globals_locals+  s    '&

1ar   c                 0    d}d}| j                  ||       y )Nzexec (a.b()) in nszexec((a.b()), ns)rO   rP   s      r   r   zTest_exec.test_complex_10      $#

1ar   c                 0    d}d}| j                  ||       y )Nzexec a.b() + c in nszexec(a.b() + c, ns)rO   rP   s      r   r   zTest_exec.test_complex_25      &%

1ar   c                 *    d}| j                  |       y )Nr   r1   r   s     r   r   zTest_exec.test_unchanged_1<      qr   c                 *    d}| j                  |       y )Nzexec (code)r1   r   s     r   r   zTest_exec.test_unchanged_2@  s    qr   c                 *    d}| j                  |       y )Nr   r1   r   s     r   r   zTest_exec.test_unchanged_3D       qr   c                 *    d}| j                  |       y )Nr   r1   r   s     r   r   zTest_exec.test_unchanged_4H  s    &qr   N)rH   r=   rI   r   r   rS   r   r   r   r   r   r   r   r   rJ   r   r   r   r     s9    E




r   r   c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
	Test_reprreprc                 0    d}d}| j                  ||       y )Nzx =   `1 + 2`zx =   repr(1 + 2)rO   rP   s      r   r   z"Test_repr.test_prefix_preservationO      #

1ar   c                 0    d}d}| j                  ||       y )Nzx = `1 + 2`zx = repr(1 + 2)rO   rP   s      r   test_simple_1zTest_repr.test_simple_1T  s    !

1ar   c                 0    d}d}| j                  ||       y )Nzy = `x`zy = repr(x)rO   rP   s      r   test_simple_2zTest_repr.test_simple_2Y  s    

1ar   c                 0    d}d}| j                  ||       y )Nzz = `y`.__repr__()zz = repr(y).__repr__()rO   rP   s      r   test_complexzTest_repr.test_complex^  s    $(

1ar   c                 0    d}d}| j                  ||       y )Nzx = `1, 2, 3`zx = repr((1, 2, 3))rO   rP   s      r   r   zTest_repr.test_tuplec      %

1ar   c                 0    d}d}| j                  ||       y )Nzx = `1 + `2``zx = repr(1 + repr(2))rO   rP   s      r   test_nestedzTest_repr.test_nestedh  s    '

1ar   c                 0    d}d}| j                  ||       y )Nzx = `1, 2 + `3, 4``zx = repr((1, 2 + repr((3, 4))))rO   rP   s      r   test_nested_tupleszTest_repr.test_nested_tuplesm  s    %1

1ar   N)rH   r=   rI   r   r   r  r  r  r   r  r  rJ   r   r   r  r  L  s*    E





r   r  c                   p    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zy)Test_exceptexceptc                 0    d}d}| j                  ||       y )Nzq
            try:
                pass
            except (RuntimeError, ImportError),    e:
                passzs
            try:
                pass
            except (RuntimeError, ImportError) as    e:
                passrO   rP   s      r   r   z$Test_except.test_prefix_preservationu       

 	

1ar   c                 0    d}d}| j                  ||       y )NzV
            try:
                pass
            except Foo, e:
                passX
            try:
                pass
            except Foo as e:
                passrO   rP   s      r   test_simplezTest_except.test_simple  r   r   c                 0    d}d}| j                  ||       y )NzU
            try:
                pass
            except Foo,e:
                passr"  rO   rP   s      r   "test_simple_no_space_before_targetz.Test_except.test_simple_no_space_before_target  r   r   c                 0    d}d}| j                  ||       y )Nz
            def foo():
                try:
                    pass
                except Exception, (f, e):
                    pass
                except ImportError, e:
                    passa  
            def foo():
                try:
                    pass
                except Exception as xxx_todo_changeme:
                    (f, e) = xxx_todo_changeme.args
                    pass
                except ImportError as e:
                    passrO   rP   s      r   test_tuple_unpackzTest_except.test_tuple_unpack  s      	

1ar   c                 0    d}d}| j                  ||       y )Nzn
            try:
                pass
            except (RuntimeError, ImportError), e:
                passzp
            try:
                pass
            except (RuntimeError, ImportError) as e:
                passrO   rP   s      r   test_multi_classzTest_except.test_multi_class  s     
 	

1ar   c                 0    d}d}| j                  ||       y )Nza
            try:
                pass
            except Exception, [a, b]:
                passz
            try:
                pass
            except Exception as xxx_todo_changeme:
                [a, b] = xxx_todo_changeme.args
                passrO   rP   s      r   test_list_unpackzTest_except.test_list_unpack        	

1ar   c                 0    d}d}| j                  ||       y )Nz_
            try:
                pass
            except Exception, d[5]:
                passz
            try:
                pass
            except Exception as xxx_todo_changeme:
                d[5] = xxx_todo_changeme
                passrO   rP   s      r   test_weird_target_1zTest_except.test_weird_target_1  r,  r   c                 0    d}d}| j                  ||       y )Nz`
            try:
                pass
            except Exception, a.foo:
                passz
            try:
                pass
            except Exception as xxx_todo_changeme:
                a.foo = xxx_todo_changeme
                passrO   rP   s      r   test_weird_target_2zTest_except.test_weird_target_2  r,  r   c                 0    d}d}| j                  ||       y )Nzb
            try:
                pass
            except Exception, a().foo:
                passz
            try:
                pass
            except Exception as xxx_todo_changeme:
                a().foo = xxx_todo_changeme
                passrO   rP   s      r   test_weird_target_3zTest_except.test_weird_target_3  r,  r   c                 0    d}d}| j                  ||       y )Nz
            try:
                pass
            except Exception, a:
                pass
            except:
                passz
            try:
                pass
            except Exception as a:
                pass
            except:
                passrO   rP   s      r   test_bare_exceptzTest_except.test_bare_except  s      	

1ar   c                 0    d}d}| j                  ||       y )Nz
            try:
                pass
            except Exception, a:
                pass
            except:
                pass
            else:
                pass
            finally:
                passz
            try:
                pass
            except Exception as a:
                pass
            except:
                pass
            else:
                pass
            finally:
                passrO   rP   s      r   !test_bare_except_and_else_finallyz-Test_except.test_bare_except_and_else_finally  s     

 	

1ar   c                 0    d}d}| j                  ||       y )Nz
            try:
                pass
            except TypeError, b:
                pass
            except Exception, a:
                pass
            except:
                passz
            try:
                pass
            except TypeError as b:
                pass
            except Exception as a:
                pass
            except:
                passrO   rP   s      r   +test_multi_fixed_excepts_before_bare_exceptz7Test_except.test_multi_fixed_excepts_before_bare_except'  s      	

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nzd
            try: raise TypeError
            except TypeError, e:
                pass
            zf
            try: raise TypeError
            except TypeError as e:
                pass
            zd
            try:
                raise TypeError
            except TypeError, e: pass
            zf
            try:
                raise TypeError
            except TypeError as e: pass
            zT
            try: raise TypeError
            except TypeError, e: pass
            zV
            try: raise TypeError
            except TypeError as e: pass
            z
            try: raise TypeError
            except TypeError, e: pass
            else: function()
            finally: done()
            z
            try: raise TypeError
            except TypeError as e: pass
            else: function()
            finally: done()
            rO   rP   s      r   test_one_line_suitesz Test_except.test_one_line_suites=  sz    

 	

1a

 	

1a 	

1a 	

1ar   c                 *    d}| j                  |       y )NzO
            try:
                pass
            except:
                passr1   r   s     r   r   zTest_except.test_unchanged_1m      
 	qr   c                 *    d}| j                  |       y )NzY
            try:
                pass
            except Exception:
                passr1   r   s     r   r   zTest_except.test_unchanged_2u  r<  r   c                 *    d}| j                  |       y )Nzg
            try:
                pass
            except (Exception, SystemExit):
                passr1   r   s     r   r   zTest_except.test_unchanged_3}  r<  r   N)rH   r=   rI   r   r   r#  r%  r'  r)  r+  r.  r0  r2  r4  r6  r8  r:  r   r   r   rJ   r   r   r  r  r  sX    E*$4,,`r   r  c                   v    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zy)
Test_raiseraisec                 0    d}d}| j                  ||       y )Nzraise Exception, 5raise Exception(5)rO   rP   s      r   rS   zTest_raise.test_basic  s    $$

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzraise Exception,5rC  zraise   Exception,    5zraise   Exception(5)rO   rP   s      r   r   z#Test_raise.test_prefix_preservation  s2    #$

1a)&

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzraise Exception, 5 # foozraise Exception(5) # foozraise E, (5, 6) % (a, b) # foozraise E((5, 6) % (a, b)) # fooz:def foo():
                    raise Exception, 5, 6 # foozIdef foo():
                    raise Exception(5).with_traceback(6) # foorO   rP   s      r   test_with_commentszTest_raise.test_with_comments  sO    **

1a00

1a3B

1ar   c                 0    d}d}| j                  ||       y )Nzraise Exception(5), None, tbz%raise Exception(5).with_traceback(tb)rO   rP   s      r   test_None_valuezTest_raise.test_None_value  s    .7

1ar   c                 0    d}d}| j                  ||       y )Nzraise Exception, (5, 6, 7)zraise Exception(5, 6, 7)rO   rP   s      r   test_tuple_valuezTest_raise.test_tuple_value  s    ,*

1ar   c                 0    d}d}| j                  ||       y )Nzraise E, (5, 6) % (a, b)zraise E((5, 6) % (a, b))rO   rP   s      r   test_tuple_detectionzTest_raise.test_tuple_detection  s    **

1ar   c                 0    d}d}| j                  ||       y )Nzraise (((E1, E2), E3), E4), Vraise E1(V)rO   rP   s      r   test_tuple_exc_1zTest_raise.test_tuple_exc_1  s    /

1ar   c                 0    d}d}| j                  ||       y )Nzraise (E1, (E2, E3), E4), VrN  rO   rP   s      r   test_tuple_exc_2zTest_raise.test_tuple_exc_2  s    -

1ar   c                 ,    d}| j                  |d       y )Nzraise 'foo'+Python 3 does not support string exceptionsr3   r   s     r   test_string_exczTest_raise.test_string_exc  s    Q MNr   c                 ,    d}| j                  |d       y )Nzraise "foo", 5rS  rT  r   s     r   test_string_exc_valzTest_raise.test_string_exc_val       Q MNr   c                 ,    d}| j                  |d       y )Nzraise "foo", 5, 6rS  rT  r   s     r   test_string_exc_val_tbz!Test_raise.test_string_exc_val_tb      #Q MNr   c                 0    d}d}| j                  ||       y )Nz4def foo():
                    raise Exception, 5, 6Cdef foo():
                    raise Exception(5).with_traceback(6)rO   rP   s      r   	test_tb_1zTest_raise.test_tb_1  s    -<

1ar   c                 0    d}d}| j                  ||       y )Nzhdef foo():
                    a = 5
                    raise Exception, 5, 6
                    b = 6wdef foo():
                    a = 5
                    raise Exception(5).with_traceback(6)
                    b = 6rO   rP   s      r   	test_tb_2zTest_raise.test_tb_2        	

1ar   c                 0    d}d}| j                  ||       y )Nz2def foo():
                    raise Exception,5,6r]  rO   rP   s      r   	test_tb_3zTest_raise.test_tb_3  s    +<

1ar   c                 0    d}d}| j                  ||       y )Nzfdef foo():
                    a = 5
                    raise Exception,5,6
                    b = 6r`  rO   rP   s      r   	test_tb_4zTest_raise.test_tb_4  rb  r   c                 0    d}d}| j                  ||       y )Nz<def foo():
                    raise Exception, (5, 6, 7), 6zIdef foo():
                    raise Exception(5, 6, 7).with_traceback(6)rO   rP   s      r   	test_tb_5zTest_raise.test_tb_5  s    5B

1ar   c                 0    d}d}| j                  ||       y )Nzpdef foo():
                    a = 5
                    raise Exception, (5, 6, 7), 6
                    b = 6z}def foo():
                    a = 5
                    raise Exception(5, 6, 7).with_traceback(6)
                    b = 6rO   rP   s      r   	test_tb_6zTest_raise.test_tb_6  rb  r   N)rH   r=   rI   r   rS   r   rF  rH  rJ  rL  rO  rQ  rU  rW  rZ  r^  ra  rd  rf  rh  rj  rJ   r   r   r@  r@    s_    E




OOO			r   r@  c                   |    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)
Test_throwthrowc                 0    d}d}| j                  ||       y )Nzg.throw(Exception, 5)g.throw(Exception(5))rO   rP   s      r   r]   zTest_throw.test_1  s    ''

1ar   c                 0    d}d}| j                  ||       y )Nzg.throw(Exception,5)ro  rO   rP   s      r   r_   zTest_throw.test_2  s    &'

1ar   c                 0    d}d}| j                  ||       y )Nzg.throw(Exception, (5, 6, 7))zg.throw(Exception(5, 6, 7))rO   rP   s      r   rb   zTest_throw.test_3  s    /-

1ar   c                 0    d}d}| j                  ||       y )Nz5 + g.throw(Exception, 5)z5 + g.throw(Exception(5))rO   rP   s      r   rd   zTest_throw.test_4  s    ++

1ar   c                 ,    d}| j                  |d       y )Nzg.throw("foo")rS  rT  r   s     r   test_warn_1zTest_throw.test_warn_1  rX  r   c                 ,    d}| j                  |d       y )Nzg.throw("foo", 5)rS  rT  r   s     r   test_warn_2zTest_throw.test_warn_2!  r[  r   c                 ,    d}| j                  |d       y )Nzg.throw("foo", 5, 6)rS  rT  r   s     r   test_warn_3zTest_throw.test_warn_3%  s    &Q MNr   c                 *    d}| j                  |       y )Nzg.throw(Exception)r1   r   s     r   test_untouched_1zTest_throw.test_untouched_1+      $qr   c                 *    d}| j                  |       y )Nzg.throw(Exception(5, 6))r1   r   s     r   test_untouched_2zTest_throw.test_untouched_2/  s    *qr   c                 *    d}| j                  |       y )Nz5 + g.throw(Exception(5, 6))r1   r   s     r   test_untouched_3zTest_throw.test_untouched_33  r   r   c                 0    d}d}| j                  ||       y )Nz7def foo():
                    g.throw(Exception, 5, 6)Fdef foo():
                    g.throw(Exception(5).with_traceback(6))rO   rP   s      r   r^  zTest_throw.test_tb_19  s    0?

1ar   c                 0    d}d}| j                  ||       y )Nzkdef foo():
                    a = 5
                    g.throw(Exception, 5, 6)
                    b = 6zdef foo():
                    a = 5
                    g.throw(Exception(5).with_traceback(6))
                    b = 6rO   rP   s      r   ra  zTest_throw.test_tb_2@  rb  r   c                 0    d}d}| j                  ||       y )Nz5def foo():
                    g.throw(Exception,5,6)r  rO   rP   s      r   rd  zTest_throw.test_tb_3K  s    .?

1ar   c                 0    d}d}| j                  ||       y )Nzidef foo():
                    a = 5
                    g.throw(Exception,5,6)
                    b = 6r  rO   rP   s      r   rf  zTest_throw.test_tb_4R  rb  r   c                 0    d}d}| j                  ||       y )Nz?def foo():
                    g.throw(Exception, (5, 6, 7), 6)zLdef foo():
                    g.throw(Exception(5, 6, 7).with_traceback(6))rO   rP   s      r   rh  zTest_throw.test_tb_5]  s    8E

1ar   c                 0    d}d}| j                  ||       y )Nzsdef foo():
                    a = 5
                    g.throw(Exception, (5, 6, 7), 6)
                    b = 6zdef foo():
                    a = 5
                    g.throw(Exception(5, 6, 7).with_traceback(6))
                    b = 6rO   rP   s      r   rj  zTest_throw.test_tb_6d  rb  r   c                 0    d}d}| j                  ||       y )Nz;def foo():
                    a + g.throw(Exception, 5, 6)zJdef foo():
                    a + g.throw(Exception(5).with_traceback(6))rO   rP   s      r   	test_tb_7zTest_throw.test_tb_7o  s    4C

1ar   c                 0    d}d}| j                  ||       y )Nzodef foo():
                    a = 5
                    a + g.throw(Exception, 5, 6)
                    b = 6z~def foo():
                    a = 5
                    a + g.throw(Exception(5).with_traceback(6))
                    b = 6rO   rP   s      r   	test_tb_8zTest_throw.test_tb_8v  rb  r   N)rH   r=   rI   r   r]   r_   rb   rd   rt  rv  rx  rz  r}  r  r^  ra  rd  rf  rh  rj  r  r  rJ   r   r   rl  rl    sd    E


OOO				r   rl  c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)	Test_longlongc                 0    d}d}| j                  ||       y )Nzx = long(x)z
x = int(x)rO   rP   s      r   r]   zTest_long.test_1  s    

1ar   c                 0    d}d}| j                  ||       y )Nzy = isinstance(x, long)zy = isinstance(x, int)rO   rP   s      r   r_   zTest_long.test_2      )(

1ar   c                 0    d}d}| j                  ||       y )Nzz = type(x) in (int, long)zz = type(x) in (int, int)rO   rP   s      r   rb   zTest_long.test_3  s    ,+

1ar   c                    d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzlong = Truezs.long = Truezdef long(): passzclass long(): passzdef f(long): passzdef f(g, long): passzdef f(x, long=True): passr1   r   s     r   r   zTest_long.test_unchanged  sy    qq"q$q#q&q+qr   c                 0    d}d}| j                  ||       y )Nzx =   long(  x  )zx =   int(  x  )rO   rP   s      r   r   z"Test_long.test_prefix_preservation      #"

1ar   N)	rH   r=   rI   r   r]   r_   rb   r   r   rJ   r   r   r  r    s     E


,r   r  c                       e Zd ZdZd Zd Zy)Test_execfileexecfilec                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       y )Nzexecfile("fn")z4exec(compile(open("fn", "rb").read(), "fn", 'exec'))zexecfile("fn", glob)z:exec(compile(open("fn", "rb").read(), "fn", 'exec'), glob)zexecfile("fn", glob, loc)z?exec(compile(open("fn", "rb").read(), "fn", 'exec'), glob, loc)zexecfile("fn", globals=glob)zBexec(compile(open("fn", "rb").read(), "fn", 'exec'), globals=glob)zexecfile("fn", locals=loc)z@exec(compile(open("fn", "rb").read(), "fn", 'exec'), locals=loc)z(execfile("fn", globals=glob, locals=loc)zNexec(compile(open("fn", "rb").read(), "fn", 'exec'), globals=glob, locals=loc)rO   rP   s      r   test_conversionzTest_execfile.test_conversion  s     F

1a&L

1a+Q

1a.T

1a,R

1a:`

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzexecfile( "fn" )z6exec(compile(open( "fn", "rb" ).read(), "fn", 'exec'))zexecfile("fn",  globals = glob)zEexec(compile(open("fn", "rb").read(), "fn", 'exec'),  globals = glob)rO   rP   s      r   test_spacingzTest_execfile.test_spacing  s2    "H

1a1W

1ar   N)rH   r=   rI   r   r  r  rJ   r   r   r  r    s    E2r   r  c                   "    e Zd ZdZd Zd Zd Zy)Test_isinstance
isinstancec                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nzisinstance(x, (int, int, int))zisinstance(x, int)z,isinstance(x, (int, float, int, int, float))zisinstance(x, (int, float))z1isinstance(x, (int, float, int, int, float, str))z isinstance(x, (int, float, str))z4isinstance(foo() + bar(), (x(), y(), x(), int, int))z/isinstance(foo() + bar(), (x(), y(), x(), int))rO   rP   s      r   test_remove_multiple_itemsz*Test_isinstance.test_remove_multiple_items  sb    0$

1a>-

1aC2

1aFA

1ar   c                 0    d}d}| j                  ||       y )Nz4if    isinstance(  foo(), (  bar, bar, baz )) : passz/if    isinstance(  foo(), (  bar, baz )) : passrO   rP   s      r   r   z(Test_isinstance.test_prefix_preservation  s    FA

1ar   c                 &    | j                  d       y )Nzisinstance(x, (str, int))r1   r   s    r   r   zTest_isinstance.test_unchanged  s    23r   N)rH   r=   rI   r   r  r   r   rJ   r   r   r  r    s    E"
4r   r  c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&y%)&	Test_dictdictc                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       y )Nzif   d. keys  (  )  : passz if   list(d. keys  (  ))  : passzif   d. items  (  )  : passz!if   list(d. items  (  ))  : passzif   d. iterkeys  ( )  : passzif   iter(d. keys  ( ))  : passz"[i for i in    d.  iterkeys(  )  ]z[i for i in    d.  keys(  )  ]zif   d. viewkeys  ( )  : passzif   d. keys  ( )  : passz"[i for i in    d.  viewkeys(  )  ]rO   rP   s      r   r   z"Test_dict.test_prefix_preservation  s    (.

1a)/

1a+-

1a0,

1a+'

1a0,

1ar   c                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d}| j                  ||       y )
Nzd.keys() # foozlist(d.keys()) # foozd.items()  # foozlist(d.items())  # foozd.iterkeys()  # fooziter(d.keys())  # fooz/[i for i in d.iterkeys() # foo
               ]z+[i for i in d.keys() # foo
               ]zd.viewitems()  # foorO   rP   s      r   test_trailing_commentzTest_dict.test_trailing_comment  s    "

1a$

1a!#

1a

1a

1a"

1ar   c                     t         j                  D ]D  }d|z  }| j                  |       d|z  }| j                  |       d|z  }| j                  |       F y )Nzs = %s(d.keys())zs = %s(d.values())zs = %s(d.items())r   consuming_callsr.   )r   wrapperr   s      r   r   zTest_dict.test_unchanged*  sY    !11 	G"W,ANN1$w.ANN1#g-ANN1	r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nd.keys()list(d.keys())za[0].foo().keys()zlist(a[0].foo().keys())rO   rP   s      r   test_01zTest_dict.test_015  s2    

1a%

1ar   c                 0    d}d}| j                  ||       y )N	d.items()zlist(d.items())rO   rP   s      r   test_02zTest_dict.test_02>  s    

1ar   c                 0    d}d}| j                  ||       y )N
d.values()zlist(d.values())rO   rP   s      r   test_03zTest_dict.test_03C  s    

1ar   c                 0    d}d}| j                  ||       y )Nzd.iterkeys()iter(d.keys())rO   rP   s      r   test_04zTest_dict.test_04H  s    

1ar   c                 0    d}d}| j                  ||       y )Nzd.iteritems()ziter(d.items())rO   rP   s      r   test_05zTest_dict.test_05M  s    

1ar   c                 0    d}d}| j                  ||       y )Nzd.itervalues()ziter(d.values())rO   rP   s      r   test_06zTest_dict.test_06R  s    

1ar   c                 *    d}| j                  |       y )Nr  r1   r   s     r   test_07zTest_dict.test_07W  r  r   c                 *    d}| j                  |       y )Nsorted(d.keys())r1   r   s     r   test_08zTest_dict.test_08[  s    qr   c                 0    d}d}| j                  ||       y )Nr  ziter(list(d.keys()))rO   rP   s      r   test_09zTest_dict.test_09_  s    "

1ar   c                 0    d}d}| j                  ||       y )Nzfoo(d.keys())zfoo(list(d.keys()))rO   rP   s      r   rs   zTest_dict.test_10d  s    !

1ar   c                 0    d}d}| j                  ||       y )Nfor i in d.keys(): print iz for i in list(d.keys()): print irO   rP   s      r   ru   zTest_dict.test_11i  s    (.

1ar   c                 0    d}d}| j                  ||       y )Nzfor i in d.iterkeys(): print ir  rO   rP   s      r   test_12zTest_dict.test_12n  s    ,(

1ar   c                 0    d}d}| j                  ||       y )N[i for i in d.keys()]z[i for i in list(d.keys())]rO   rP   s      r   test_13zTest_dict.test_13s      #)

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i in d.iterkeys()]r  rO   rP   s      r   test_14zTest_dict.test_14x  rg   r   c                 0    d}d}| j                  ||       y )N(i for i in d.keys())z(i for i in list(d.keys()))rO   rP   s      r   test_15zTest_dict.test_15}  r  r   c                 0    d}d}| j                  ||       y )Nz(i for i in d.iterkeys())r  rO   rP   s      r   test_16zTest_dict.test_16  rg   r   c                 0    d}d}| j                  ||       y )Nziter(d.iterkeys())r  rO   rP   s      r   test_17zTest_dict.test_17       

1ar   c                 0    d}d}| j                  ||       y )Nzlist(d.iterkeys())r  rO   rP   s      r   test_18zTest_dict.test_18  r  r   c                 0    d}d}| j                  ||       y )Nzsorted(d.iterkeys())r  rO   rP   s      r   test_19zTest_dict.test_19      "

1ar   c                 0    d}d}| j                  ||       y )Nzfoo(d.iterkeys())zfoo(iter(d.keys()))rO   rP   s      r   test_20zTest_dict.test_20  s    !

1ar   c                 0    d}d}| j                  ||       y )Nzprint h.iterkeys().next()zprint iter(h.keys()).next()rO   rP   s      r   test_21zTest_dict.test_21  s    ')

1ar   c                 0    d}d}| j                  ||       y )Nzprint h.keys()[0]zprint list(h.keys())[0]rO   rP   s      r   test_22zTest_dict.test_22  r  r   c                 0    d}d}| j                  ||       y )Nzprint list(h.iterkeys().next())z!print list(iter(h.keys()).next())rO   rP   s      r   test_23zTest_dict.test_23  s    -/

1ar   c                 0    d}d}| j                  ||       y )Nzfor x in h.keys()[0]: print xz#for x in list(h.keys())[0]: print xrO   rP   s      r   test_24zTest_dict.test_24  s    +1

1ar   c                 0    d}d}| j                  ||       y )Nzd.viewkeys()r  rO   rP   s      r   test_25zTest_dict.test_25  s    

1ar   c                 0    d}d}| j                  ||       y )Nzd.viewitems()r  rO   rP   s      r   test_26zTest_dict.test_26  s    

1ar   c                 0    d}d}| j                  ||       y )Nzd.viewvalues()r  rO   rP   s      r   test_27zTest_dict.test_27  s    

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i in d.viewkeys()]r  rO   rP   s      r   test_28zTest_dict.test_28  rg   r   c                 0    d}d}| j                  ||       y )Nz(i for i in d.viewkeys())r  rO   rP   s      r   test_29zTest_dict.test_29  rg   r   c                 0    d}d}| j                  ||       y )Nziter(d.viewkeys())r  rO   rP   s      r   test_30zTest_dict.test_30  r  r   c                 0    d}d}| j                  ||       y )Nzlist(d.viewkeys())r  rO   rP   s      r   test_31zTest_dict.test_31  r  r   c                 0    d}d}| j                  ||       y )Nzsorted(d.viewkeys())r  rO   rP   s      r   test_32zTest_dict.test_32  r  r   N)'rH   r=   rI   r   r   r  r   r  r  r  r  r  r  r  r  r  rs   ru   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   r   r   r  r    s    E2:	



























r   r  c                   F    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)Test_xrangexrangec                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzx =    xrange(  10  )zx =    range(  10  )zx = xrange(  1  ,  10   )zx = range(  1  ,  10   )zx = xrange(  0  ,  10 ,  2 )zx = range(  0  ,  10 ,  2 )rO   rP   s      r   r   z$Test_xrange.test_prefix_preservation  sJ    '&

1a+*

1a.-

1ar   c                 0    d}d}| j                  ||       y )Nzx = xrange(10)zx = range(10)rO   rP   s      r   test_single_argzTest_xrange.test_single_arg       

1ar   c                 0    d}d}| j                  ||       y )Nzx = xrange(1, 10)zx = range(1, 10)rO   rP   s      r   test_two_argszTest_xrange.test_two_args  r  r   c                 0    d}d}| j                  ||       y )Nzx = xrange(0, 10, 2)zx = range(0, 10, 2)rO   rP   s      r   test_three_argszTest_xrange.test_three_args  r  r   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       y )Nzx = range(10, 3, 9)zx = list(range(10, 3, 9))zx = foo(range(10, 3, 9))zx = foo(list(range(10, 3, 9)))zx = range(10, 3, 9) + [4]zx = list(range(10, 3, 9)) + [4]zx = range(10)[::-1]zx = list(range(10))[::-1]zx = range(10)  [3]zx = list(range(10))  [3]rO   rP   s      r   test_wrap_in_listzTest_xrange.test_wrap_in_list  sz    %+

1a*0

1a+1

1a%+

1a$*

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzfor i in xrange(10):
    j=izfor i in range(10):
    j=iz[i for i in xrange(10)][i for i in range(10)]rO   rP   s      r   test_xrange_in_forzTest_xrange.test_xrange_in_for  s2    /.

1a)(

1ar   c                 H    | j                  d       | j                  d       y )Nzfor i in range(10): passr  r1   r  s    r   test_range_in_forzTest_xrange.test_range_in_for  s    12/0r   c                 &    | j                  d       y )Nzx in range(10, 3, 9)r1   r  s    r   test_in_contains_testz!Test_xrange.test_in_contains_test  s    -.r   c                 V    t         j                  D ]  }| j                  d|z          y )Nza = %s(range(10))r  )r   calls     r   test_in_consuming_contextz%Test_xrange.test_in_consuming_context  s)    .. 	7DNN.56	7r   N)rH   r=   rI   r   r   r  r  r  r  r  r
  r  r  rJ   r   r   r  r    s4    E


*1/7r   r  c                   $     e Zd Z fdZd Z xZS )Test_xrange_with_reducec                 0    t         t        |   ddg       y )Nr  r   )superr  r   )r   r<   s    r   r   zTest_xrange_with_reduce.setUp!  s    %t2Hh3GHr   c                 0    d}d}| j                  ||       y )Nzreduce(x, xrange(5))z0from functools import reduce
reduce(x, range(5))rO   rP   s      r   test_double_transformz-Test_xrange_with_reduce.test_double_transform$  s    &

1ar   )rH   r=   rI   r   r  __classcell__r<   s   @r   r  r    s    Ir   r  c                   @    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)Test_raw_input	raw_inputc                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzx =    raw_input(   )zx =    input(   )zx = raw_input(   ''   )x = input(   ''   )rO   rP   s      r   r   z'Test_raw_input.test_prefix_preservation-  s2    '#

1a)%

1ar   c                 0    d}d}| j                  ||       y )Nzx = raw_input()x = input()rO   rP   s      r   r]   zTest_raw_input.test_16  s    !

1ar   c                 0    d}d}| j                  ||       y )Nzx = raw_input('')x = input('')rO   rP   s      r   r_   zTest_raw_input.test_2;  s    #

1ar   c                 0    d}d}| j                  ||       y )Nzx = raw_input('prompt')x = input('prompt')rO   rP   s      r   rb   zTest_raw_input.test_3@  s    )%

1ar   c                 0    d}d}| j                  ||       y )Nzx = raw_input(foo(a) + 6)zx = input(foo(a) + 6)rO   rP   s      r   rd   zTest_raw_input.test_4E  rm   r   c                 0    d}d}| j                  ||       y )Nzx = raw_input(invite).split()zx = input(invite).split()rO   rP   s      r   rf   zTest_raw_input.test_5J  r`   r   c                 0    d}d}| j                  ||       y )Nz x = raw_input(invite) . split ()zx = input(invite) . split ()rO   rP   s      r   ri   zTest_raw_input.test_6O  r|   r   c                 0    d}d}| j                  ||       y )Nzx = int(raw_input())zx = int(input())rO   rP   s      r   ro   zTest_raw_input.test_8T  r  r   N)rH   r=   rI   r   r   r]   r_   rb   rd   rf   ri   ro   rJ   r   r   r  r  *  s/    E





r   r  c                   $    e Zd ZdZg dZd Zd Zy)Test_funcattrs	funcattrs)closuredocnamedefaultscodeglobalsr  c                     | j                   D ]:  }d|z  }d|z  }| j                  ||       d|z  }d|z  }| j                  ||       < y )Nz	a.func_%sa.__%s__zself.foo.func_%s.foo_barself.foo.__%s__.foo_barattrsr(   r   attrrQ   rR   s       r   r   zTest_funcattrs.test^  sY    JJ 	Dd"AT!AJJq!*T1A)D0AJJq!	r   c                     | j                   D ]D  }d|z  }| j                  |       d|z  }| j                  |       d|z  }| j                  |       F y )Nzfoo(func_%s + 5)f(foo.__%s__)f(foo.__%s__.foo)r4  r.   r   r6  r   s      r   r   zTest_funcattrs.test_unchangedh  sW    JJ 	D"T)ANN1$&ANN1#d*ANN1	r   NrH   r=   rI   r   r4  r   r   rJ   r   r   r(  r(  Y  s    EME	r   r(  c                   "    e Zd ZdZd Zd Zd Zy)Test_xreadlines
xreadlinesc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzfor x in f.xreadlines(): passzfor x in f: passz!for x in foo().xreadlines(): passzfor x in foo(): passz'for x in (5 + foo()).xreadlines(): passzfor x in (5 + foo()): passrO   rP   s      r   r   zTest_xreadlines.test_callv  sJ    +

1a/"

1a5(

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzfoo(f.xreadlines + 5)zfoo(f.__iter__ + 5)zfoo(f().xreadlines + 5)zfoo(f().__iter__ + 5)zfoo((5 + f()).xreadlines + 5)zfoo((5 + f()).__iter__ + 5)rO   rP   s      r   test_attr_refzTest_xreadlines.test_attr_ref  sJ    #!

1a%#

1a+)

1ar   c                     d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzfor x in f.xreadlines(5): passz for x in f.xreadlines(k=5): passz$for x in f.xreadlines(*k, **v): passzfoo(xreadlines)r1   r   s     r   r   zTest_xreadlines.test_unchanged  sF    ,q.q2qqr   N)rH   r=   rI   r   r   rB  r   rJ   r   r   r>  r>  s  s    Er   r>  c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)ImportsFixerTestsc                     | j                   j                         D ]=  \  }}d|z  }d|z  }| j                  ||       d|z  }d|z  }| j                  ||       ? y )N	import %szimport foo, %s, barmodulesitemsr(   r   oldnewrQ   rR   s        r   test_import_modulez$ImportsFixerTests.test_import_module  sf    **, 	HCc!Ac!AJJq!%+A%+AJJq!	r   c                     | j                   j                         D ]Y  \  }}d|z  }d|z  }| j                  ||       d|z  }d|z  }| j                  ||       d|z  }d|z  }| j                  ||       [ y )Nzfrom %s import foozfrom %s import foo, barzfrom %s import (yes, no)rH  rK  s        r   test_import_fromz"ImportsFixerTests.test_import_from  s    **, 	HC$s*A$s*AJJq!)C/A)C/AJJq!*S0A*S0AJJq!	r   c                     | j                   j                         D ]=  \  }}d|z  }d|z  }| j                  ||       d|z  }d|z  }| j                  ||       ? y )Nzimport %s as foo_barrH  rK  s        r   test_import_module_asz'ImportsFixerTests.test_import_module_as  sf    **, 	HC&,A&,AJJq!&,A&,AJJq!	r   c                     | j                   j                         D ]!  \  }}d|z  }d|z  }| j                  ||       # y )Nzfrom %s import foo as barrH  rK  s        r   test_import_from_asz%ImportsFixerTests.test_import_from_as  sD    **, 	HC+c1A+c1AJJq!	r   c                     | j                   j                         D ]!  \  }}d|z  }d|z  }| j                  ||       # y )Nfrom %s import *rH  rK  s        r   	test_starzImportsFixerTests.test_star  sD    **, 	HC"S(A"S(AJJq!	r   c                    | j                   j                         D ]  \  }}d|d|d}d|d|d}| j                  ||       d|d|d}d|d|d}| j                  ||       d|d}| j                  |       d|d	|d
|d}d|d	|d
|d}| j                  ||       d|d|d	}d|d|d	}| j                  ||        y )N
                import 
                foo(z.bar)
                
                from z import x
                z = 23
                z.
                def f():
                    z.method()
                z
                z.bar(z.foo)
                z
                x.)rI  rJ  r(   r.   )r   rL  rM  rQ   rR   r   s         r   test_import_module_usagez*ImportsFixerTests.test_import_module_usage  s    **, .	HC C!A C!A JJq!
 C!A C!A JJq!
 A NN1 C&A C&A JJq!
 C!A C!A JJq!].	r   N)	rH   r=   rI   rN  rP  rR  rT  rW  r\  rJ   r   r   rE  rE    s     /r   rE  c                   (    e Zd ZdZddlmZ d Zd Zy)Test_importsimportsr   MAPPINGc                 0    d}d}| j                  ||       y )Nzimport urlparse, cStringIOzimport urllib.parse, iorO   rP   s      r   test_multiple_importsz"Test_imports.test_multiple_imports  s    ,)

1ar   c                 0    d}d}| j                  ||       y )Nzv
            import copy_reg as bar, HTMLParser as foo, urlparse
            s = urlparse.spam(bar.foo())
            z~
            import copyreg as bar, html.parser as foo, urllib.parse
            s = urllib.parse.spam(bar.foo())
            rO   rP   s      r   test_multiple_imports_asz%Test_imports.test_multiple_imports_as	        	

1ar   N)	rH   r=   rI   r   lib2to3.fixes.fix_importsra  rI  rc  re  rJ   r   r   r^  r^     s    E<
	r   r^  c                       e Zd ZdZddlmZ y)Test_imports2imports2r   r`  N)rH   r=   rI   r   lib2to3.fixes.fix_imports2ra  rI  rJ   r   r   ri  ri    s
    E=r   ri  c                   $     e Zd Z fdZd Z xZS )Test_imports_fixer_orderc                     t         t        |   ddg       ddlm} |j                         | _        ddlm} dD ]  }||   | j                  |<    y )Nr_  rj  r   r`  )dbhashdumbdbmdbmgdbm)r  rm  r   rk  ra  copyrI  rg  )r   mapping2mapping1keyr<   s       r   r   zTest_imports_fixer_order.setUp  sL    &3Y
4KLB}}A7 	.C (DLL	.r   c                 B    dD ]  }|| _         | j                  d        y )N)r_  rj  import)r   rG   )r   fixs     r   $test_after_local_imports_refactoringz=Test_imports_fixer_order.test_after_local_imports_refactoring$  s&    * 	-CDJ""8,	-r   )rH   r=   rI   r   rz  r  r  s   @r   rm  rm    s    .-r   rm  c                   L    e Zd ZdZddlmZ d Zd Zd Z	d Z
d Zd	 Zd
 Zd Zy)Test_urlliburllibr   r`  c           	          | j                   j                         D ]C  \  }}d|z  }ddj                  t        t	        d      |            z  }| j                  ||       E y )NrG  r9   r   )rI  rJ  r,   mapr   r(   )r   rL  changesrQ   rR   s        r   rN  zTest_urllib.test_import_module.  sX     LL..0 	LCc!AdiiJqM7(CDDAJJq!	r   c                    | j                   j                         D ])  \  }}g }|D ]  \  }}|D ]K  }|j                  |       d|d|}d|d|}| j                  ||       d|z  }	| j	                  |	       M d|ddj                  |      }d|ddj                  |      }| j                  ||       ddj                  |      z  }	| j	                  |	        d|ddj                  |      }dj                  |D cg c]  \  }}d|ddj                  |       c}}      }| j                  ||       , y c c}}w )Nfrom  import from foo import %sr9   
)rI  rJ  appendr(   r.   r,   )
r   rL  r  all_membersrM  membersmemberrQ   rR   r   s
             r   rP  zTest_urllib.test_import_from4  sB    LL..0 	LCK ' "W% &F&&v./2F;A/2F;AJJq!$,v5ANN1%& ,/		'0BC+.		'0BC

1a (499W+==q!"$ (+DIIk,BCA		29; .g 36tyy7IJ ; <AJJq!/	*;s   
!E	c                 T    | j                   D ]  }d|z  }| j                  |d        y )Nzimport %s as fooz#This module is now multiple modulesrI  r3   r   rL  r   s      r   rR  z!Test_urllib.test_import_module_asN  s2    << 	KC"S(A  $IJ	Kr   c           	         | j                   j                         D ]b  \  }}|D ]X  \  }}|D ]N  }d|d|d}d|d|d}| j                  ||       d|d|d|}d|d|d|}| j                  ||       P Z d y )Nr  r   as foo_barz
 as blah, rH  )r   rL  r  rM  r  r  rQ   rR   s           r   rT  zTest_urllib.test_import_from_asS  s     LL..0 	%LC ' %W% %F:=vFA:=vFAJJq!$;>OA;>OAJJq!$%%	%r   c                 T    | j                   D ]  }d|z  }| j                  |d        y )NrV  zCannot handle star importsr  r  s      r   rW  zTest_urllib.test_star^  s2    << 	BC"S(A  $@A	Br   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nz6
def foo():
    from urllib import urlencode, urlopen
zZ
def foo():
    from urllib.parse import urlencode
    from urllib.request import urlopen
zB
def foo():
    other()
    from urllib import urlencode, urlopen
zf
def foo():
    other()
    from urllib.parse import urlencode
    from urllib.request import urlopen
rO   rP   s      r   test_indentedzTest_urllib.test_indentedc  s>    
 	

1a
 	

1ar   c                 0    d}d}| j                  ||       y )Nzfrom urllib import getproxiesz%from urllib.request import getproxiesrO   rP   s      r   test_single_importzTest_urllib.test_single_import|  s    +3

1ar   c                    | j                   j                         D ]  \  }}|D ]  \  }}|D ]  }dj                  | j                   |   D cg c]  \  }}|	 c}}      }d|d|d|d}	d|d|d|d}
| j                  |	|
       d|d|d|d|d|d}	d|d|d|d|d|d}
| j                  |	|
          y c c}}w )Nr9   z 
                        import z
                        foo(.z)
                        z
                        ()rI  rJ  r,   r(   )r   rL  r  rM  r  r  rE   mems
new_importrQ   rR   s              r   r\  z$Test_urllib.test_import_module_usage  s     LL..0 	%LC ' %W% %F!%/3||C/@,B)1dA ,B "CJ
  #C1A  *38A JJq!$  #Cf>A  *3VEA JJq!$)%%	%,Bs   CN)rH   r=   rI   r   lib2to3.fixes.fix_urllibra  rI  rN  rP  rR  rT  rW  r  r  r\  rJ   r   r   r|  r|  *  s4    E;4K
	%B
2%r   r|  c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)

Test_inputinputc                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzx =   input(   )zx =   eval(input(   ))r  zx = eval(input(   ''   ))rO   rP   s      r   r   z#Test_input.test_prefix_preservation  s2    "(

1a%+

1ar   c                 0    d}d}| j                  ||       y )Nzx = input()  #  foozx = eval(input())  #  foorO   rP   s      r   r  z Test_input.test_trailing_comment      %+

1ar   c                 v    d}| j                  |       d}| j                  |       d}| j                  |       y )Nx = eval(input())x = eval(input(''))x = eval(input(foo(5) + 9))r1   r   s     r   r   zTest_input.test_idempotency  s5    #q%q-qr   c                 0    d}d}| j                  ||       y )Nr  r  rO   rP   s      r   r]   zTest_input.test_1  s    #

1ar   c                 0    d}d}| j                  ||       y )Nr   r  rO   rP   s      r   r_   zTest_input.test_2  r  r   c                 0    d}d}| j                  ||       y )Nr"  zx = eval(input('prompt'))rO   rP   s      r   rb   zTest_input.test_3  r  r   c                 0    d}d}| j                  ||       y )Nzx = input(foo(5) + 9)r  rO   rP   s      r   rd   zTest_input.test_4  s    '-

1ar   N)rH   r=   rI   r   r   r  r   r]   r_   rb   rd   rJ   r   r   r  r    s*    E



r   r  c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)Test_tuple_paramstuple_paramsc                 *    d}| j                  |       y )Nzdef foo(): passr1   r   s     r   r   z"Test_tuple_params.test_unchanged_1  r   r   c                 *    d}| j                  |       y )Nzdef foo(a, b, c): passr1   r   s     r   r   z"Test_tuple_params.test_unchanged_2  s    (qr   c                 *    d}| j                  |       y )Nzdef foo(a=3, b=4, c=5): passr1   r   s     r   r   z"Test_tuple_params.test_unchanged_3  r   r   c                 0    d}d}| j                  ||       y )Nz8
            def foo(((a, b), c)):
                x = 5zn
            def foo(xxx_todo_changeme):
                ((a, b), c) = xxx_todo_changeme
                x = 5rO   rP   s      r   r]   zTest_tuple_params.test_1        	

1ar   c                 0    d}d}| j                  ||       y )Nz;
            def foo(((a, b), c), d):
                x = 5zq
            def foo(xxx_todo_changeme, d):
                ((a, b), c) = xxx_todo_changeme
                x = 5rO   rP   s      r   r_   zTest_tuple_params.test_2  r  r   c                 0    d}d}| j                  ||       y )Nz@
            def foo(((a, b), c), d) -> e:
                x = 5zv
            def foo(xxx_todo_changeme, d) -> e:
                ((a, b), c) = xxx_todo_changeme
                x = 5rO   rP   s      r   rb   zTest_tuple_params.test_3  r  r   c                 0    d}d}| j                  ||       y )Nz/
            def foo(((a, b), c)): x = 5; y = 7zV
            def foo(xxx_todo_changeme): ((a, b), c) = xxx_todo_changeme; x = 5; y = 7rO   rP   s      r   test_semicolonz Test_tuple_params.test_semicolon  s    2Y

1ar   c                 0    d}d}| j                  ||       y )NzE
            def foo(((a, b), c), d, e=5) -> z:
                x = 5z{
            def foo(xxx_todo_changeme, d, e=5) -> z:
                ((a, b), c) = xxx_todo_changeme
                x = 5rO   rP   s      r   test_keywordszTest_tuple_params.test_keywords  r  r   c                 0    d}d}| j                  ||       y )NzR
            def foo(((a, b), c), d, *vargs, **kwargs) -> z:
                x = 5z
            def foo(xxx_todo_changeme, d, *vargs, **kwargs) -> z:
                ((a, b), c) = xxx_todo_changeme
                x = 5rO   rP   s      r   test_varargszTest_tuple_params.test_varargs  r  r   c                 0    d}d}| j                  ||       y )NzH
            def foo(((a, b), c), (d, e, f)) -> z:
                x = 5z
            def foo(xxx_todo_changeme, xxx_todo_changeme1) -> z:
                ((a, b), c) = xxx_todo_changeme
                (d, e, f) = xxx_todo_changeme1
                x = 5rO   rP   s      r   test_multi_1zTest_tuple_params.test_multi_1       
 	

1ar   c                 0    d}d}| j                  ||       y )NzQ
            def foo(x, ((a, b), c), d, (e, f, g), y) -> z:
                x = 5z
            def foo(x, xxx_todo_changeme, d, xxx_todo_changeme1, y) -> z:
                ((a, b), c) = xxx_todo_changeme
                (e, f, g) = xxx_todo_changeme1
                x = 5rO   rP   s      r   test_multi_2zTest_tuple_params.test_multi_2%  r  r   c                 0    d}d}| j                  ||       y )Nzj
            def foo(((a, b), c), (d, e, f)) -> z:
                "foo foo foo foo"
                x = 5z
            def foo(xxx_todo_changeme, xxx_todo_changeme1) -> z:
                "foo foo foo foo"
                ((a, b), c) = xxx_todo_changeme
                (d, e, f) = xxx_todo_changeme1
                x = 5rO   rP   s      r   test_docstringz Test_tuple_params.test_docstring1  s     
 	

1ar   c                 *    d}| j                  |       y )Nlambda x: x + 5r1   r   s     r   test_lambda_no_changez'Test_tuple_params.test_lambda_no_change?  r   r   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzlambda (x): x + 5r  zlambda(x): x + 5zlambda ((((x)))): x + 5zlambda((((x)))): x + 5rO   rP   s      r   test_lambda_parens_single_argz/Test_tuple_params.test_lambda_parens_single_argC  sb    #!

1a"!

1a)!

1a(!

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzlambda (x, y): x + f(y)zlambda x_y: x_y[0] + f(x_y[1])zlambda(x, y): x + f(y)zlambda (((x, y))): x + f(y)zlambda(((x, y))): x + f(y)rO   rP   s      r   test_lambda_simplez$Test_tuple_params.test_lambda_simpleT  sb    )0

1a(0

1a-0

1a,0

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzlambda (x,): x + f(x)zlambda x1: x1[0] + f(x1[0])zlambda (((x,))): x + f(x)rO   rP   s      r   test_lambda_one_tuplez'Test_tuple_params.test_lambda_one_tuplee  s2    '-

1a+-

1ar   c                 0    d}d}| j                  ||       y )Nzlambda (x, y): x + x + f(x) + xz0lambda x_y: x_y[0] + x_y[0] + f(x_y[0]) + x_y[0]rO   rP   s      r   test_lambda_simple_multi_usez.Test_tuple_params.test_lambda_simple_multi_usen  s    1B

1ar   c                 0    d}d}| j                  ||       y )Nzlambda (x, y): y + xzlambda x_y: x_y[1] + x_y[0]rO   rP   s      r   test_lambda_simple_reversez,Test_tuple_params.test_lambda_simple_reverses  s    &-

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzlambda (x, (y, z)): x + y + zz2lambda x_y_z: x_y_z[0] + x_y_z[1][0] + x_y_z[1][1]z!lambda (((x, (y, z)))): x + y + zrO   rP   s      r   test_lambda_nestedz$Test_tuple_params.test_lambda_nestedx  s2    /D

1a3D

1ar   c                 0    d}d}| j                  ||       y )Nz lambda (x, (y, z)): x + y + f(y)z5lambda x_y_z: x_y_z[0] + x_y_z[1][0] + f(x_y_z[1][0])rO   rP   s      r   test_lambda_nested_multi_usez.Test_tuple_params.test_lambda_nested_multi_use  s    2G

1ar   N)rH   r=   rI   r   r   r   r   r]   r_   rb   r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   r   r   r  r    sk    E					

""

r   r  c                   $    e Zd ZdZg dZd Zd Zy)Test_methodattrsmethodattrs)funcr   classc                     | j                   D ]J  }d|z  }|dk(  rd}nd|z  }| j                  ||       d|z  }|dk(  rd}nd|z  }| j                  ||       L y )Nza.im_%sr  za.__self__.__class__r1  zself.foo.im_%s.foo_barz#self.foo.__self__.__class__.foo_barr2  r3  r5  s       r   r   zTest_methodattrs.test  sq    JJ 	DD Aw*%JJq!(4/Aw9-4JJq!	r   c                     | j                   D ]D  }d|z  }| j                  |       d|z  }| j                  |       d|z  }| j                  |       F y )Nzfoo(im_%s + 5)r8  r9  r:  r;  s      r   r   zTest_methodattrs.test_unchanged  sW    JJ 	D 4'ANN1$&ANN1#d*ANN1	r   Nr<  rJ   r   r   r  r    s    E%E 	r   r  c                      e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0y/)0	Test_nextnextc                 0    d}d}| j                  ||       y )Nz	it.next()znext(it)rO   rP   s      r   r]   zTest_next.test_1      

1ar   c                 0    d}d}| j                  ||       y )Nza.b.c.d.next()znext(a.b.c.d)rO   rP   s      r   r_   zTest_next.test_2  r  r   c                 0    d}d}| j                  ||       y )Nz(a + b).next()znext((a + b))rO   rP   s      r   rb   zTest_next.test_3  r  r   c                 0    d}d}| j                  ||       y )Nz
a().next()z	next(a())rO   rP   s      r   rd   zTest_next.test_4      

1ar   c                 0    d}d}| j                  ||       y )Nza().next() + bznext(a()) + brO   rP   s      r   rf   zTest_next.test_5  r  r   c                 0    d}d}| j                  ||       y )Nzc(      a().next() + b)zc(      next(a()) + b)rO   rP   s      r   ri   zTest_next.test_6  r  r   c                 0    d}d}| j                  ||       y )NzU
            for a in b:
                foo(a)
                a.next()
            zT
            for a in b:
                foo(a)
                next(a)
            rO   rP   s      r   test_prefix_preservation_1z$Test_next.test_prefix_preservation_1       

 	

1ar   c                 0    d}d}| j                  ||       y )Nzq
            for a in b:
                foo(a) # abc
                # def
                a.next()
            zp
            for a in b:
                foo(a) # abc
                # def
                next(a)
            rO   rP   s      r   test_prefix_preservation_2z$Test_next.test_prefix_preservation_2  s      	

1ar   c                 4    d}d}| j                  ||d       y )Nzj
            next = 5
            for a in b:
                foo(a)
                a.next()
            zn
            next = 5
            for a in b:
                foo(a)
                a.__next__()
            Tr'   rO   rP   s      r   test_prefix_preservation_3z$Test_next.test_prefix_preservation_3  $     	

1a
.r   c                 4    d}d}| j                  ||d       y )Nz
            next = 5
            for a in b:
                foo(a) # abc
                # def
                a.next()
            z
            next = 5
            for a in b:
                foo(a) # abc
                # def
                a.__next__()
            Tr  rO   rP   s      r   test_prefix_preservation_4z$Test_next.test_prefix_preservation_4  s$     	

1a
.r   c                 4    d}d}| j                  ||d       y )Nzz
            next = 5
            for a in b:
                foo(foo(a), # abc
                    a.next())
            z~
            next = 5
            for a in b:
                foo(foo(a), # abc
                    a.__next__())
            Tr  rO   rP   s      r   test_prefix_preservation_5z$Test_next.test_prefix_preservation_5	  r  r   c                 0    d}d}| j                  ||       y )Nze
            for a in b:
                foo(foo(a), # abc
                    a.next())
            zd
            for a in b:
                foo(foo(a), # abc
                    next(a))
            rO   rP   s      r   test_prefix_preservation_6z$Test_next.test_prefix_preservation_6	  r  r   c                 0    d}d}| j                  ||       y )Nz[
            class A:
                def next(self):
                    pass
            z_
            class A:
                def __next__(self):
                    pass
            rO   rP   s      r   test_method_1zTest_next.test_method_1	  r  r   c                 0    d}d}| j                  ||       y )Nzc
            class A(object):
                def next(self):
                    pass
            zg
            class A(object):
                def __next__(self):
                    pass
            rO   rP   s      r   test_method_2zTest_next.test_method_2,	  r  r   c                 0    d}d}| j                  ||       y )NzX
            class A:
                def next(x):
                    pass
            z\
            class A:
                def __next__(x):
                    pass
            rO   rP   s      r   test_method_3zTest_next.test_method_39	  r  r   c                 0    d}d}| j                  ||       y )Nz
            class A:
                def __init__(self, foo):
                    self.foo = foo

                def next(self):
                    pass

                def __iter__(self):
                    return self
            z
            class A:
                def __init__(self, foo):
                    self.foo = foo

                def __next__(self):
                    pass

                def __iter__(self):
                    return self
            rO   rP   s      r   test_method_4zTest_next.test_method_4F	  s     

 	

1ar   c                 *    d}| j                  |       y )Nza
            class A:
                def next(self, a, b):
                    pass
            r1   r   s     r   test_method_unchangedzTest_next.test_method_unchanged_	      
 	qr   c                 ,    d}| j                  |d       y )Nzy
            next = foo

            class A:
                def next(self, a, b):
                    pass
            )Calls to builtin next() possibly shadowedrT  r   s     r   test_shadowing_assign_simplez&Test_next.test_shadowing_assign_simpleg	       	Q KLr   c                 ,    d}| j                  |d       y )Nz~
            (next, a) = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_assign_tuple_1z'Test_next.test_shadowing_assign_tuple_1q	  r  r   c                 ,    d}| j                  |d       y )Nz
            (a, (b, (next, c)), a) = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_assign_tuple_2z'Test_next.test_shadowing_assign_tuple_2{	  r  r   c                 ,    d}| j                  |d       y )Nz~
            [next, a] = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_assign_list_1z&Test_next.test_shadowing_assign_list_1	  r  r   c                 ,    d}| j                  |d       y )Nz
            [a, [b, [next, c]], a] = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_assign_list_2z&Test_next.test_shadowing_assign_list_2	  r  r   c                 ,    d}| j                  |d       y )Nz
            def foo():
                __builtin__.next = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_builtin_assignzTest_next.test_builtin_assign	       	Q KLr   c                 ,    d}| j                  |d       y )Nz
            def foo():
                (a, __builtin__.next) = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_builtin_assign_in_tuplez&Test_next.test_builtin_assign_in_tuple	  r
  r   c                 ,    d}| j                  |d       y )Nz
            def foo():
                [a, __builtin__.next] = foo

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_builtin_assign_in_listz%Test_next.test_builtin_assign_in_list	  r
  r   c                 *    d}| j                  |       y )Nz
            def foo():
                A.next = foo

            class A:
                def next(self, a, b):
                    pass
            r1   r   s     r   test_assign_to_nextzTest_next.test_assign_to_next	       	qr   c                 *    d}| j                  |       y )Nz
            def foo():
                (a, A.next) = foo

            class A:
                def next(self, a, b):
                    pass
            r1   r   s     r   test_assign_to_next_in_tuplez&Test_next.test_assign_to_next_in_tuple	  r  r   c                 *    d}| j                  |       y )Nz
            def foo():
                [a, A.next] = foo

            class A:
                def next(self, a, b):
                    pass
            r1   r   s     r   test_assign_to_next_in_listz%Test_next.test_assign_to_next_in_list	  r  r   c                 ,    d}| j                  |d       y )Nz
            import foo.bar as next

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_1z!Test_next.test_shadowing_import_1	  r  r   c                 ,    d}| j                  |d       y )Nz
            import bar, bar.foo as next

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_2z!Test_next.test_shadowing_import_2	  r  r   c                 ,    d}| j                  |d       y )Nz
            import bar, bar.foo as next, baz

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_3z!Test_next.test_shadowing_import_3	  r  r   c                 ,    d}| j                  |d       y )Nz
            from x import next

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_from_1z&Test_next.test_shadowing_import_from_1	  r  r   c                 ,    d}| j                  |d       y )Nz
            from x.a import next

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_from_2z&Test_next.test_shadowing_import_from_2
  r  r   c                 ,    d}| j                  |d       y )Nz
            from x import a, next, b

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_from_3z&Test_next.test_shadowing_import_from_3
  r  r   c                 ,    d}| j                  |d       y )Nz
            from x.a import a, next, b

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_import_from_4z&Test_next.test_shadowing_import_from_4
  r  r   c                 ,    d}| j                  |d       y )Nz
            def next(a):
                pass

            class A:
                def next(self, a, b):
                    pass
            r  rT  r   s     r   test_shadowing_funcdef_1z"Test_next.test_shadowing_funcdef_1!
  r
  r   c                 2    d}d}| j                  ||d       y )Nz
            def next(a):
                pass

            class A:
                def next(self):
                    pass

            it.next()
            z
            def next(a):
                pass

            class A:
                def __next__(self):
                    pass

            it.__next__()
            r  r2   rP   s      r   test_shadowing_funcdef_2z"Test_next.test_shadowing_funcdef_2,
  s#    		 	

1aDEr   c                 ,    d}| j                  |d       y )NzW
            def f():
                global next
                next = 5
            r  rT  r   s     r   test_shadowing_global_1z!Test_next.test_shadowing_global_1C
      
 	Q KLr   c                 ,    d}| j                  |d       y )Nz]
            def f():
                global a, next, b
                next = 5
            r  rT  r   s     r   test_shadowing_global_2z!Test_next.test_shadowing_global_2K
  r*  r   c                 ,    d}| j                  |d       y )Nze
            for next in it():
                pass

            b = 5
            c = 6
            r  rT  r   s     r   test_shadowing_for_simplez#Test_next.test_shadowing_for_simpleS
  r  r   c                 ,    d}| j                  |d       y )Nzh
            for next, b in it():
                pass

            b = 5
            c = 6
            r  rT  r   s     r   test_shadowing_for_tuple_1z$Test_next.test_shadowing_for_tuple_1]
  r  r   c                 ,    d}| j                  |d       y )Nzp
            for a, (next, c), b in it():
                pass

            b = 5
            c = 6
            r  rT  r   s     r   test_shadowing_for_tuple_2z$Test_next.test_shadowing_for_tuple_2g
  r  r   c                 0    d}d}| j                  ||       y )Nzgnext = g.nextzgnext = g.__next__rO   rP   s      r   test_noncall_access_1zTest_next.test_noncall_access_1q
       $

1ar   c                 0    d}d}| j                  ||       y )Nzf(g.next + 5)zf(g.__next__ + 5)rO   rP   s      r   test_noncall_access_2zTest_next.test_noncall_access_2v
  r  r   c                 0    d}d}| j                  ||       y )Nzf(g().next + 5)zf(g().__next__ + 5)rO   rP   s      r   test_noncall_access_3zTest_next.test_noncall_access_3{
  s    !%

1ar   N)1rH   r=   rI   r   r]   r_   rb   rd   rf   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r,  r.  r0  r2  r4  r7  r9  rJ   r   r   r  r    s    E





//"/2MMMMM	M	M	M			MMMMMMM	MF.MMMMM

r   r  c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)Test_nonzerononzeroc                 0    d}d}| j                  ||       y )Nzb
            class A:
                def __nonzero__(self):
                    pass
            z_
            class A:
                def __bool__(self):
                    pass
            rO   rP   s      r   r]   zTest_nonzero.test_1
  r  r   c                 0    d}d}| j                  ||       y )Nzj
            class A(object):
                def __nonzero__(self):
                    pass
            g
            class A(object):
                def __bool__(self):
                    pass
            rO   rP   s      r   r_   zTest_nonzero.test_2
  r  r   c                 *    d}| j                  |       y )Nr?  r1   r   s     r   r   zTest_nonzero.test_unchanged_1
  r  r   c                 *    d}| j                  |       y )Nzm
            class A(object):
                def __nonzero__(self, a):
                    pass
            r1   r   s     r   r   zTest_nonzero.test_unchanged_2
  r  r   c                 *    d}| j                  |       y )NzE
            def __nonzero__(self):
                pass
            r1   r   s     r   test_unchanged_funcz Test_nonzero.test_unchanged_func
  s     	qr   N)	rH   r=   rI   r   r]   r_   r   r   rC  rJ   r   r   r;  r;  
  s     Er   r;  c                   ^    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zy)Test_numliteralsnumliteralsc                 0    d}d}| j                  ||       y )N07550o755rO   rP   s      r   test_octal_1zTest_numliterals.test_octal_1
  s    

1ar   c                 0    d}d}| j                  ||       y )Nza = 12La = 12rO   rP   s      r   test_long_int_1z Test_numliterals.test_long_int_1
      

1ar   c                 0    d}d}| j                  ||       y )Nza = 12lrL  rO   rP   s      r   test_long_int_2z Test_numliterals.test_long_int_2
  rN  r   c                 0    d}d}| j                  ||       y )Nz	b = 0x12lzb = 0x12rO   rP   s      r   test_long_hexzTest_numliterals.test_long_hex
  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzb =   0x12Lz
b =   0x12zb = 0755 # spamzb = 0o755 # spamrO   rP   s      r   test_comments_and_spacingz*Test_numliterals.test_comments_and_spacing
  s2    

1a!"

1ar   c                 *    d}| j                  |       y )N5r1   r   s     r   test_unchanged_intz#Test_numliterals.test_unchanged_int
  s    qr   c                 *    d}| j                  |       y )Nz5.0r1   r   s     r   test_unchanged_floatz%Test_numliterals.test_unchanged_float
  s    qr   c                 *    d}| j                  |       y )NrI  r1   r   s     r   test_unchanged_octalz%Test_numliterals.test_unchanged_octal
      qr   c                 *    d}| j                  |       y )N0xABCr1   r   s     r   test_unchanged_hexz#Test_numliterals.test_unchanged_hex
  r\  r   c                 *    d}| j                  |       y )Nz5.0e10r1   r   s     r   test_unchanged_expz#Test_numliterals.test_unchanged_exp
      qr   c                 *    d}| j                  |       y )Nz5 + 4jr1   r   s     r   test_unchanged_complex_intz+Test_numliterals.test_unchanged_complex_int
  rb  r   c                 *    d}| j                  |       y )Nz
5.4 + 4.9jr1   r   s     r   test_unchanged_complex_floatz-Test_numliterals.test_unchanged_complex_float
  r  r   c                 P    d}| j                  |       d}| j                  |       y )N4jz4.4jr1   r   s     r   test_unchanged_complex_barez,Test_numliterals.test_unchanged_complex_bare
  s$    qqr   N)rH   r=   rI   r   rJ  rM  rP  rR  rT  rW  rY  r[  r_  ra  rd  rf  ri  rJ   r   r   rE  rE  
  sH    E



r   rE  c                   0    e Zd ZdZddiZd Zd Zd Zd Zy)	Test_renamesrenamessys)maxintmaxsizec                     t        | j                  j                               D ]@  \  }\  }}d|d|}d|d|}| j                  ||       d|z  }| j	                  |       B y )Nr  r  r  )listrI  rJ  r(   r.   )r   modrL  rM  rQ   rR   r   s          r   rP  zTest_renames.test_import_from
  sc    #DLL$6$6$89 	OC#s'*C0A'*C0AJJq!$s*ANN1	r   c                     t        | j                  j                               D ],  \  }\  }}d|d|d}d|d|d}| j                  ||       . y )Nr  r  r  rq  rI  rJ  r(   r   rr  rL  rM  rQ   rR   s         r   rT  z Test_renames.test_import_from_as  sM    #DLL$6$6$89 	OC#s25s;A25s;AJJq!	r   c           
          t        | j                  j                               D ]8  \  }\  }}d|d|d|d|d	}d|d|d|d|d	}| j                  ||       : y )NrY  rZ  r9   r  )
                rt  ru  s         r   r\  z%Test_renames.test_import_module_usage  s_    #DLL$6$6$89 		OC#s Cc+A Cc+A JJq!		r   c           
          t        | j                  j                               D ]8  \  }\  }}d|d|d|d|d	}d|d|d|d|d	}| j                  ||       : y )Nr[  r  rZ  r9   rw  rt  ru  s         r   XXX_test_from_import_usagez'Test_renames.XXX_test_from_import_usage  s_    #DLL$6$6$89 		OC#s Cc+A Cc+A JJq!		r   N)	rH   r=   rI   r   rI  rP  rT  r\  ry  rJ   r   r   rk  rk  
  s(    E, G
r   rk  c                   L    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)Test_unicodeunicodec                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzunicode( x)zstr( x)z unicode(x )z str(x )z u'h'z 'h'rO   rP   s      r   test_whitespacezTest_unicode.test_whitespace'  sJ    

1a

1a

1ar   c                 0    d}d}| j                  ||       y )Nzunicode(x, y, z)zstr(x, y, z)rO   rP   s      r   test_unicode_callzTest_unicode.test_unicode_call4  r  r   c                 0    d}d}| j                  ||       y )Nzunichr(u'h')zchr('h')rO   rP   s      r   test_unichrzTest_unicode.test_unichr9  s    

1ar   c                 0    d}d}| j                  ||       y )Nzu"x"z"x"rO   rP   s      r   test_unicode_literal_1z#Test_unicode.test_unicode_literal_1>  s    

1ar   c                 0    d}d}| j                  ||       y )Nzur'x'zr'x'rO   rP   s      r   test_unicode_literal_2z#Test_unicode.test_unicode_literal_2C  s    

1ar   c                 0    d}d}| j                  ||       y )Nz
UR'''x''' z	R'''x''' rO   rP   s      r   test_unicode_literal_3z#Test_unicode.test_unicode_literal_3H  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )N'\\\u20ac\U0001d121\\u20ac'z'\\\\u20ac\\U0001d121\\u20ac'r'\\\u20ac\U0001d121\\u20ac'rO   rP   s      r   test_native_literal_escape_uz)Test_unicode.test_native_literal_escape_uM  s2    .0

1a//

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzb'\\\u20ac\U0001d121\\u20ac'zbr'\\\u20ac\U0001d121\\u20ac'rO   rP   s      r   test_bytes_literal_escape_uz(Test_unicode.test_bytes_literal_escape_uV  s2    //

1a00

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzu'\\\u20ac\U0001d121\\u20ac'r  zur'\\\u20ac\U0001d121\\u20ac'r  rO   rP   s      r   test_unicode_literal_escape_uz*Test_unicode.test_unicode_literal_escape_u_  s2    /.

1a0/

1ar   c                 x    d}|dz   }|dz   }| j                  ||       |dz   }|dz   }| j                  ||       y )Nz(from __future__ import unicode_literals
r  r  rO   )r   frQ   rR   s       r   $test_native_unicode_literal_escape_uz1Test_unicode.test_native_unicode_literal_escape_uh  sO    72222

1a3333

1ar   N)rH   r=   rI   r   r~  r  r  r  r  r  r  r  r  r  rJ   r   r   r{  r{  $  s9    E




r   r{  c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)Test_filterfilterc                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nz#x =   filter(    foo,     'abc'   )z)x =   list(filter(    foo,     'abc'   ))zx =   filter(  None , 'abc'  )z x =   [_f for _f in 'abc' if _f]rO   rP   s      r   r   z$Test_filter.test_prefix_preservationv  s2    5;

1a02

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d	}| j                  ||       y )
Nzx = filter(None, 'abc')zx = [_f for _f in 'abc' if _f]zx = len(filter(f, 'abc'))zx = len(list(filter(f, 'abc')))z)x = filter(lambda x: x%2 == 0, range(10))z&x = [x for x in range(10) if x%2 == 0]z+x = filter(lambda (x): x%2 == 0, range(10))z5filter(lambda x: True if x > 2 else False, [1, 2, 3])z4[x for x in [1, 2, 3] if (True if x > 2 else False)]rO   rP   s      r   test_filter_basiczTest_filter.test_filter_basic  s    )0

1a+1

1a;8

1a >8

1a HF

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzx = filter(None, 'abc')[0]z!x = [_f for _f in 'abc' if _f][0]zx = len(filter(f, 'abc')[0])z"x = len(list(filter(f, 'abc'))[0])z,x = filter(lambda x: x%2 == 0, range(10))[0]z)x = [x for x in range(10) if x%2 == 0][0]z.x = filter(lambda (x): x%2 == 0, range(10))[0]rO   rP   s      r   test_filter_trailersz Test_filter.test_filter_trailers  se    ,3

1a.4

1a>;

1a A;

1ar   c                    d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d	}| j                  |       d
}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzb.join(filter(f, 'abc'))z#(a + foo(5)).join(filter(f, 'abc'))ziter(filter(f, 'abc'))zlist(filter(f, 'abc'))zlist(filter(f, 'abc'))[0]zset(filter(f, 'abc'))zset(filter(f, 'abc')).pop()ztuple(filter(f, 'abc'))zany(filter(f, 'abc'))zall(filter(f, 'abc'))zsum(filter(f, 'abc'))zsorted(filter(f, 'abc'))z"sorted(filter(f, 'abc'), key=blah)z%sorted(filter(f, 'abc'), key=blah)[0]zenumerate(filter(f, 'abc'))z$enumerate(filter(f, 'abc'), start=1)zfor i in filter(f, 'abc'): passz[x for x in filter(f, 'abc')]z(x for x in filter(f, 'abc'))r1   r   rR   s     r   test_filter_nochangez Test_filter.test_filter_nochange  sE   *q5q(q(q+q'q-q)q'q'q'q*q4q7q-q6q1q/q/qr   c                 |    d}| j                  |       d}d}| j                  ||       d}| j                  |       y )Nz:from future_builtins import spam, filter; filter(f, 'ham')z6from future_builtins import spam; x = filter(f, 'abc')z<from future_builtins import spam; x = list(filter(f, 'abc'))z/from future_builtins import *; filter(f, 'ham')r   r   s      r   test_future_builtinsz Test_filter.test_future_builtins  s<    HqHN

1a=qr   N)	rH   r=   rI   r   r   r  r  r  r  rJ   r   r   r  r  s  s!    E.$&P	r   r  c                   L     e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
d	 Z xZS )
Test_mapr  c                 X    | j                  d|z   |       t        t        |   ||       y )Nz!from future_builtins import map; )r.   r  r  r(   r   rQ   rR   r<   s      r   r(   zTest_map.check  (    :Q>Bh#Aq)r   c                 0    d}d}| j                  ||       y )Nzx =    map(   f,    'abc'   )z#x =    list(map(   f,    'abc'   ))rO   rP   s      r   r   z!Test_map.test_prefix_preservation  s    /5

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nzx = map(f, 'abc')[0]zx = list(map(f, 'abc'))[0]zx = map(None, l)[0]zx = list(l)[0]zx = map(lambda x:x, l)[0]zx = [x for x in l][0]zx = map(f, 'abc')[0][1]zx = list(map(f, 'abc'))[0][1]rO   rP   s      r   test_map_trailerszTest_map.test_map_trailers  sb    &,

1a% 

1a+'

1a)/

1ar   c                 0    d}d}| j                  ||       y )Nzx = map(f, 'abc')   #   fooz!x = list(map(f, 'abc'))   #   foorO   rP   s      r   r  zTest_map.test_trailing_comment  s    -3

1ar   c                 ,    d}| j                  |d       y )Nzx = map(None, a, b, c)z5cannot convert map(None, ...) with multiple argumentsrT  r   s     r   !test_None_with_multiple_argumentsz*Test_map.test_None_with_multiple_arguments  s    (Q !2 	3r   c                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d}| j                  ||       d
}d}| j                  ||d       y )Nzx = map(f, 'abc')zx = list(map(f, 'abc'))zx = len(map(f, 'abc', 'def'))z#x = len(list(map(f, 'abc', 'def')))zx = map(None, 'abc')zx = list('abc')z x = map(lambda x: x+1, range(4))zx = [x+1 for x in range(4)]z"x = map(lambda (x): x+1, range(4))zG
            foo()
            # foo
            map(f, x)
            zM
            foo()
            # foo
            list(map(f, x))
            zYou should use a for loop here)r(   r/   rP   s      r   test_map_basiczTest_map.test_map_basic  s    #)

1a/5

1a&!

1a2-

1a 5-

1a

 	

1a9:r   c                    d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d	}| j                  |       d
}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzb.join(map(f, 'abc'))z (a + foo(5)).join(map(f, 'abc'))ziter(map(f, 'abc'))zlist(map(f, 'abc'))zlist(map(f, 'abc'))[0]zset(map(f, 'abc'))zset(map(f, 'abc')).pop()ztuple(map(f, 'abc'))zany(map(f, 'abc'))zall(map(f, 'abc'))zsum(map(f, 'abc'))zsorted(map(f, 'abc'))zsorted(map(f, 'abc'), key=blah)z"sorted(map(f, 'abc'), key=blah)[0]zenumerate(map(f, 'abc'))z!enumerate(map(f, 'abc'), start=1)zfor i in map(f, 'abc'): passz[x for x in map(f, 'abc')]z(x for x in map(f, 'abc'))r1   r  s     r   test_map_nochangezTest_map.test_map_nochange$  sE   'q2q%q%q(q$q*q&q$q$q$q'q1q4q*q3q.q,q,qr   c                 |    d}| j                  |       d}d}| j                  ||       d}| j                  |       y )Nz:from future_builtins import spam, map, eggs; map(f, 'ham')z9from future_builtins import spam, eggs; x = map(f, 'abc')z?from future_builtins import spam, eggs; x = list(map(f, 'abc'))z,from future_builtins import *; map(f, 'ham')r   r   s      r   r  zTest_map.test_future_builtinsL  s<    HqKQ

1a:qr   )rH   r=   rI   r   r(   r   r  r  r  r  r  r  r  r  s   @r   r  r    s2    E*
"
3
 ;D&P	r   r  c                   :     e Zd ZdZ fdZd Zd Zd Zd Z xZ	S )Test_zipzipc                 X    | j                  d|z   |       t        t        |   ||       y )Nz!from future_builtins import zip; )r.   r  r  r(   r  s      r   r(   zTest_zip.checkZ  r  r   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nz	x = zip()zx = list(zip())zx = zip(a, b, c)zx = list(zip(a, b, c))zx = len(zip(a, b))zx = len(list(zip(a, b)))rO   rP   s      r   test_zip_basiczTest_zip.test_zip_basic^  sJ    !

1a"(

1a$*

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzx = zip(a, b, c)[0]zx = list(zip(a, b, c))[0]zx = zip(a, b, c)[0][1]zx = list(zip(a, b, c))[0][1]rO   rP   s      r   test_zip_trailerszTest_zip.test_zip_trailersk  s2    %+

1a(.

1ar   c                    d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d	}| j                  |       d
}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzb.join(zip(a, b))z(a + foo(5)).join(zip(a, b))ziter(zip(a, b))zlist(zip(a, b))zlist(zip(a, b))[0]zset(zip(a, b))zset(zip(a, b)).pop()ztuple(zip(a, b))zany(zip(a, b))zall(zip(a, b))zsum(zip(a, b))zsorted(zip(a, b))zsorted(zip(a, b), key=blah)zsorted(zip(a, b), key=blah)[0]zenumerate(zip(a, b))zenumerate(zip(a, b), start=1)zfor i in zip(a, b): passz[x for x in zip(a, b)]z(x for x in zip(a, b))r1   r  s     r   test_zip_nochangezTest_zip.test_zip_nochanget  sE   #q.q!q!q$q q&q"q q q q#q-q0q&q/q*q(q(qr   c                 |    d}| j                  |       d}d}| j                  ||       d}| j                  |       y )Nz6from future_builtins import spam, zip, eggs; zip(a, b)z5from future_builtins import spam, eggs; x = zip(a, b)z;from future_builtins import spam, eggs; x = list(zip(a, b))z(from future_builtins import *; zip(a, b)r   r   s      r   r  zTest_zip.test_future_builtins  s<    DqGM

1a6qr   )
rH   r=   rI   r   r(   r  r  r  r  r  r  s   @r   r  r  W  s"    E*&P	r   r  c                       e Zd ZdZd Zy)Test_standarderrorstandarderrorc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzx =    StandardError()zx =    Exception()zx = StandardError(a, b, c)zx = Exception(a, b, c)zf(2 + StandardError(a, b, c))zf(2 + Exception(a, b, c))rO   rP   s      r   r   zTest_standarderror.test  sJ    ($

1a,(

1a/+

1ar   N)rH   r=   rI   r   r   rJ   r   r   r  r    s    Er   r  c                       e Zd ZdZd Zy)
Test_typestypesc                 8   d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d}| j                  ||       d
}d}| j                  ||       d}d}| j                  ||       y )Nztypes.StringTypebytesztypes.DictTyper  ztypes . IntTypeintztypes.ListTyperq  ztypes.LongTypeztypes.NoneTypez
type(None)ztypes.StringTypesz(str,)rO   rP   s      r   test_basic_types_convertz#Test_types.test_basic_types_convert  s    "

1a 

1a!

1a 

1a 

1a 

1a

1ar   N)rH   r=   rI   r   r  rJ   r   r   r  r    s    Er   r  c                   |    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)Test_idiomsidiomsc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzwhile 1: foo()zwhile True: foo()zwhile   1: foo()zwhile   True: foo()z8
            while 1:
                foo()
            z;
            while True:
                foo()
            rO   rP   s      r   
test_whilezTest_idioms.test_while  sP     #

1a"%

1a 	

1ar   c                     d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzwhile 11: foo()zwhile 0: foo()zwhile foo(): foo()zwhile []: foo()r1   r   s     r   test_while_unchangedz Test_idioms.test_while_unchanged  sF    !q q$q!qr   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x) == Tisinstance(x, T)zif   type(x) == T: passif   isinstance(x, T): passrO   rP   s      r   test_eq_simplezTest_idioms.test_eq_simple  2    "

1a)-

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzT == type(x)r  zif   T == type(x): passr  rO   rP   s      r   test_eq_reversezTest_idioms.test_eq_reverse  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x+y) == d.get('T')isinstance(x+y, d.get('T'))ztype(   x  +  y) == d.get('T')isinstance(x  +  y, d.get('T'))rO   rP   s      r   test_eq_expressionzTest_idioms.test_eq_expression  2    )-

1a01

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x) is Tr  zif   type(x) is T: passr  rO   rP   s      r   test_is_simplezTest_idioms.test_is_simple  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzT is type(x)r  zif   T is type(x): passr  rO   rP   s      r   test_is_reversezTest_idioms.test_is_reverse  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x+y) is d.get('T')r  ztype(   x  +  y) is d.get('T')r  rO   rP   s      r   test_is_expressionzTest_idioms.test_is_expression'  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x) is not Tnot isinstance(x, T)zif   type(x) is not T: passif   not isinstance(x, T): passrO   rP   s      r   test_is_not_simplezTest_idioms.test_is_not_simple0  2    "&

1a-1

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzT is not type(x)r  zif   T is not type(x): passr  rO   rP   s      r   test_is_not_reversezTest_idioms.test_is_not_reverse9  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x+y) is not d.get('T')not isinstance(x+y, d.get('T'))z"type(   x  +  y) is not d.get('T')#not isinstance(x  +  y, d.get('T'))rO   rP   s      r   test_is_not_expressionz"Test_idioms.test_is_not_expressionB  s2    -1

1a45

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x) != Tr  zif   type(x) != T: passr  rO   rP   s      r   test_ne_simplezTest_idioms.test_ne_simpleK  2    &

1a)1

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzT != type(x)r  zif   T != type(x): passr  rO   rP   s      r   test_ne_reversezTest_idioms.test_ne_reverseT  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nztype(x+y) != d.get('T')r  ztype(   x  +  y) != d.get('T')r  rO   rP   s      r   test_ne_expressionzTest_idioms.test_ne_expression]  s2    )1

1a05

1ar   c                 *    d}| j                  |       y )Nztype(x).__name__r1   r  s     r   test_type_unchangedzTest_idioms.test_type_unchangedf  r   r   c                 d   d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )NzM
            v = list(t)
            v.sort()
            foo(v)
            :
            v = sorted(t)
            foo(v)
            zV
            v = list(foo(b) + d)
            v.sort()
            foo(v)
            C
            v = sorted(foo(b) + d)
            foo(v)
            zn
            while x:
                v = list(t)
                v.sort()
                foo(v)
            W
            while x:
                v = sorted(t)
                foo(v)
            z_
            v = list(t)
            # foo
            v.sort()
            foo(v)
            L
            v = sorted(t)
            # foo
            foo(v)
            zP
            v = list(   t)
            v.sort()
            foo(v)
            z=
            v = sorted(   t)
            foo(v)
            zl
            try:
                m = list(s)
                m.sort()
            except: pass
            zU
            try:
                m = sorted(s)
            except: pass
            z
            try:
                m = list(s)
                # foo
                m.sort()
            except: pass
            zk
            try:
                m = sorted(s)
                # foo
            except: pass
            zI
            m = list(s)
            # more comments
            m.sort()z6
            m = sorted(s)
            # more commentsrO   rP   s      r   test_sort_list_callzTest_idioms.test_sort_list_callj  s    
 	

1a
 	

1a
 	

1a
 	

1a
 	

1a
 	

1a 	

1a
 	

1ar   c                 8   d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )NzG
            v = t
            v.sort()
            foo(v)
            r  zL
            v = foo(b)
            v.sort()
            foo(v)
            z?
            v = sorted(foo(b))
            foo(v)
            zN
            v = b.keys()
            v.sort()
            foo(v)
            zA
            v = sorted(b.keys())
            foo(v)
            zP
            v = foo(b) + d
            v.sort()
            foo(v)
            r  zh
            while x:
                v = t
                v.sort()
                foo(v)
            r  zY
            v = t
            # foo
            v.sort()
            foo(v)
            r  zI
            v =   t
            v.sort()
            foo(v)
            z<
            v =   sorted(t)
            foo(v)
            rO   rP   s      r   test_sort_simple_exprz!Test_idioms.test_sort_simple_expr  s    
 	

1a
 	

1a
 	

1a
 	

1a
 	

1a
 	

1a
 	

1ar   c                 P    d}| j                  |       d}| j                  |       y )NzM
            v = list(t)
            w.sort()
            foo(w)
            zN
            v = list(t)
            v.sort(u)
            foo(v)
            r1   r   s     r   test_sort_unchangedzTest_idioms.test_sort_unchanged   s,    
 	q
 	qr   N)rH   r=   rI   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   r   r   r  r    se    E&bHPdr   r  c                       e Zd ZdZd Zy)Test_basestring
basestringc                 0    d}d}| j                  ||       y )Nzisinstance(x, basestring)zisinstance(x, str)rO   rP   s      r   test_basestringzTest_basestring.test_basestring2  s    +$

1ar   N)rH   r=   rI   r   r  rJ   r   r   r  r  /  s    Er   r  c                       e Zd ZdZd Zd Zy)Test_bufferbufferc                 0    d}d}| j                  ||       y )Nzx = buffer(y)zx = memoryview(y)rO   rP   s      r   test_bufferzTest_buffer.test_buffer:  r  r   c                 0    d}d}| j                  ||       y )Nzbuffer(y)[4:5]zmemoryview(y)[4:5]rO   rP   s      r   test_slicingzTest_buffer.test_slicing?  r5  r   N)rH   r=   rI   r   r  r	  rJ   r   r   r  r  7  s    E
r   r  c                       e Zd ZdZd Zd Zy)Test_futurefuturec                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzfrom __future__ import bracesr*   z'# comment
from __future__ import bracesz
# comment
z'from __future__ import braces
# commentz

# commentrO   rP   s      r   test_futurezTest_future.test_futureG  sJ    /

1a:

1a:

1ar   c                 &    | j                  d       y )Nr   rG   r  s    r   test_run_orderzTest_future.test_run_orderT  s    w'r   N)rH   r=   rI   r   r  r  rJ   r   r   r  r  D  s    E(r   r  c                   @    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)Test_itertools	itertoolsc                 d    dD ]+  }dD ]$  }||dz   |z   z  }||z  }| j                  ||       & - y )N)z
itertools.r*   )r  r  r  irO   )r   r    r!   r  r  rQ   rR   s          r   checkallzTest_itertools.checkallZ  sK     $ 	!A- !QsU1W%AJ

1a !	!r   c                 0    d}d}| j                  ||       y )Nzitertools.izip(a, b)z	zip(a, b)rO   rP   s      r   test_0zTest_itertools.test_0d  s     #

1ar   c                 0    d}d}| j                  ||       y )Nz%s(f, a)r  rP   s      r   r]   zTest_itertools.test_1k  s    ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzitertools.ifilterfalse(a, b)zitertools.filterfalse(a, b)zitertools.izip_longest(a, b)zitertools.zip_longest(a, b)rO   rP   s      r   test_qualifiedzTest_itertools.test_qualifiedp  s2    .-

1a.-

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzifilterfalse(a, b)zfilterfalse(a, b)zizip_longest(a, b)zzip_longest(a, b)rO   rP   s      r   r_   zTest_itertools.test_2y  s2    $#

1a$#

1ar   c                 0    d}d}| j                  ||       y )Nz    %s(f, a)r  rP   s      r   r   zTest_itertools.test_space_1  s    ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nz     itertools.ifilterfalse(a, b)z    itertools.filterfalse(a, b)z     itertools.izip_longest(a, b)z    itertools.zip_longest(a, b)rO   rP   s      r   r   zTest_itertools.test_space_2  s2    21

1a21

1ar   c                 *    | j                  ddd       y )Nr  r  r  r  r  s    r   r  zTest_itertools.test_run_order  s    ueX6r   N)rH   r=   rI   r   r  r  r]   r  r_   r   r   r  rJ   r   r   r  r  W  s/    E!

7r   r  c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
Test_itertools_importsitertools_importsc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nz%from itertools import imap, izip, foofrom itertools import fooz*from itertools import bar, imap, izip, foozfrom itertools import bar, fooz'from itertools import chain, imap, izipzfrom itertools import chainrO   rP   s      r   test_reducedz#Test_itertools_imports.test_reduced  sJ    3'

1a8,

1a5)

1ar   c                 0    d}d}| j                  ||       y )Nz%#foo
from itertools import imap, izipz#foo
rO   rP   s      r   test_commentsz$Test_itertools_imports.test_comments  s    4

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nz from itertools import imap, izipr*   zfrom itertools import iziprO   rP   s      r   	test_nonez Test_itertools_imports.test_none  s2    .

1a(

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}| j                  |       y )Nz-from itertools import izip, bar as bang, imapz!from itertools import bar as bangz-from itertools import izip as _zip, imap, barzfrom itertools import barz"from itertools import imap as _mapr*   z0from itertools import imap as _map, izip as _zip)r(   r.   )r   rQ   rR   r   s       r   test_import_asz%Test_itertools_imports.test_import_as  ss    ;/

1a;'

1a0

1a>

1a/qr   c                     dD ]Z  }d|}d|}| j                  ||       d|d}d|d}| j                  ||       d|d}d|d}| j                  ||       \ y )N)filterfalsezip_longestzfrom itertools import izfrom itertools import zfrom itertools import imap, iz, foozfrom itertools import bar, izfrom itertools import bar, rO   )r   r,  rQ   rR   s       r   test_ifilter_and_zip_longestz3Test_itertools_imports.test_ifilter_and_zip_longest  sk    0 	D/35A.24AJJq!:>@A379AJJq!9=?A8<>AJJq!	r   c                 *    d}| j                  |       y )Nzfrom itertools import *r1   r   s     r   test_import_starz'Test_itertools_imports.test_import_star      %qr   c                 *    d}| j                  |       y )Nr&  r1   r   s     r   r   z%Test_itertools_imports.test_unchanged  s    'qr   N)rH   r=   rI   r   r'  r)  r+  r-  r1  r3  r   rJ   r   r   r#  r#    s*    E
(
r   r#  c                        e Zd ZdZ fdZd Z fdZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )Test_importrx  c                      t         t                   g  _        t	                _        d _         fd}ddlm} ||_	        y )NTc                 r    j                   j                  |        j                  xs | j                  v S r   )files_checkedr  always_existspresent_files)r,  r   s    r   fake_existsz&Test_import.setUp.<locals>.fake_exists  s3    %%d+%%E$$2D2D*DEr   r   
fix_import)
r  r7  r   r:  setr<  r;  lib2to3.fixesr?  exists)r   r=  r?  r<   s   `  r   r   zTest_import.setUp  s?    k4&(   U!	F 	-'
r   c                 N    ddl m} t        j                  j                  |_        y )Nr   r>  )rA  r?  ospathrB  )r   r?  s     r   tearDownzTest_import.tearDown  s    ,GGNN
r   c                 p    d| _         t        t        |   ||       d| _         t        t        |   |       y )NTF)r;  r  r7  r(   r.   r  s      r   
check_bothzTest_import.check_both  s3    !k4&q!,"k4*1-r   c                    d }d| _         t        dg      | _        dt        j                  j
                  ddddf} |d	      d
 |d      f}|D ]  g | _        | _        | j                  d       t        j                  j                        r#t        j                  j                        dz   ndt        fd|D              }|j                  d       | j                  t        | j                        |        y )Nc                 r    t         j                  j                  j                  | j	                  d            S )N/)rD  rE  pathsepr,   split)rE  s    r   pz)Test_import.test_files_checked.<locals>.p  s#    77??''

388r   F__init__.pyz.pyz.pycz.soz.slz.pydz/spam/eggs.pyzni.pyz../../shrubbery.pyz
import jamz/jamjamc              3   (   K   | ]	  }|z     y wr   rJ   ).0extr,  s     r   	<genexpr>z1Test_import.test_files_checked.<locals>.<genexpr>  s     !L$*!Ls   )r;  r@  r<  rD  rE  sepr:  r   r.   dirnameaddr   )r   rN  expected_extensionsnames_to_testexpected_checksr,  s        @r   test_files_checkedzTest_import.test_files_checked  s    	9 # -1$bggkk65%P?+Wa8L6MN! 	GD!#D DMNN<(wwt$wwt,v5!!L8K!LLO.S!3!34oF	Gr   c                 Z    d}d| _         t        dg      | _        | j                  |       y )N
import barFbar.pyr;  r@  r<  r.   r   s     r   test_not_in_packagezTest_import.test_not_in_package  s)    " (_qr   c                 \    d}d| _         t        ddg      | _        | j                  |       y )Nz1from __future__ import absolute_import
import barFrO  r^  r_  r   s     r   !test_with_absolute_import_enabledz-Test_import.test_with_absolute_import_enabled  s-    @" -!:;qr   c                 b    d}d}d| _         t        ddg      | _        | j                  ||       y )Nr]  from . import barFrO  r^  )r;  r@  r<  r(   rP   s      r   test_in_packagezTest_import.test_in_package  s4    " -!:;

1ar   c                     d}d}d| _         t        ddt        j                  j                  z   g      | _        | j                  ||       y )Nr]  rd  FrO  bar)r;  r@  rD  rE  rU  r<  r(   rP   s      r   test_import_from_packagez$Test_import.test_import_from_package$  sA    " -1D!EF

1ar   c                 *    d}| j                  |       y )Nrd  r1   r   s     r   test_already_relative_importz(Test_import.test_already_relative_import+  s    qr   c                 0    d}d}| j                  ||       y )Nzimport bar # Foozfrom . import bar # FoorO   rP   s      r   test_comments_and_indentz$Test_import.test_comments_and_indent/  s    %

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzfrom foo import bar, bazzfrom .foo import bar, bazzfrom foo import barzfrom .foo import barzfrom foo import (bar, baz)zfrom .foo import (bar, baz)rH  rP   s      r   	test_fromzTest_import.test_from4  sJ    &'1!"1()1r   c                 0    d}d}| j                  ||       y )Nzfrom green.eggs import hamzfrom .green.eggs import hamrn  rP   s      r   test_dotted_fromzTest_import.test_dotted_fromA  s    ()1r   c                 0    d}d}| j                  ||       y )Nz"from green.eggs import ham as spamz#from .green.eggs import ham as spamrn  rP   s      r   test_from_aszTest_import.test_from_asF  s    011r   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nz
import foozfrom . import fooimport foo, barzfrom . import foo, barzimport foo, bar, xzfrom . import foo, bar, xzimport x, y, zzfrom . import x, y, zrn  rP   s      r   test_importzTest_import.test_importK  sb    1$1 '1#1r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzimport foo as xzfrom . import foo as xzimport a as b, b as c, c as dz$from . import a as b, b as c, c as drn  rP   s      r   r-  zTest_import.test_import_as\  s2    $1+21r   c                 ^    d| _         t        ddg      | _        d}| j                  |d       y )NFzfoo.pyrO  ru  z#absolute and local imports together)r;  r@  r<  r3   r   s     r   test_local_and_absolutez#Test_import.test_local_and_absolutee  s2    " (M!:;Q EFr   c                 0    d}d}| j                  ||       y )Nzimport foo.barzfrom . import foo.barrn  rP   s      r   test_dotted_importzTest_import.test_dotted_importl  s    #1r   c                 0    d}d}| j                  ||       y )Nzimport foo.bar as bangzfrom . import foo.bar as bangrn  rP   s      r   test_dotted_import_asz!Test_import.test_dotted_import_asq  s    $+1r   c                 0    d}d}| j                  ||       y )Nz1
        # prefix
        import foo.bar
        z8
        # prefix
        from . import foo.bar
        rn  rP   s      r   test_prefixzTest_import.test_prefixv  s      	1r   )rH   r=   rI   r   r   rF  rH  r[  r`  rb  re  rh  rj  rl  ro  rq  rs  rv  r-  ry  r{  r}  r  r  r  s   @r   r7  r7    si    E(+.G0


"G

	r   r7  c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)Test_set_literalset_literalc                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}| j                  ||       d}d}| j                  ||       d	}| j                  ||       d
}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzset([1, 2, 3])z	{1, 2, 3}zset((1, 2, 3))z	set((1,)){1}zset([1])zset((a, b))z{a, b}zset([a, b])zset((a*234, f(args=23)))z{a*234, f(args=23)}zset([a*23, f(23)])z{a*23, f(23)}zset([a-234**23])z{a-234**23}rO   rP   s      r   rS   zTest_set_literal.test_basic  s     

1a 

1a

1a

1a

1a

1a*%

1a$

1a"

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nzset([x for x in y])z{x for x in y}zset([x for x in y if x == m])z{x for x in y if x == m}zset([x for x in y for a in b])z{x for x in y for a in b}zset([f(x) - 23 for x in y])z{f(x) - 23 for x in y}rO   rP   s      r   test_listcompszTest_set_literal.test_listcomps  sb    % 

1a/*

1a0+

1a-(

1ar   c                 8   d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzset( [1, 2])z{1, 2}zset([1 ,  2])z{1 ,  2}z
set([ 1 ])z{ 1 }z
set( [1] )r  zset([  1,  2  ])z{  1,  2  }zset([x  for x in y ])z{x  for x in y }z<set(
                   [1, 2]
               )
            z{1, 2}
rO   rP   s      r   r~  z Test_set_literal.test_whitespace  s    

1a

1a

1a

1a"

1a'"

1a 

1ar   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )Nzset((1, 2)) # Hiz{1, 2} # HizZ
            # Foo
            set( # Bar
               (1, 2)
            )
            z2
            # Foo
            {1, 2}
            rO   rP   s      r   r)  zTest_set_literal.test_comments  s8    "

1a 	

1ar   c                     d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       d}| j                  |       y )Nzset()zset(a)zset(a, b, c)zset(x for x in y)zset(x for x in y if z)zset(a*823-23**2 + f(23))r1   r   s     r   r   zTest_set_literal.test_unchanged  sj    qqq $q(q*qr   N)	rH   r=   rI   r   rS   r  r~  r)  r   rJ   r   r   r  r    s"    E!F"@$r   r  c                   4    e Zd ZdZd Zd Zd Zd Zd Zd Z	y)	Test_sys_excsys_excc                 0    d}d}| j                  ||       y )Nzsys.exc_typezsys.exc_info()[0]rO   rP   s      r   r  zTest_sys_exc.test_0  s    

1ar   c                 0    d}d}| j                  ||       y )Nzsys.exc_valuezsys.exc_info()[1]rO   rP   s      r   r]   zTest_sys_exc.test_1	  s    

1ar   c                 0    d}d}| j                  ||       y )Nzsys.exc_tracebackzsys.exc_info()[2]rO   rP   s      r   r_   zTest_sys_exc.test_2  s    

1ar   c                 0    d}d}| j                  ||       y )Nzsys.exc_type # Foozsys.exc_info()[0] # FoorO   rP   s      r   rb   zTest_sys_exc.test_3  s     %

1ar   c                 0    d}d}| j                  ||       y )Nzsys.  exc_typezsys.  exc_info()[0]rO   rP   s      r   rd   zTest_sys_exc.test_4      !

1ar   c                 0    d}d}| j                  ||       y )Nzsys  .exc_typezsys  .exc_info()[0]rO   rP   s      r   rf   zTest_sys_exc.test_5  r  r   N)
rH   r=   rI   r   r  r]   r_   rb   rd   rf   rJ   r   r   r  r    s%    E




r   r  c                   X    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zy)
Test_parenparenc                 0    d}d}| j                  ||       y )Nz[i for i in 1, 2 ]z[i for i in (1, 2) ]rO   rP   s      r   r  zTest_paren.test_0&  s    $&

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i in 1, 2, ]z[i for i in (1, 2,) ]rO   rP   s      r   r]   zTest_paren.test_1+  s    %'

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i  in     1, 2 ]z[i for i  in     (1, 2) ]rO   rP   s      r   r_   zTest_paren.test_20  s    )+

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i in 1, 2 if i]z[i for i in (1, 2) if i]rO   rP   s      r   rb   zTest_paren.test_35  s    (*

1ar   c                 0    d}d}| j                  ||       y )Nz[i for i in 1,    2    ]z[i for i in (1,    2)    ]rO   rP   s      r   rd   zTest_paren.test_4:  s    *,

1ar   c                 0    d}d}| j                  ||       y )Nz(i for i in 1, 2)(i for i in (1, 2))rO   rP   s      r   rf   zTest_paren.test_5?  s    #%

1ar   c                 0    d}d}| j                  ||       y )Nz(i for i in 1   ,2   if i)z(i for i in (1   ,2)   if i)rO   rP   s      r   ri   zTest_paren.test_6D  s    ,.

1ar   c                 *    d}| j                  |       y )Nz[i for i in (1, 2)]r1   r   s     r   test_unchanged_0zTest_paren.test_unchanged_0I  r4  r   c                 *    d}| j                  |       y )Nz[i for i in foo()]r1   r   s     r   r   zTest_paren.test_unchanged_1M  r{  r   c                 *    d}| j                  |       y )Nz[i for i in (1, 2) if nothing]r1   r   s     r   r   zTest_paren.test_unchanged_2Q  r   r   c                 *    d}| j                  |       y )Nr  r1   r   s     r   r   zTest_paren.test_unchanged_3U  r4  r   c                 *    d}| j                  |       y )Nz[i for i in m]r1   r   s     r   r   zTest_paren.test_unchanged_4Y  r	  r   N)rH   r=   rI   r   r  r]   r_   rb   rd   rf   ri   r  r   r   r   r   rJ   r   r   r  r  #  sC    E






r   r  c                   "    e Zd ZdZd Zd Zd Zy)Test_metaclass	metaclassc                 >   | j                  d       | j                  d       | j                  d       | j                  d       | j                  d       | j                  d       | j                  d       d}| j                  |       d	}| j                  |       y )
Nzclass X(): passzclass X(object): passzclass X(object1, object2): passz(class X(object1, object2, object3): passzclass X(metaclass=Meta): passz'class X(b, arg=23, metclass=Meta): passz2class X(b, arg=23, metaclass=Meta, other=42): passzD
        class X:
            def __metaclass__(self): pass
        z1
        class X:
            a[23] = 74
        r1   r   s     r   r   zTest_metaclass.test_unchangeda  s    ()./89AB67@AKL 	q 	qr   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzQ
        class X:
            # hi
            __metaclass__ = AppleMeta
        zQ
        class X(metaclass=AppleMeta):
            # hi
            pass
        zR
        class X:
            __metaclass__ = Meta
            # Bedtime!
        zR
        class X(metaclass=Meta):
            pass
            # Bedtime!
        rO   rP   s      r   r)  zTest_metaclass.test_commentsv  s>    

 	

1a

 	

1ar   c                    d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d}| j                  ||       d
}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )NzK
        class X():
            __metaclass__ = Q
            pass
        z8
        class X(metaclass=Q):
            pass
        z"class X(object): __metaclass__ = Qz"class X(object, metaclass=Q): passzW
        class X(object):
            __metaclass__ = Meta
            bar = 7
        zF
        class X(object, metaclass=Meta):
            bar = 7
        zJ
        class X:
            __metaclass__ = Meta; x = 4; g = 23
        zD
        class X(metaclass=Meta):
            x = 4; g = 23
        zW
        class X(object):
            bar = 7
            __metaclass__ = Meta
        zl
        class X():
            __metaclass__ = A
            __metaclass__ = B
            bar = 7
        z;
        class X(metaclass=B):
            bar = 7
        z[
        class X(clsA, clsB):
            __metaclass__ = Meta
            bar = 7
        zJ
        class X(clsA, clsB, metaclass=Meta):
            bar = 7
        z(class m(a, arg=23): __metaclass__ = Metaz(class m(a, arg=23, metaclass=Meta): passzN
        class X(expression(2 + 4)):
            __metaclass__ = Meta
        zN
        class X(expression(2 + 4), metaclass=Meta):
            pass
        zT
        class X(expression(2 + 4), x**4):
            __metaclass__ = Meta
        zT
        class X(expression(2 + 4), x**4, metaclass=Meta):
            pass
        zT
        class X:
            __metaclass__ = Meta
            save.py = 23
        zC
        class X(metaclass=Meta):
            save.py = 23
        rO   rP   s      r   	test_metazTest_metaclass.test_meta  sD   
 	

1a 54

1a
 	

1a 	

1a
 	

1a 	

1a
 	

1a ;:

1a 	

1a 	

1a
 	

1ar   N)rH   r=   rI   r   r   r)  r  rJ   r   r   r  r  ]  s    E*2pr   r  c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)Test_getcwdugetcwduc                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )	Nz
os.getcwduz	os.getcwdzos.getcwdu()os.getcwd()zmeth = os.getcwduzmeth = os.getcwdzos.getcwdu(args)zos.getcwd(args)rO   rP   s      r   rS   zTest_getcwdu.test_basic  sb    

1a

1a#"

1a"!

1ar   c                 0    d}d}| j                  ||       y )Nzos.getcwdu() # Foozos.getcwd() # FoorO   rP   s      r   r   zTest_getcwdu.test_comment  r  r   c                 v    d}| j                  |       d}| j                  |       d}| j                  |       y )Nr  z	getcwdu()zos.getcwdb()r1   r   s     r   r   zTest_getcwdu.test_unchanged  s5    qqqr   c                 0    d}d}| j                  ||       y )Nz<
            if 1:
                os.getcwdu()
            z;
            if 1:
                os.getcwd()
            rO   rP   s      r   test_indentationzTest_getcwdu.test_indentation&  rf  r   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzos .getcwdu()zos .getcwd()zos.  getcwduzos.  getcwdzos.getcwdu (  )zos.getcwd (  )rO   rP   s      r   test_multilationzTest_getcwdu.test_multilation1  sJ    

1a

1a! 

1ar   N)	rH   r=   rI   r   rS   r   r   r  r  rJ   r   r   r  r    s     E"
	r   r  c                   d    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zy)Test_operatoroperatorc                 0    d}d}| j                  ||       y )Nzoperator.isCallable(x)zcallable(x)rO   rP   s      r   test_operator_isCallablez&Test_operator.test_operator_isCallableC  s    $

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzoperator.sequenceIncludes(x, y)zoperator.contains(x, y)z operator .sequenceIncludes(x, y)zoperator .contains(x, y)z!operator.  sequenceIncludes(x, y)zoperator.  contains(x, y)rO   rP   s      r   test_operator_sequenceIncludesz,Test_operator.test_operator_sequenceIncludesH  sJ    -%

1a.&

1a/'

1ar   c                 0    d}d}| j                  ||       y )Nzoperator.isSequenceType(x)z>import collections.abc
isinstance(x, collections.abc.Sequence)rO   rP   s      r   test_operator_isSequenceTypez*Test_operator.test_operator_isSequenceTypeU  s    (M

1ar   c                 0    d}d}| j                  ||       y )Nzoperator.isMappingType(x)z=import collections.abc
isinstance(x, collections.abc.Mapping)rO   rP   s      r   test_operator_isMappingTypez)Test_operator.test_operator_isMappingTypeZ  s    'L

1ar   c                 0    d}d}| j                  ||       y )Nzoperator.isNumberType(x)z,import numbers
isinstance(x, numbers.Number)rO   rP   s      r   test_operator_isNumberTypez(Test_operator.test_operator_isNumberType_  s    &;

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzoperator.repeat(x, n)zoperator.mul(x, n)zoperator .repeat(x, n)zoperator .mul(x, n)zoperator.  repeat(x, n)zoperator.  mul(x, n)rO   rP   s      r   test_operator_repeatz"Test_operator.test_operator_repeatd  sJ    # 

1a$!

1a%"

1ar   c                     d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzoperator.irepeat(x, n)zoperator.imul(x, n)zoperator .irepeat(x, n)zoperator .imul(x, n)zoperator.  irepeat(x, n)zoperator.  imul(x, n)rO   rP   s      r   test_operator_irepeatz#Test_operator.test_operator_irepeatq  sJ    $!

1a%"

1a&#

1ar   c                 0    d}d}| j                  ||       y )NzisCallable(x)z"You should use 'callable(x)' here.rT  r   r   ts      r   test_bare_isCallablez"Test_operator.test_bare_isCallable~  s    0Q"r   c                 0    d}d}| j                  ||       y )NzsequenceIncludes(x, y)z.You should use 'operator.contains(x, y)' here.rT  r  s      r   test_bare_sequenceIncludesz(Test_operator.test_bare_sequenceIncludes  s    $<Q"r   c                 0    d}d}| j                  ||       y )NzisSequenceType(z)z>You should use 'isinstance(z, collections.abc.Sequence)' here.rT  r  s      r   !test_bare_operator_isSequenceTypez/Test_operator.test_bare_operator_isSequenceType  s    LQ"r   c                 0    d}d}| j                  ||       y )NzisMappingType(x)z=You should use 'isinstance(x, collections.abc.Mapping)' here.rT  r  s      r    test_bare_operator_isMappingTypez.Test_operator.test_bare_operator_isMappingType  s    KQ"r   c                 0    d}d}| j                  ||       y )NzisNumberType(y)z4You should use 'isinstance(y, numbers.Number)' here.rT  r  s      r   test_bare_operator_isNumberTypez-Test_operator.test_bare_operator_isNumberType  s    BQ"r   c                 0    d}d}| j                  ||       y )Nzrepeat(x, n)z)You should use 'operator.mul(x, n)' here.rT  r  s      r   test_bare_operator_repeatz'Test_operator.test_bare_operator_repeat  s    7Q"r   c                 0    d}d}| j                  ||       y )Nzirepeat(y, 187)z,You should use 'operator.imul(y, 187)' here.rT  r  s      r   test_bare_operator_irepeatz(Test_operator.test_bare_operator_irepeat  s    :Q"r   N)rH   r=   rI   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   r   r   r  r  ?  sM    E



#
#
#
#
#
#
#r   r  c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
Test_exitfuncexitfuncc                 0    d}d}| j                  ||       y )NzI
            import sys
            sys.exitfunc = my_atexit
            ze
            import sys
            import atexit
            atexit.register(my_atexit)
            rO   rP   s      r   r#  zTest_exitfunc.test_simple       
 	

1ar   c                 0    d}d}| j                  ||       y )NzO
            import sys, crumbs
            sys.exitfunc = my_func
            zY
            import sys, crumbs, atexit
            atexit.register(my_func)
            rO   rP   s      r   test_names_importzTest_exitfunc.test_names_import  rf  r   c                 0    d}d}| j                  ||       y )Nzh
            import sys
            sys.exitfunc = do(d)/a()+complex(f=23, g=23)*expression
            z
            import sys
            import atexit
            atexit.register(do(d)/a()+complex(f=23, g=23)*expression)
            rO   rP   s      r   test_complex_expressionz%Test_exitfunc.test_complex_expression  r  r   c                 \    d}d}| j                  ||       d}d}| j                  ||       y )NzN
            import sys # Foo
            sys.exitfunc = f # Blah
            zj
            import sys
            import atexit # Foo
            atexit.register(f) # Blah
            zo
            import apples, sys, crumbs, larry # Pleasant comments
            sys.exitfunc = func
            zy
            import apples, sys, crumbs, larry, atexit # Pleasant comments
            atexit.register(func)
            rO   rP   s      r   r)  zTest_exitfunc.test_comments  s>    
 	

1a 	

1ar   c                 0    d}d}| j                  ||       y )Nz]
            import sys
            def f():
                sys.exitfunc = func
            zz
            import sys
            import atexit
            def f():
                atexit.register(func)
             rO   rP   s      r   test_in_a_functionz Test_exitfunc.test_in_a_function  s     
 	

1ar   c                 6    d}d}d}| j                  |||       y )Nzsys.exitfunc = fzatexit.register(f)zKCan't find sys import; Please add an atexit import at the top of your file.r2   )r   rQ   rR   msgs       r   test_no_sys_importz Test_exitfunc.test_no_sys_import  s#    "$ 

1ar   c                 *    d}| j                  |       y )Nzf(sys.exitfunc)r1   r   s     r   r   zTest_exitfunc.test_unchanged  r   r   N)rH   r=   rI   r   r#  r  r  r)  r  r  r   rJ   r   r   r  r    s*    E
	
,r   r  c                   "    e Zd ZdZd Zd Zd Zy)Test_assertsassertsc                 D    g d}|D ]  \  }}| j                  ||        y )N))zself.assert_(True)self.assertTrue(True))zself.assertEquals(2, 2)self.assertEqual(2, 2))zself.assertNotEquals(2, 3)self.assertNotEqual(2, 3))zself.assertAlmostEquals(2, 3)self.assertAlmostEqual(2, 3))z self.assertNotAlmostEquals(2, 8)self.assertNotAlmostEqual(2, 8))zself.failUnlessEqual(2, 2)r  )zself.failIfEqual(2, 3)r  )z self.failUnlessAlmostEqual(2, 3)r  )zself.failIfAlmostEqual(2, 8)r  )zself.failUnless(True)r  )zself.failUnlessRaises(foo)zself.assertRaises(foo))zself.failIf(False)zself.assertFalse(False)rO   )r   testsrQ   rR   s       r   test_deprecated_namesz"Test_asserts.test_deprecated_names  s,    
  	DAqJJq!	r   c                 8   d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       d	}d
}| j                  ||       d}d}| j                  ||       d}d}| j                  ||       y )Nzeq = self.assertEqualszeq = self.assertEqualz#self.assertEquals(2, 3, msg="fail")z"self.assertEqual(2, 3, msg="fail")z)self.assertEquals(2, 3, msg="fail") # fooz(self.assertEqual(2, 3, msg="fail") # foozself.assertEquals (2, 3)zself.assertEqual (2, 3)z  self.assertEquals (2, 3)z  self.assertEqual (2, 3)z0with self.failUnlessRaises(Explosion): explode()z,with self.assertRaises(Explosion): explode()z6with self.failUnlessRaises(Explosion) as cm: explode()z2with self.assertRaises(Explosion) as cm: explode()rO   rP   s      r   test_variantszTest_asserts.test_variants  s    $#

1a10

1a76

1a&%

1a('

1a>:

1aD@

1ar   c                 H    | j                  d       | j                  d       y )Nzself.assertEqualsOnSaturdayz!self.assertEqualsOnSaturday(3, 5)r1   r  s    r   r   zTest_asserts.test_unchanged'  s    45:;r   N)rH   r=   rI   r   r  r  r   rJ   r   r   r  r    s    E$.<r   r  )C__doc__rD  r  r   r  r   r6   r   r   test.test_lib2to3r   TestCaser	   rL   rZ   rw   r   r   r   r   r   r  r  r@  rl  r  r  r  r  r  r  r  r(  r>  rE  r^  ri  rm  r|  r  r  r  r  r;  rE  rk  r{  r  r  r  r  r  r  r  r  r  r  r#  r7  r  r  r  r  r  r  r  r  rJ   r   r   <module>r     s   ( 
   ' %7NG$$ 7Nrm 68= 8tC CJ9- 9v/- /b!- !Fg gT1 1f$ $LQ- Qf} }~{ {z+ +\#M #L4m 48d dLF7- F7P	m 	-] -^] 4(m (V_ _D="3 *>M#4 >
-}.? - o%- o%d- -^y yv} @X Xt2= 2h@} @D,= ,\L= L^f- fPz} zxN} N`   @V- Vp
m - (- (&:7] :7zG] GTa- aH|} |~= D8 8tb] bJ:= :z`#M `#FUM Up/<= /<r   