a  ze@sddlZddlmZddlmZddlmZmZddlm Z Gddde j Z Gdd d e Z Gd d d e Z Gd d d e ZGddde ZGddde ZGddde ZGddde ZGddde ZGddde ZGddde ZGddde ZGddde ZGd d!d!e ZGd"d#d#e ZGd$d%d%e ZGd&d'd'e ZGd(d)d)e ZGd*d+d+e ZGd,d-d-e ZGd.d/d/e ZGd0d1d1e Z Gd2d3d3Z!Gd4d5d5e e!Z"Gd6d7d7e e!Z#Gd8d9d9e e!Z$Gd:d;d;e Z%Gdd?d?e Z'Gd@dAdAe Z(GdBdCdCe Z)GdDdEdEe Z*GdFdGdGe Z+GdHdIdIe Z,GdJdKdKe Z-GdLdMdMe Z.GdNdOdOe Z/GdPdQdQe Z0GdRdSdSe Z1GdTdUdUe Z2GdVdWdWe Z3GdXdYdYe Z4GdZd[d[e Z5Gd\d]d]e Z6Gd^d_d_e Z7Gd`dadae Z8Gdbdcdce Z9Gdddedee Z:Gdfdgdge Z;Gdhdidie ZGdndodoe Z?Gdpdqdqe Z@Gdrdsdse ZAdS)tN)chain) itemgetter)pygram fixer_util)supportc@sLeZdZdddZddZddd Zdd d Zd d ZdddZddZ dS) FixerTestCaseNlib2to3cCsP|dur|jg}t||||_g|_d|_t|jj|jjD] }|j|_ q>dS)Nz) fixerrget_refactorerrefactor fixer_logfilenamerZ pre_orderZ post_orderlog)selfZfix_listZ fixer_pkgoptionsr rM/opt/bitninja-python-dojo/embedded/lib/python3.9/lib2to3/tests/test_fixers.pysetUpszFixerTestCase.setUpcCs8t|}t|}|j||j}||t||SN)rZreformatr Zrefactor_stringr assertEqualstr)rbeforeaftertreerrr_checks   zFixerTestCase._checkFcCs.|||}||j|s*||jgdSr)r assertTrue was_changedrr )rrrignore_warningsrrrrcheck#s  zFixerTestCase.checkcCs4|||}||d|j|s0||jdS)N)rZassertInjoinr rr)rrrmessage unchangedrrrrwarns)s zFixerTestCase.warnscCs|j|||dddS)NTr"r#)rrr!rrrwarns_unchanged/szFixerTestCase.warns_unchangedcCs"||||s||jgdSr)rrr )rrrrrrr"2s zFixerTestCase.unchangedcGs|jg}||td|}|\}}d|j}|rN|djj|rNdS|rl|djj|rl|sldS|dd dd||D|fdS)NrZfix_z5Fixer run order (%s) is incorrect; %s should be last., cSsg|] }|jjqSr) __class__ __module__).0xrrr Dz3FixerTestCase.assert_runs_after..) r extendrr Z get_fixersr)r*endswithZfailr )rnamesfixesrpreZpostnrrrassert_runs_after7s    zFixerTestCase.assert_runs_after)NrN)F)F)F) __name__r* __qualname__rrrr#r&r"r6rrrrr s    rc@s(eZdZdZddZddZddZdS) Test_nenecCsd}d}|||dS)Nzif x <> y: passzif x != y: passrrbarrr test_basicIszTest_ne.test_basiccCsd}d}|||dS)Nzif x<>y: passzif x!=y: passr;r<rrrtest_no_spacesQszTest_ne.test_no_spacescCsd}d}|||dS)Nzif x<>y<>z: passzif x!=y!=z: passr;r<rrr test_chainedYszTest_ne.test_chainedN)r7r*r8r r?r@rArrrrr9Fsr9c@sheZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZdS) Test_has_keyZhas_keycCsd}d}|||dS)Nz$x = d.has_key("x") or d.has_key("y")zx = "x" in d or "y" in dr;r<rrrtest_1dszTest_has_key.test_1cCsd}d}|||dS)Nzx = a.b.c.d.has_key("x") ** 3zx = ("x" in a.b.c.d) ** 3r;r<rrrtest_2iszTest_has_key.test_2cCsd}d}|||dS)Nz!x = a.b.has_key(1 + 2).__repr__()zx = (1 + 2 in a.b).__repr__()r;r<rrrtest_3nszTest_has_key.test_3cCsd}d}|||dS)Nz,x = a.b.has_key(1 + 2).__repr__() ** -3 ** 4z(x = (1 + 2 in a.b).__repr__() ** -3 ** 4r;r<rrrtest_4sszTest_has_key.test_4cCsd}d}|||dS)Nzx = a.has_key(f or g)zx = (f or g) in ar;r<rrrtest_5xszTest_has_key.test_5cCsd}d}|||dS)Nzx = a + b.has_key(c)zx = a + (c in b)r;r<rrrtest_6}szTest_has_key.test_6cCsd}d}|||dS)Nzx = a.has_key(lambda: 12)zx = (lambda: 12) in ar;r<rrrtest_7szTest_has_key.test_7cCsd}d}|||dS)Nzx = a.has_key(a for a in b)zx = (a for a in b) in ar;r<rrrtest_8szTest_has_key.test_8cCsd}d}|||dS)Nzif not a.has_key(b): passzif b not in a: passr;r<rrrtest_9szTest_has_key.test_9cCsd}d}|||dS)Nz$if not a.has_key(b).__repr__(): passz if not (b in a).__repr__(): passr;r<rrrtest_10szTest_has_key.test_10cCsd}d}|||dS)Nzif not a.has_key(b) ** 2: passzif not (b in a) ** 2: passr;r<rrrtest_11szTest_has_key.test_11N)r7r*r8r rCrDrErFrGrHrIrJrKrLrMrrrrrBasrBc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6S)7 Test_applyZapplycCsd}d}|||dS)Nzx = apply(f, g + h)z x = f(*g + h)r;r<rrrrCszTest_apply.test_1cCsd}d}|||dS)Nzy = apply(f, g, h)zy = f(*g, **h)r;r<rrrrDszTest_apply.test_2cCsd}d}|||dS)Nz z = apply(fs[0], g or h, h or g)zz = fs[0](*g or h, **h or g)r;r<rrrrEszTest_apply.test_3cCsd}d}|||dS)Nzapply(f, (x, y) + t)zf(*(x, y) + t)r;r<rrrrFszTest_apply.test_4cCsd}d}|||dS)Nzapply(f, args,)f(*args)r;r<rrrrGszTest_apply.test_5cCsd}d}|||dS)Nzapply(f, args, kwds,)f(*args, **kwds)r;r<rrrrHszTest_apply.test_6cCsd}d}|||dS)Nzx = apply(f+g, args)zx = (f+g)(*args)r;r<rrrtest_complex_1szTest_apply.test_complex_1cCsd}d}|||dS)Nzx = apply(f*g, args)zx = (f*g)(*args)r;r<rrrtest_complex_2szTest_apply.test_complex_2cCsd}d}|||dS)Nzx = apply(f**g, args)zx = (f**g)(*args)r;r<rrrtest_complex_3szTest_apply.test_complex_3cCsd}d}|||dS)Nzx = apply(f.g, args)zx = f.g(*args)r;r<rrrtest_dotted_nameszTest_apply.test_dotted_namecCsd}d}|||dS)Nzx = apply(f[x], args)zx = f[x](*args)r;r<rrrtest_subscriptszTest_apply.test_subscriptcCsd}d}|||dS)Nzx = apply(f(), args)zx = f()(*args)r;r<rrr test_callszTest_apply.test_callcCsd}d}|||dS)Nz"x = apply(a.b.c.d.e.f, args, kwds)zx = a.b.c.d.e.f(*args, **kwds)r;r<rrr test_extremeszTest_apply.test_extremecCsd}d}|||dS)Nz1apply( # foo f, # bar args)rOr;r<rrrtest_weird_commentsszTest_apply.test_weird_commentscCsd}||dS)Nzapply()r$rsrrrtest_unchanged_1szTest_apply.test_unchanged_1cCsd}||dS)Nzapply(f)r$rYrrrtest_unchanged_2szTest_apply.test_unchanged_2cCsd}||dS)Nz apply(f,)r$rYrrrtest_unchanged_3szTest_apply.test_unchanged_3cCsd}||dS)Nzapply(f, args, kwds, extras)r$rYrrrtest_unchanged_4szTest_apply.test_unchanged_4cCsd}||dS)Nzapply(f, *args, **kwds)r$rYrrrtest_unchanged_5szTest_apply.test_unchanged_5cCsd}||dS)Nzapply(f, *args)r$rYrrrtest_unchanged_6szTest_apply.test_unchanged_6cCsd}||dS)Nzapply(f, **kwds)r$rYrrrtest_unchanged_6bszTest_apply.test_unchanged_6bcCsd}||dS)Nz#apply(func=f, args=args, kwds=kwds)r$rYrrrtest_unchanged_7 szTest_apply.test_unchanged_7cCsd}||dS)Nzapply(f, args=args, kwds=kwds)r$rYrrrtest_unchanged_8szTest_apply.test_unchanged_8cCsd}||dS)Nzapply(f, args, kwds=kwds)r$rYrrrtest_unchanged_9szTest_apply.test_unchanged_9cCsd}d}|||dS)Nzapply( f, args, kwds)rPr;rr>r=rrr test_space_1szTest_apply.test_space_1cCsd}d}|||dS)Nzapply( f ,args,kwds )rPr;rerrr test_space_2szTest_apply.test_space_2N)r7r*r8r rCrDrErFrGrHrQrRrSrTrUrVrWrXr[r\r]r^r_r`rarbrcrdrfrgrrrrrNs6 rNc@s0eZdZdZddZddZddZdd Zd S) Test_reloadreloadcCsd}d}|||dS)Nz reload(a)z$import importlib importlib.reload(a)r;r<rrrtest#szTest_reload.testcCs,d}d}|||d}d}|||dS)Nzreload( a ) # commentz0import importlib importlib.reload( a ) # commentzreload( a ) # commentz1import importlib importlib.reload( a ) # commentr;r<rrr test_comment(s  zTest_reload.test_commentcCs@d}d}|||d}d}|||d}d}|||dS)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 )r;r<rrr test_space2s  zTest_reload.test_spacecCsd}||d}||d}||d}||d}||d}||d}||d}||d }||dS) Nz reload(a=1)z reload(f, g)z reload(f, *h)zreload(f, *h, **i)zreload(f, **i)zreload(*h, **i)z reload(*h)z reload(**i)zreload()r$rYrrrtest_unchanged?s$        zTest_reload.test_unchangedN)r7r*r8r rjrkrlrmrrrrrh s   rhc@s(eZdZdZddZddZddZdS) Test_interninterncCs@d}d}|||d}d}|||d}d}|||dS)Nzx = intern( a )z"import sys x = sys.intern( a )z%y = intern("b" # test )z4import sys y = sys.intern("b" # test )zz = intern(a+b+c.d, )z&import sys z = sys.intern(a+b+c.d, )r;r<rrrtest_prefix_preservation^s  z$Test_intern.test_prefix_preservationcCs@d}d}|||d}d}|||d}d}|||dS)Nz x = intern(a)zimport sys x = sys.intern(a)zz = 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", "")r;r<rrrrjms  zTest_intern.testcCsJd}||d}||d}||d}||d}||dS)Nz intern(a=1)z intern(f, g)z intern(*h)z intern(**i)zintern()r$rYrrrrm|s    zTest_intern.test_unchangedN)r7r*r8r rprjrmrrrrrn[srnc@s0eZdZdZddZddZddZdd Zd S) Test_reducereducecCsd}d}|||dS)Nzreduce(a, b, c)z,from functools import reduce reduce(a, b, c)r;r<rrrtest_simple_callszTest_reduce.test_simple_callcCsd}d}|||dS)Nzdef x(arg): reduce(sum, [])z8from functools import reduce def x(arg): reduce(sum, [])r;r<rrr test_bug_7253szTest_reduce.test_bug_7253cCsd}d}|||dS)Nzreduce(lambda x, y: x + y, seq)z>sys.stderr, 1, 2, 3zprint(1, 2, 3, file=sys.stderr)r;r<rrr!test_vargs_without_trailing_commasz,Test_print.test_vargs_without_trailing_commacCsd}d}|||dS)Nzprint >>sys.stderr, 1, 2,z%print(1, 2, end=' ', file=sys.stderr)r;r<rrrtest_with_trailing_commasz#Test_print.test_with_trailing_commacCsd}d}|||dS)Nzprint >>sys.stderr, 1+1zprint(1+1, file=sys.stderr)r;r<rrrtest_no_trailing_commasz!Test_print.test_no_trailing_commacCsd}d}|||dS)Nzprint >> sys.stderrzprint(file=sys.stderr)r;r<rrrtest_spaces_before_file sz"Test_print.test_spaces_before_filecCs&d}||d}d}|||dS)Nzrrrtest_with_future_print_functions  z*Test_print.test_with_future_print_functionN)r7r*r8r rprzr|rCrDrErFrGr}r~rrrrrrrrrrrrvs$ rvc@s`eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ dS) Test_execexeccCsd}d}|||dS)Nz exec code in ns1, ns2z exec(code, ns1, ns2)r;r<rrrrpsz"Test_exec.test_prefix_preservationcCsd}d}|||dS)Nz exec code exec(code)r;r<rrrr?!szTest_exec.test_basiccCsd}d}|||dS)Nzexec code in nsexec(code, ns)r;r<rrrtest_with_globals&szTest_exec.test_with_globalscCsd}d}|||dS)Nzexec code in ns1, ns2exec(code, ns1, ns2)r;r<rrrtest_with_globals_locals+sz"Test_exec.test_with_globals_localscCsd}d}|||dS)Nzexec (a.b()) in nszexec((a.b()), ns)r;r<rrrrQ0szTest_exec.test_complex_1cCsd}d}|||dS)Nzexec a.b() + c in nszexec(a.b() + c, ns)r;r<rrrrR5szTest_exec.test_complex_2cCsd}||dS)Nrr$rYrrrr[<szTest_exec.test_unchanged_1cCsd}||dS)Nz exec (code)r$rYrrrr\@szTest_exec.test_unchanged_2cCsd}||dS)Nrr$rYrrrr]DszTest_exec.test_unchanged_3cCsd}||dS)Nrr$rYrrrr^HszTest_exec.test_unchanged_4N)r7r*r8r rpr?rrrQrRr[r\r]r^rrrrrsrc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS) Test_reprreprcCsd}d}|||dS)Nz x = `1 + 2`zx = repr(1 + 2)r;r<rrrrpOsz"Test_repr.test_prefix_preservationcCsd}d}|||dS)Nz x = `1 + 2`zx = repr(1 + 2)r;r<rrr test_simple_1TszTest_repr.test_simple_1cCsd}d}|||dS)Nzy = `x`z y = repr(x)r;r<rrr test_simple_2YszTest_repr.test_simple_2cCsd}d}|||dS)Nzz = `y`.__repr__()zz = repr(y).__repr__()r;r<rrr test_complex^szTest_repr.test_complexcCsd}d}|||dS)Nz x = `1, 2, 3`zx = repr((1, 2, 3))r;r<rrrr}cszTest_repr.test_tuplecCsd}d}|||dS)Nz x = `1 + `2``zx = repr(1 + repr(2))r;r<rrr test_nestedhszTest_repr.test_nestedcCsd}d}|||dS)Nzx = `1, 2 + `3, 4``zx = repr((1, 2 + repr((3, 4))))r;r<rrrtest_nested_tuplesmszTest_repr.test_nested_tuplesN) r7r*r8r rprrrr}rrrrrrrLsrc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"S)# Test_exceptexceptcCsd}d}|||dS)Nzq try: pass except (RuntimeError, ImportError), e: passzs try: pass except (RuntimeError, ImportError) as e: passr;r<rrrrpusz$Test_except.test_prefix_preservationcCsd}d}|||dS)NzV try: pass except Foo, e: passX try: pass except Foo as e: passr;r<rrr test_simpleszTest_except.test_simplecCsd}d}|||dS)NzU try: pass except Foo,e: passrr;r<rrr"test_simple_no_space_before_targetsz.Test_except.test_simple_no_space_before_targetcCsd}d}|||dS)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: passr;r<rrrtest_tuple_unpacks  zTest_except.test_tuple_unpackcCsd}d}|||dS)Nzn try: pass except (RuntimeError, ImportError), e: passzp try: pass except (RuntimeError, ImportError) as e: passr;r<rrrtest_multi_classszTest_except.test_multi_classcCsd}d}|||dS)Nza try: pass except Exception, [a, b]: passz try: pass except Exception as xxx_todo_changeme: [a, b] = xxx_todo_changeme.args passr;r<rrrtest_list_unpackszTest_except.test_list_unpackcCsd}d}|||dS)Nz_ try: pass except Exception, d[5]: passz try: pass except Exception as xxx_todo_changeme: d[5] = xxx_todo_changeme passr;r<rrrtest_weird_target_1szTest_except.test_weird_target_1cCsd}d}|||dS)Nz` try: pass except Exception, a.foo: passz try: pass except Exception as xxx_todo_changeme: a.foo = xxx_todo_changeme passr;r<rrrtest_weird_target_2szTest_except.test_weird_target_2cCsd}d}|||dS)Nzb try: pass except Exception, a().foo: passz try: pass except Exception as xxx_todo_changeme: a().foo = xxx_todo_changeme passr;r<rrrtest_weird_target_3szTest_except.test_weird_target_3cCsd}d}|||dS)Nz try: pass except Exception, a: pass except: passz try: pass except Exception as a: pass except: passr;r<rrrtest_bare_exceptszTest_except.test_bare_exceptcCsd}d}|||dS)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: passr;r<rrr!test_bare_except_and_else_finally s  z-Test_except.test_bare_except_and_else_finallycCsd}d}|||dS)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: passr;r<rrr+test_multi_fixed_excepts_before_bare_except's  z7Test_except.test_multi_fixed_excepts_before_bare_exceptcCsTd}d}|||d}d}|||d}d}|||d}d}|||dS) 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() r;r<rrrtest_one_line_suites=s   z Test_except.test_one_line_suitescCsd}||dS)NzO try: pass except: passr$rYrrrr[mszTest_except.test_unchanged_1cCsd}||dS)NzY try: pass except Exception: passr$rYrrrr\uszTest_except.test_unchanged_2cCsd}||dS)Nzg try: pass except (Exception, SystemExit): passr$rYrrrr]}szTest_except.test_unchanged_3N)r7r*r8r rprrrrrrrrrrrrr[r\r]rrrrrrs"   0rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$S)% Test_raiseraisecCsd}d}|||dS)Nzraise Exception, 5raise Exception(5)r;r<rrrr?szTest_raise.test_basiccCs,d}d}|||d}d}|||dS)Nzraise Exception,5rzraise Exception, 5zraise Exception(5)r;r<rrrrps  z#Test_raise.test_prefix_preservationcCs@d}d}|||d}d}|||d}d}|||dS)Nzraise Exception, 5 # foozraise Exception(5) # foozraise E, (5, 6) % (a, b) # foozraise E((5, 6) % (a, b)) # fooz:def foo(): raise Exception, 5, 6 # foozIdef foo(): raise Exception(5).with_traceback(6) # foor;r<rrrtest_with_commentss  zTest_raise.test_with_commentscCsd}d}|||dS)Nzraise Exception(5), None, tbz%raise Exception(5).with_traceback(tb)r;r<rrrtest_None_valueszTest_raise.test_None_valuecCsd}d}|||dS)Nzraise Exception, (5, 6, 7)zraise Exception(5, 6, 7)r;r<rrrtest_tuple_valueszTest_raise.test_tuple_valuecCsd}d}|||dS)Nzraise E, (5, 6) % (a, b)zraise E((5, 6) % (a, b))r;r<rrrtest_tuple_detectionszTest_raise.test_tuple_detectioncCsd}d}|||dS)Nzraise (((E1, E2), E3), E4), V raise E1(V)r;r<rrrtest_tuple_exc_1szTest_raise.test_tuple_exc_1cCsd}d}|||dS)Nzraise (E1, (E2, E3), E4), Vrr;r<rrrtest_tuple_exc_2szTest_raise.test_tuple_exc_2cCsd}||ddS)Nz raise 'foo'+Python 3 does not support string exceptionsr&rYrrrtest_string_excszTest_raise.test_string_exccCsd}||ddS)Nzraise "foo", 5rrrYrrrtest_string_exc_valszTest_raise.test_string_exc_valcCsd}||ddS)Nzraise "foo", 5, 6rrrYrrrtest_string_exc_val_tbsz!Test_raise.test_string_exc_val_tbcCsd}d}|||dS)Nz4def foo(): raise Exception, 5, 6Cdef foo(): raise Exception(5).with_traceback(6)r;r<rrr test_tb_1szTest_raise.test_tb_1cCsd}d}|||dS)Nzhdef foo(): a = 5 raise Exception, 5, 6 b = 6wdef foo(): a = 5 raise Exception(5).with_traceback(6) b = 6r;r<rrr test_tb_2szTest_raise.test_tb_2cCsd}d}|||dS)Nz2def foo(): raise Exception,5,6rr;r<rrr test_tb_3szTest_raise.test_tb_3cCsd}d}|||dS)Nzfdef foo(): a = 5 raise Exception,5,6 b = 6rr;r<rrr test_tb_4szTest_raise.test_tb_4cCsd}d}|||dS)Nzd?Z"d@dAZ#dBdCZ$dDdEZ%dFdGZ&dHS)I Test_dictdictcCs|d}d}|||d}d}|||d}d}|||d}d}|||d }d }|||d }d}|||dS) Nzif d. keys ( ) : passz if list(d. keys ( )) : passzif d. items ( ) : passz!if list(d. items ( )) : passzif d. iterkeys ( ) : passzif iter(d. keys ( )) : passz"[i for i in d. iterkeys( ) ]z[i for i in d. keys( ) ]zif d. viewkeys ( ) : passzif d. keys ( ) : passz"[i for i in d. viewkeys( ) ]r;r<rrrrps$     z"Test_dict.test_prefix_preservationcCs|d}d}|||d}d}|||d}d}|||d}d}|||d}d}|||d }d}|||dS) Nzd.keys() # foozlist(d.keys()) # foozd.items() # foozlist(d.items()) # foozd.iterkeys() # fooziter(d.keys()) # fooz/[i for i in d.iterkeys() # foo ]z+[i for i in d.keys() # foo ]zd.viewitems() # foor;r<rrrtest_trailing_comment s$     zTest_dict.test_trailing_commentcCsFtjD]:}d|}||d|}||d|}||qdS)Nzs = %s(d.keys())zs = %s(d.values())zs = %s(d.items())rZconsuming_callsr")rwrapperrZrrrrm*s   zTest_dict.test_unchangedcCs,d}d}|||d}d}|||dS)Nd.keys()list(d.keys())za[0].foo().keys()zlist(a[0].foo().keys())r;r<rrrtest_015s  zTest_dict.test_01cCsd}d}|||dS)N d.items()zlist(d.items())r;r<rrrtest_02>szTest_dict.test_02cCsd}d}|||dS)N d.values()zlist(d.values())r;r<rrrtest_03CszTest_dict.test_03cCsd}d}|||dS)Nz d.iterkeys()iter(d.keys())r;r<rrrtest_04HszTest_dict.test_04cCsd}d}|||dS)Nz d.iteritems()ziter(d.items())r;r<rrrtest_05MszTest_dict.test_05cCsd}d}|||dS)Nzd.itervalues()ziter(d.values())r;r<rrrtest_06RszTest_dict.test_06cCsd}||dS)Nrr$rYrrrtest_07WszTest_dict.test_07cCsd}||dS)Nsorted(d.keys())r$rYrrrtest_08[szTest_dict.test_08cCsd}d}|||dS)Nrziter(list(d.keys()))r;r<rrrtest_09_szTest_dict.test_09cCsd}d}|||dS)Nz foo(d.keys())zfoo(list(d.keys()))r;r<rrrrLdszTest_dict.test_10cCsd}d}|||dS)Nfor i in d.keys(): print iz for i in list(d.keys()): print ir;r<rrrrMiszTest_dict.test_11cCsd}d}|||dS)Nzfor i in d.iterkeys(): print irr;r<rrrtest_12nszTest_dict.test_12cCsd}d}|||dS)N[i for i in d.keys()]z for i in list(d.keys())]r;r<rrrtest_13sszTest_dict.test_13cCsd}d}|||dS)Nz[i for i in d.iterkeys()]rr;r<rrrtest_14xszTest_dict.test_14cCsd}d}|||dS)N(i for i in d.keys())z(i for i in list(d.keys()))r;r<rrrtest_15}szTest_dict.test_15cCsd}d}|||dS)Nz(i for i in d.iterkeys())rr;r<rrrtest_16szTest_dict.test_16cCsd}d}|||dS)Nziter(d.iterkeys())rr;r<rrrtest_17szTest_dict.test_17cCsd}d}|||dS)Nzlist(d.iterkeys())rr;r<rrrtest_18szTest_dict.test_18cCsd}d}|||dS)Nzsorted(d.iterkeys())rr;r<rrrtest_19szTest_dict.test_19cCsd}d}|||dS)Nzfoo(d.iterkeys())zfoo(iter(d.keys()))r;r<rrrtest_20szTest_dict.test_20cCsd}d}|||dS)Nzprint h.iterkeys().next()zprint iter(h.keys()).next()r;r<rrrtest_21szTest_dict.test_21cCsd}d}|||dS)Nzprint h.keys()[0]zprint list(h.keys())[0]r;r<rrrtest_22szTest_dict.test_22cCsd}d}|||dS)Nzprint list(h.iterkeys().next())z!print list(iter(h.keys()).next())r;r<rrrtest_23szTest_dict.test_23cCsd}d}|||dS)Nzfor x in h.keys()[0]: print xz#for x in list(h.keys())[0]: print xr;r<rrrtest_24szTest_dict.test_24cCsd}d}|||dS)Nz d.viewkeys()rr;r<rrrtest_25szTest_dict.test_25cCsd}d}|||dS)Nz d.viewitems()rr;r<rrrtest_26szTest_dict.test_26cCsd}d}|||dS)Nzd.viewvalues()rr;r<rrrtest_27szTest_dict.test_27cCsd}d}|||dS)Nz[i for i in d.viewkeys()]rr;r<rrrtest_28szTest_dict.test_28cCsd}d}|||dS)Nz(i for i in d.viewkeys())rr;r<rrrtest_29szTest_dict.test_29cCsd}d}|||dS)Nziter(d.viewkeys())rr;r<rrrtest_30szTest_dict.test_30cCsd}d}|||dS)Nzlist(d.viewkeys())rr;r<rrrtest_31szTest_dict.test_31cCsd}d}|||dS)Nzsorted(d.viewkeys())rr;r<rrrtest_32szTest_dict.test_32N)'r7r*r8r rprrmrrrrrrrrrrLrMrrrrrrrrrrrrrrrrrrrrrrrrrrsH  rc@sXeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS) Test_xrangexrangecCs@d}d}|||d}d}|||d}d}|||dS)Nzx = xrange( 10 )zx = range( 10 )zx = xrange( 1 , 10 )zx = range( 1 , 10 )zx = xrange( 0 , 10 , 2 )zx = range( 0 , 10 , 2 )r;r<rrrrps  z$Test_xrange.test_prefix_preservationcCsd}d}|||dS)Nzx = xrange(10)z x = range(10)r;r<rrrtest_single_argszTest_xrange.test_single_argcCsd}d}|||dS)Nzx = xrange(1, 10)zx = range(1, 10)r;r<rrr test_two_argsszTest_xrange.test_two_argscCsd}d}|||dS)Nzx = xrange(0, 10, 2)zx = range(0, 10, 2)r;r<rrrtest_three_argsszTest_xrange.test_three_argscCshd}d}|||d}d}|||d}d}|||d}d}|||d }d }|||dS) Nzx = range(10, 3, 9)zx = list(range(10, 3, 9))zx = foo(range(10, 3, 9))zx = foo(list(range(10, 3, 9)))zx = range(10, 3, 9) + [4]zx = list(range(10, 3, 9)) + [4]zx = range(10)[::-1]zx = list(range(10))[::-1]zx = range(10) [3]zx = list(range(10)) [3]r;r<rrrtest_wrap_in_lists    zTest_xrange.test_wrap_in_listcCs,d}d}|||d}d}|||dS)Nzfor i in xrange(10): j=izfor i in range(10): j=iz[i for i in xrange(10)][i for i in range(10)]r;r<rrrtest_xrange_in_for s  zTest_xrange.test_xrange_in_forcCs|d|ddS)Nzfor i in range(10): passrr$rrrrtest_range_in_fors zTest_xrange.test_range_in_forcCs|ddS)Nzx in range(10, 3, 9)r$rrrrtest_in_contains_testsz!Test_xrange.test_in_contains_testcCstjD]}|d|qdS)Nza = %s(range(10))r)rcallrrrtest_in_consuming_contexts z%Test_xrange.test_in_consuming_contextN) r7r*r8r rprrrrrrrrrrrrrs  rcs$eZdZfddZddZZS)Test_xrange_with_reducecstt|ddgdS)Nrrr)superr rrr)rrr!szTest_xrange_with_reduce.setUpcCsd}d}|||dS)Nzreduce(x, xrange(5))z0from functools import reduce reduce(x, range(5))r;r<rrrtest_double_transform$sz-Test_xrange_with_reduce.test_double_transform)r7r*r8rr  __classcell__rrr rr s r c@sPeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ dS)Test_raw_inputZ raw_inputcCs,d}d}|||d}d}|||dS)Nzx = raw_input( )zx = input( )zx = raw_input( '' )x = input( '' )r;r<rrrrp-s  z'Test_raw_input.test_prefix_preservationcCsd}d}|||dS)Nzx = raw_input() x = input()r;r<rrrrC6szTest_raw_input.test_1cCsd}d}|||dS)Nzx = raw_input('') x = input('')r;r<rrrrD;szTest_raw_input.test_2cCsd}d}|||dS)Nzx = raw_input('prompt')x = input('prompt')r;r<rrrrE@szTest_raw_input.test_3cCsd}d}|||dS)Nzx = raw_input(foo(a) + 6)zx = input(foo(a) + 6)r;r<rrrrFEszTest_raw_input.test_4cCsd}d}|||dS)Nzx = raw_input(invite).split()zx = input(invite).split()r;r<rrrrGJszTest_raw_input.test_5cCsd}d}|||dS)Nz x = raw_input(invite) . split ()zx = input(invite) . split ()r;r<rrrrHOszTest_raw_input.test_6cCsd}d}|||dS)Nzx = int(raw_input())zx = int(input())r;r<rrrrJTszTest_raw_input.test_8N) r7r*r8r rprCrDrErFrGrHrJrrrrr*s rc@s(eZdZdZgdZddZddZdS)Test_funcattrsZ funcattrs)ZclosuredocnamedefaultscodeglobalsrcCsH|jD]<}d|}d|}|||d|}d|}|||qdS)Nz a.func_%sa.__%s__zself.foo.func_%s.foo_barself.foo.__%s__.foo_barattrsrrattrr=r>rrrrj^s  zTest_funcattrs.testcCsF|jD]:}d|}||d|}||d|}||qdS)Nzfoo(func_%s + 5) f(foo.__%s__)f(foo.__%s__.foo)rr"rrrZrrrrmhs   zTest_funcattrs.test_unchangedNr7r*r8r rrjrmrrrrrYs rc@s(eZdZdZddZddZddZdS) Test_xreadlinesZ xreadlinescCs@d}d}|||d}d}|||d}d}|||dS)Nzfor x in f.xreadlines(): passzfor x in f: passz!for x in foo().xreadlines(): passzfor x in foo(): passz'for x in (5 + foo()).xreadlines(): passzfor x in (5 + foo()): passr;r<rrrrVvs  zTest_xreadlines.test_callcCs@d}d}|||d}d}|||d}d}|||dS)Nzfoo(f.xreadlines + 5)zfoo(f.__iter__ + 5)zfoo(f().xreadlines + 5)zfoo(f().__iter__ + 5)zfoo((5 + f()).xreadlines + 5)zfoo((5 + f()).__iter__ + 5)r;r<rrr test_attr_refs  zTest_xreadlines.test_attr_refcCs<d}||d}||d}||d}||dS)Nzfor x in f.xreadlines(5): passz for x in f.xreadlines(k=5): passz$for x in f.xreadlines(*k, **v): passzfoo(xreadlines)r$rYrrrrms   zTest_xreadlines.test_unchangedN)r7r*r8r rVr%rmrrrrr$ss  r$c@s<eZdZddZddZddZddZd d Zd d Zd S)ImportsFixerTestscCsP|jD]@\}}d|}d|}|||d|}d|}|||q dS)N import %szimport foo, %s, barmodulesitemsrroldnewr=r>rrrtest_import_modules z$ImportsFixerTests.test_import_modulecCsl|jD]\\}}d|}d|}|||d|}d|}|||d|}d|}|||q dS)Nzfrom %s import foozfrom %s import foo, barzfrom %s import (yes, no)r(r+rrrtest_import_froms  z"ImportsFixerTests.test_import_fromcCsP|jD]@\}}d|}d|}|||d|}d|}|||q dS)Nzimport %s as foo_barr(r+rrrtest_import_module_ass z'ImportsFixerTests.test_import_module_ascCs4|jD]$\}}d|}d|}|||q dS)Nzfrom %s import foo as barr(r+rrrtest_import_from_assz%ImportsFixerTests.test_import_from_ascCs4|jD]$\}}d|}d|}|||q dS)Nfrom %s import *r(r+rrr test_starszImportsFixerTests.test_starcCs|jD]\}}d||f}d||f}|||d||f}d||f}|||d|f}||d|||f}d|||f}|||d||f}d||f}|||q dS)NzG import %s foo(%s.bar) zJ from %s import x %s = 23 zJ def f(): %s.method() zJ import %s %s.bar(%s.foo) z@ import %s x.%s )r)r*rr")rr,r-r=r>rZrrrtest_import_module_usagesB    z*ImportsFixerTests.test_import_module_usageN) r7r*r8r.r/r0r1r3r4rrrrr&s   r&c@s,eZdZdZddlmZddZddZdS) Test_importsimportsMAPPINGcCsd}d}|||dS)Nzimport urlparse, cStringIOzimport urllib.parse, ior;r<rrrtest_multiple_importssz"Test_imports.test_multiple_importscCsd}d}|||dS)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()) r;r<rrrtest_multiple_imports_as sz%Test_imports.test_multiple_imports_asN) r7r*r8r fixes.fix_importsr9r)r:r;rrrrr5s r5c@seZdZdZddlmZdS) Test_imports2imports2r7r8N)r7r*r8r fixes.fix_imports2r9r)rrrrr=sr=cs$eZdZfddZddZZS)Test_imports_fixer_ordercsRtt|ddgddlm}||_ddlm}dD]}|||j|<q:dS)Nr6r>r7r8)dbhashdumbdbmdbmgdbm)r r@rr?r9copyr)r<)rZmapping2Zmapping1keyr rrrs    zTest_imports_fixer_order.setUpcCsdD]}||_|dqdS)N)r6r>import)r r6)rZfixrrr$test_after_local_imports_refactoring$sz=Test_imports_fixer_order.test_after_local_imports_refactoring)r7r*r8rrHr rrr rr@s r@c@s\eZdZdZddlmZddZddZdd Z d d Z d d Z ddZ ddZ ddZdS) Test_urlliburllibr7r8cCsD|jD]4\}}d|}ddttd|}|||q dS)Nr'r(r)r)r*r maprr)rr,changesr=r>rrrr..szTest_urllib.test_import_modulec Cs|jD]\}}g}|D]\}}|D]D}||d||f}d||f}|||d|} || q&d|d|f}d|d|f}|||dd|} || qd|d|f}ddd|D}|||q dS)Nfrom %s import %sfrom foo import %sr( cSs"g|]\}}d|d|fqS)rMr()r )r+r-membersrrrr-Jsz0Test_urllib.test_import_from..)r)r*appendrr"r ) rr,rLZ all_membersr-rPmemberr=r>rZrrrr/4s(         zTest_urllib.test_import_fromcCs$|jD]}d|}||dqdS)Nzimport %s as fooz#This module is now multiple modulesr)r&rr,rZrrrr0Ns z!Test_urllib.test_import_module_ascCs||jD]l\}}|D]^\}}|D]P}d||f}d||f}|||d|||f}d|||f}|||q"qq dS)Nfrom %s import %s as foo_barzfrom %s import %s as blah, %sr()rr,rLr-rPrRr=r>rrrr1Ss    zTest_urllib.test_import_from_ascCs$|jD]}d|}||dqdS)Nr2zCannot handle star importsrSrTrrrr3^s zTest_urllib.test_starcCs,d}d}|||d}d}|||dS)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 r;r<rrr test_indentedcs  zTest_urllib.test_indentedcCsd}d}|||dS)Nzfrom urllib import getproxiesz%from urllib.request import getproxiesr;r<rrrtest_single_import|szTest_urllib.test_single_importc Cs|jD]\}}|D]\}}|D]v}ddd|j|D}d|||f}d|||f}|||d|||||f}d|||||f}|||q"qq dS)Nr(cSsg|] \}}|qSrr)r+r5Zmemsrrrr-r.z8Test_urllib.test_import_module_usage..z^ import %s foo(%s.%s) z` import %s %s.%s(%s.%s) )r)r*r r) rr,rLr-rPrRZ new_importr=r>rrrr4s(     z$Test_urllib.test_import_module_usageN)r7r*r8r Zfixes.fix_urllibr9r)r.r/r0r1r3rVrWr4rrrrrI*s  rIc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS) Test_inputinputcCs,d}d}|||d}d}|||dS)Nzx = input( )zx = eval(input( ))rzx = eval(input( '' ))r;r<rrrrps  z#Test_input.test_prefix_preservationcCsd}d}|||dS)Nzx = input() # foozx = eval(input()) # foor;r<rrrrsz Test_input.test_trailing_commentcCs.d}||d}||d}||dS)Nx = eval(input())x = eval(input(''))x = eval(input(foo(5) + 9))r$rYrrrrzs   zTest_input.test_idempotencycCsd}d}|||dS)NrrZr;r<rrrrCszTest_input.test_1cCsd}d}|||dS)Nrr[r;r<rrrrDszTest_input.test_2cCsd}d}|||dS)Nrzx = eval(input('prompt'))r;r<rrrrEszTest_input.test_3cCsd}d}|||dS)Nzx = input(foo(5) + 9)r\r;r<rrrrFszTest_input.test_4N) r7r*r8r rprrzrCrDrErFrrrrrXs  rXc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*S)+Test_tuple_paramsZ tuple_paramscCsd}||dS)Nzdef foo(): passr$rYrrrr[sz"Test_tuple_params.test_unchanged_1cCsd}||dS)Nzdef foo(a, b, c): passr$rYrrrr\sz"Test_tuple_params.test_unchanged_2cCsd}||dS)Nzdef foo(a=3, b=4, c=5): passr$rYrrrr]sz"Test_tuple_params.test_unchanged_3cCsd}d}|||dS)Nz8 def foo(((a, b), c)): x = 5zn def foo(xxx_todo_changeme): ((a, b), c) = xxx_todo_changeme x = 5r;r<rrrrCszTest_tuple_params.test_1cCsd}d}|||dS)Nz; def foo(((a, b), c), d): x = 5zq def foo(xxx_todo_changeme, d): ((a, b), c) = xxx_todo_changeme x = 5r;r<rrrrDszTest_tuple_params.test_2cCsd}d}|||dS)Nz@ def foo(((a, b), c), d) -> e: x = 5zv def foo(xxx_todo_changeme, d) -> e: ((a, b), c) = xxx_todo_changeme x = 5r;r<rrrrEszTest_tuple_params.test_3cCsd}d}|||dS)Nz/ def foo(((a, b), c)): x = 5; y = 7zV def foo(xxx_todo_changeme): ((a, b), c) = xxx_todo_changeme; x = 5; y = 7r;r<rrrtest_semicolonsz Test_tuple_params.test_semicoloncCsd}d}|||dS)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 = 5r;r<rrr test_keywordsszTest_tuple_params.test_keywordscCsd}d}|||dS)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 = 5r;r<rrr test_varargsszTest_tuple_params.test_varargscCsd}d}|||dS)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 = 5r;r<rrr test_multi_1szTest_tuple_params.test_multi_1cCsd}d}|||dS)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 = 5r;r<rrr test_multi_2%szTest_tuple_params.test_multi_2cCsd}d}|||dS)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 = 5r;r<rrrtest_docstring1sz Test_tuple_params.test_docstringcCsd}||dS)Nlambda x: x + 5r$rYrrrtest_lambda_no_change?sz'Test_tuple_params.test_lambda_no_changecCsTd}d}|||d}d}|||d}d}|||d}d}|||dS)Nzlambda (x): x + 5rdzlambda(x): x + 5zlambda ((((x)))): x + 5zlambda((((x)))): x + 5r;r<rrrtest_lambda_parens_single_argCs   z/Test_tuple_params.test_lambda_parens_single_argcCsTd}d}|||d}d}|||d}d}|||d}d}|||dS)Nzlambda (x, y): x + f(y)zlambda x_y: x_y[0] + f(x_y[1])zlambda(x, y): x + f(y)zlambda (((x, y))): x + f(y)zlambda(((x, y))): x + f(y)r;r<rrrtest_lambda_simpleTs   z$Test_tuple_params.test_lambda_simplecCs,d}d}|||d}d}|||dS)Nzlambda (x,): x + f(x)zlambda x1: x1[0] + f(x1[0])zlambda (((x,))): x + f(x)r;r<rrrtest_lambda_one_tuplees  z'Test_tuple_params.test_lambda_one_tuplecCsd}d}|||dS)Nzlambda (x, y): x + x + f(x) + xz0lambda x_y: x_y[0] + x_y[0] + f(x_y[0]) + x_y[0]r;r<rrrtest_lambda_simple_multi_usensz.Test_tuple_params.test_lambda_simple_multi_usecCsd}d}|||dS)Nzlambda (x, y): y + xzlambda x_y: x_y[1] + x_y[0]r;r<rrrtest_lambda_simple_reversessz,Test_tuple_params.test_lambda_simple_reversecCs,d}d}|||d}d}|||dS)Nzlambda (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 + zr;r<rrrtest_lambda_nestedxs  z$Test_tuple_params.test_lambda_nestedcCsd}d}|||dS)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])r;r<rrrtest_lambda_nested_multi_usesz.Test_tuple_params.test_lambda_nested_multi_useN)r7r*r8r r[r\r]rCrDrEr^r_r`rarbrcrerfrgrhrirjrkrlrrrrr]s*         r]c@s(eZdZdZgdZddZddZdS)Test_methodattrsZ methodattrs)funcrclasscCsd|jD]X}d|}|dkr d}nd|}|||d|}|dkrJd}nd|}|||qdS)Nza.im_%sroza.__self__.__class__rzself.foo.im_%s.foo_barz#self.foo.__self__.__class__.foo_barrrrrrrrjs  zTest_methodattrs.testcCsF|jD]:}d|}||d|}||d|}||qdS)Nzfoo(im_%s + 5)rr r!r"rrrrms   zTest_methodattrs.test_unchangedNr#rrrrrmsrmc@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Z dd?Z"d@dAZ#dBdCZ$dDdEZ%dFdGZ&dHdIZ'dJdKZ(dLdMZ)dNdOZ*dPdQZ+dRdSZ,dTdUZ-dVdWZ.dXdYZ/dZd[Z0d\S)] Test_nextnextcCsd}d}|||dS)Nz it.next()znext(it)r;r<rrrrCszTest_next.test_1cCsd}d}|||dS)Nza.b.c.d.next()z next(a.b.c.d)r;r<rrrrDszTest_next.test_2cCsd}d}|||dS)Nz(a + b).next()z next((a + b))r;r<rrrrEszTest_next.test_3cCsd}d}|||dS)Nz a().next()z next(a())r;r<rrrrFszTest_next.test_4cCsd}d}|||dS)Nza().next() + bz next(a()) + br;r<rrrrGszTest_next.test_5cCsd}d}|||dS)Nzc( a().next() + b)zc( next(a()) + b)r;r<rrrrHszTest_next.test_6cCsd}d}|||dS)NzU for a in b: foo(a) a.next() zT for a in b: foo(a) next(a) r;r<rrrtest_prefix_preservation_1sz$Test_next.test_prefix_preservation_1cCsd}d}|||dS)Nzq for a in b: foo(a) # abc # def a.next() zp for a in b: foo(a) # abc # def next(a) r;r<rrrtest_prefix_preservation_2sz$Test_next.test_prefix_preservation_2cCsd}d}|j||dddS)Nzj next = 5 for a in b: foo(a) a.next() zn next = 5 for a in b: foo(a) a.__next__() Trr;r<rrrtest_prefix_preservation_3sz$Test_next.test_prefix_preservation_3cCsd}d}|j||dddS)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__() Trtr;r<rrrtest_prefix_preservation_4sz$Test_next.test_prefix_preservation_4cCsd}d}|j||dddS)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__()) Trtr;r<rrrtest_prefix_preservation_5 sz$Test_next.test_prefix_preservation_5cCsd}d}|||dS)Nze for a in b: foo(foo(a), # abc a.next()) zd for a in b: foo(foo(a), # abc next(a)) r;r<rrrtest_prefix_preservation_6 sz$Test_next.test_prefix_preservation_6cCsd}d}|||dS)Nz[ class A: def next(self): pass z_ class A: def __next__(self): pass r;r<rrr test_method_1 szTest_next.test_method_1cCsd}d}|||dS)Nzc class A(object): def next(self): pass zg class A(object): def __next__(self): pass r;r<rrr test_method_2, szTest_next.test_method_2cCsd}d}|||dS)NzX class A: def next(x): pass z\ class A: def __next__(x): pass r;r<rrr test_method_39 szTest_next.test_method_3cCsd}d}|||dS)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 r;r<rrr test_method_4F s  zTest_next.test_method_4cCsd}||dS)Nza class A: def next(self, a, b): pass r$rYrrrtest_method_unchanged_ szTest_next.test_method_unchangedcCsd}||ddS)Nzy next = foo class A: def next(self, a, b): pass )Calls to builtin next() possibly shadowedrrYrrrtest_shadowing_assign_simpleg sz&Test_next.test_shadowing_assign_simplecCsd}||ddS)Nz~ (next, a) = foo class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_assign_tuple_1q sz'Test_next.test_shadowing_assign_tuple_1cCsd}||ddS)Nz (a, (b, (next, c)), a) = foo class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_assign_tuple_2{ sz'Test_next.test_shadowing_assign_tuple_2cCsd}||ddS)Nz~ [next, a] = foo class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_assign_list_1 sz&Test_next.test_shadowing_assign_list_1cCsd}||ddS)Nz [a, [b, [next, c]], a] = foo class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_assign_list_2 sz&Test_next.test_shadowing_assign_list_2cCsd}||ddS)Nz def foo(): __builtin__.next = foo class A: def next(self, a, b): pass r~rrYrrrtest_builtin_assign szTest_next.test_builtin_assigncCsd}||ddS)Nz def foo(): (a, __builtin__.next) = foo class A: def next(self, a, b): pass r~rrYrrrtest_builtin_assign_in_tuple sz&Test_next.test_builtin_assign_in_tuplecCsd}||ddS)Nz def foo(): [a, __builtin__.next] = foo class A: def next(self, a, b): pass r~rrYrrrtest_builtin_assign_in_list sz%Test_next.test_builtin_assign_in_listcCsd}||dS)Nz def foo(): A.next = foo class A: def next(self, a, b): pass r$rYrrrtest_assign_to_next szTest_next.test_assign_to_nextcCsd}||dS)Nz def foo(): (a, A.next) = foo class A: def next(self, a, b): pass r$rYrrrtest_assign_to_next_in_tuple sz&Test_next.test_assign_to_next_in_tuplecCsd}||dS)Nz def foo(): [a, A.next] = foo class A: def next(self, a, b): pass r$rYrrrtest_assign_to_next_in_list sz%Test_next.test_assign_to_next_in_listcCsd}||ddS)Nz import foo.bar as next class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_1 sz!Test_next.test_shadowing_import_1cCsd}||ddS)Nz import bar, bar.foo as next class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_2 sz!Test_next.test_shadowing_import_2cCsd}||ddS)Nz import bar, bar.foo as next, baz class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_3 sz!Test_next.test_shadowing_import_3cCsd}||ddS)Nz from x import next class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_from_1 sz&Test_next.test_shadowing_import_from_1cCsd}||ddS)Nz from x.a import next class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_from_2 sz&Test_next.test_shadowing_import_from_2cCsd}||ddS)Nz from x import a, next, b class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_from_3 sz&Test_next.test_shadowing_import_from_3cCsd}||ddS)Nz from x.a import a, next, b class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_import_from_4 sz&Test_next.test_shadowing_import_from_4cCsd}||ddS)Nz def next(a): pass class A: def next(self, a, b): pass r~rrYrrrtest_shadowing_funcdef_1! sz"Test_next.test_shadowing_funcdef_1cCsd}d}|||ddS)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~r%r<rrrtest_shadowing_funcdef_2, s  z"Test_next.test_shadowing_funcdef_2cCsd}||ddS)NzW def f(): global next next = 5 r~rrYrrrtest_shadowing_global_1C sz!Test_next.test_shadowing_global_1cCsd}||ddS)Nz] def f(): global a, next, b next = 5 r~rrYrrrtest_shadowing_global_2K sz!Test_next.test_shadowing_global_2cCsd}||ddS)Nze for next in it(): pass b = 5 c = 6 r~rrYrrrtest_shadowing_for_simpleS sz#Test_next.test_shadowing_for_simplecCsd}||ddS)Nzh for next, b in it(): pass b = 5 c = 6 r~rrYrrrtest_shadowing_for_tuple_1] sz$Test_next.test_shadowing_for_tuple_1cCsd}||ddS)Nzp for a, (next, c), b in it(): pass b = 5 c = 6 r~rrYrrrtest_shadowing_for_tuple_2g sz$Test_next.test_shadowing_for_tuple_2cCsd}d}|||dS)Nzgnext = g.nextzgnext = g.__next__r;r<rrrtest_noncall_access_1q szTest_next.test_noncall_access_1cCsd}d}|||dS)Nz f(g.next + 5)zf(g.__next__ + 5)r;r<rrrtest_noncall_access_2v szTest_next.test_noncall_access_2cCsd}d}|||dS)Nzf(g().next + 5)zf(g().__next__ + 5)r;r<rrrtest_noncall_access_3{ szTest_next.test_noncall_access_3N)1r7r*r8r rCrDrErFrGrHrrrsrurvrwrxryrzr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrps\                           rpc@s8eZdZdZddZddZddZdd Zd d Zd S) Test_nonzerononzerocCsd}d}|||dS)Nzb class A: def __nonzero__(self): pass z_ class A: def __bool__(self): pass r;r<rrrrC szTest_nonzero.test_1cCsd}d}|||dS)Nzj class A(object): def __nonzero__(self): pass g class A(object): def __bool__(self): pass r;r<rrrrD szTest_nonzero.test_2cCsd}||dS)Nrr$rYrrrr[ szTest_nonzero.test_unchanged_1cCsd}||dS)Nzm class A(object): def __nonzero__(self, a): pass r$rYrrrr\ szTest_nonzero.test_unchanged_2cCsd}||dS)NzE def __nonzero__(self): pass r$rYrrrtest_unchanged_func sz Test_nonzero.test_unchanged_funcN) r7r*r8r rCrDr[r\rrrrrr s   rc@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdS)Test_numliteralsZ numliteralscCsd}d}|||dS)NZ07550o755r;r<rrr test_octal_1 szTest_numliterals.test_octal_1cCsd}d}|||dS)Nza = 12La = 12r;r<rrrtest_long_int_1 sz Test_numliterals.test_long_int_1cCsd}d}|||dS)Nza = 12lrr;r<rrrtest_long_int_2 sz Test_numliterals.test_long_int_2cCsd}d}|||dS)Nz b = 0x12lzb = 0x12r;r<rrr test_long_hex szTest_numliterals.test_long_hexcCs,d}d}|||d}d}|||dS)Nz b = 0x12Lz b = 0x12zb = 0755 # spamzb = 0o755 # spamr;r<rrrtest_comments_and_spacing s  z*Test_numliterals.test_comments_and_spacingcCsd}||dS)N5r$rYrrrtest_unchanged_int sz#Test_numliterals.test_unchanged_intcCsd}||dS)Nz5.0r$rYrrrtest_unchanged_float sz%Test_numliterals.test_unchanged_floatcCsd}||dS)Nrr$rYrrrtest_unchanged_octal sz%Test_numliterals.test_unchanged_octalcCsd}||dS)NZ0xABCr$rYrrrtest_unchanged_hex sz#Test_numliterals.test_unchanged_hexcCsd}||dS)Nz5.0e10r$rYrrrtest_unchanged_exp sz#Test_numliterals.test_unchanged_expcCsd}||dS)Nz5 + 4jr$rYrrrtest_unchanged_complex_int sz+Test_numliterals.test_unchanged_complex_intcCsd}||dS)Nz 5.4 + 4.9jr$rYrrrtest_unchanged_complex_float sz-Test_numliterals.test_unchanged_complex_floatcCs d}||d}||dS)NZ4jz4.4jr$rYrrrtest_unchanged_complex_bare s z,Test_numliterals.test_unchanged_complex_bareN)r7r*r8r rrrrrrrrrrrrrrrrrr s rc@s8eZdZdZddiZddZddZdd Zd d Zd S) Test_renamesrenamessys)ZmaxintmaxsizecCsVt|jD]B\}\}}d||f}d||f}|||d|}||qdS)NrMrN)listr)r*rr")rmodr,r-r=r>rZrrrr/ s    zTest_renames.test_import_fromcCsDt|jD]0\}\}}d||f}d||f}|||qdS)NrUrr)r*rrrr,r-r=r>rrrr1 s  z Test_renames.test_import_from_ascCsLt|jD]8\}\}}d||||f}d||||f}|||qdS)NzJ import %s foo(%s, %s.%s) rrrrrr4 s  z%Test_renames.test_import_module_usagecCsLt|jD]8\}\}}d||||f}d||||f}|||qdS)NzO from %s import %s foo(%s, %s) rrrrrXXX_test_from_import_usage s  z'Test_renames.XXX_test_from_import_usageN) r7r*r8r r)r/r1r4rrrrrr s   rc@s`eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ dS) Test_unicodeunicodecCs@d}d}|||d}d}|||d}d}|||dS)Nz unicode( x)zstr( x)z unicode(x )z str(x )z u'h'z 'h'r;r<rrrtest_whitespace' s  zTest_unicode.test_whitespacecCsd}d}|||dS)Nzunicode(x, y, z)z str(x, y, z)r;r<rrrtest_unicode_call4 szTest_unicode.test_unicode_callcCsd}d}|||dS)Nz unichr(u'h')zchr('h')r;r<rrr test_unichr9 szTest_unicode.test_unichrcCsd}d}|||dS)Nzu"x"z"x"r;r<rrrtest_unicode_literal_1> sz#Test_unicode.test_unicode_literal_1cCsd}d}|||dS)Nzur'x'zr'x'r;r<rrrtest_unicode_literal_2C sz#Test_unicode.test_unicode_literal_2cCsd}d}|||dS)Nz UR'''x''' z R'''x''' r;r<rrrtest_unicode_literal_3H sz#Test_unicode.test_unicode_literal_3cCs,d}d}|||d}d}|||dS)N'\\\u20ac\U0001d121\\u20ac'z'\\\\u20ac\\U0001d121\\u20ac'r'\\\u20ac\U0001d121\\u20ac'r;r<rrrtest_native_literal_escape_uM s  z)Test_unicode.test_native_literal_escape_ucCs,d}d}|||d}d}|||dS)Nzb'\\\u20ac\U0001d121\\u20ac'zbr'\\\u20ac\U0001d121\\u20ac'r;r<rrrtest_bytes_literal_escape_uV s  z(Test_unicode.test_bytes_literal_escape_ucCs,d}d}|||d}d}|||dS)Nzu'\\\u20ac\U0001d121\\u20ac'rzur'\\\u20ac\U0001d121\\u20ac'rr;r<rrrtest_unicode_literal_escape_u_ s  z*Test_unicode.test_unicode_literal_escape_ucCs@d}|d}|d}||||d}|d}|||dS)Nz(from __future__ import unicode_literals rrr;)rfr=r>rrr$test_native_unicode_literal_escape_uh s z1Test_unicode.test_native_unicode_literal_escape_uN)r7r*r8r rrrrrrrrrrrrrrr$ s    rc@s8eZdZdZddZddZddZdd Zd d Zd S) Test_filterfiltercCs,d}d}|||d}d}|||dS)Nz#x = filter( foo, 'abc' )z)x = list(filter( foo, 'abc' ))zx = filter( None , 'abc' )z x = [_f for _f in 'abc' if _f]r;r<rrrrpv s  z$Test_filter.test_prefix_preservationcCshd}d}|||d}d}|||d}d}|||d}d}|||d}d }|||dS) Nzx = filter(None, 'abc')zx = [_f for _f in 'abc' if _f]zx = len(filter(f, 'abc'))zx = 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)]r;r<rrrtest_filter_basic s    zTest_filter.test_filter_basiccCsTd}d}|||d}d}|||d}d}|||d}d}|||dS)Nzx = filter(None, 'abc')[0]z!x = [_f for _f in 'abc' if _f][0]zx = 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]r;r<rrrtest_filter_trailers s   z Test_filter.test_filter_trailerscCsd}||d}||d}||d}||d}||d}||d}||d}||d }||d }||d }||d }||d }||d}||d}||d}||d}||d}||d}||dS)Nzb.join(filter(f, 'abc'))z#(a + foo(5)).join(filter(f, 'abc'))ziter(filter(f, 'abc'))zlist(filter(f, 'abc'))zlist(filter(f, 'abc'))[0]zset(filter(f, 'abc'))zset(filter(f, 'abc')).pop()ztuple(filter(f, 'abc'))zany(filter(f, 'abc'))zall(filter(f, 'abc'))zsum(filter(f, 'abc'))zsorted(filter(f, 'abc'))z"sorted(filter(f, 'abc'), key=blah)z%sorted(filter(f, 'abc'), key=blah)[0]zenumerate(filter(f, 'abc'))z$enumerate(filter(f, 'abc'), start=1)zfor i in filter(f, 'abc'): passz[x for x in filter(f, 'abc')]z(x for x in filter(f, 'abc'))r$rr>rrrtest_filter_nochange sL                  z Test_filter.test_filter_nochangecCs4d}||d}d}|||d}||dS)Nz:from future_builtins import spam, filter; filter(f, 'ham')z6from future_builtins import spam; x = filter(f, 'abc')zrrrcheckallZs zTest_itertools.checkallcCsd}d}|||dS)Nzitertools.izip(a, b)z zip(a, b)r;r<rrrtest_0dszTest_itertools.test_0cCsd}d}|||dS)Nz%s(f, a)r r<rrrrCkszTest_itertools.test_1cCs,d}d}|||d}d}|||dS)Nzitertools.ifilterfalse(a, b)zitertools.filterfalse(a, b)zitertools.izip_longest(a, b)zitertools.zip_longest(a, b)r;r<rrrtest_qualifiedps  zTest_itertools.test_qualifiedcCs,d}d}|||d}d}|||dS)Nzifilterfalse(a, b)zfilterfalse(a, b)zizip_longest(a, b)zzip_longest(a, b)r;r<rrrrDys  zTest_itertools.test_2cCsd}d}|||dS)Nz %s(f, a)rr<rrrrfszTest_itertools.test_space_1cCs,d}d}|||d}d}|||dS)Nz itertools.ifilterfalse(a, b)z itertools.filterfalse(a, b)z itertools.izip_longest(a, b)z itertools.zip_longest(a, b)r;r<rrrrgs  zTest_itertools.test_space_2cCs|ddddS)NrKrrrrrrrr szTest_itertools.test_run_orderN) r7r*r8r r rrCrrDrfrgr rrrrr Ws    r c@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)Test_itertools_importsZitertools_importscCs@d}d}|||d}d}|||d}d}|||dS)Nz%from itertools import imap, izip, foofrom itertools import fooz*from itertools import bar, imap, izip, foozfrom itertools import bar, fooz'from itertools import chain, imap, izipzfrom itertools import chainr;r<rrr test_reduceds  z#Test_itertools_imports.test_reducedcCsd}d}|||dS)Nz%#foo from itertools import imap, izipz#foo r;r<rrr test_commentssz$Test_itertools_imports.test_commentscCs,d}d}|||d}d}|||dS)Nz from itertools import imap, iziprzfrom itertools import izipr;r<rrr test_nones  z Test_itertools_imports.test_nonecCsbd}d}|||d}d}|||d}d}|||d}d}|||d}||dS)Nz-from itertools import izip, bar as bang, imapz!from itertools import bar as bangz-from itertools import izip as _zip, imap, barzfrom itertools import barz"from itertools import imap as _maprz0from itertools import imap as _map, izip as _zip)rr")rr=r>rZrrrtest_import_ass    z%Test_itertools_imports.test_import_ascCsndD]d}d|f}d|f}|||d|f}d|f}|||d|f}d|f}|||qdS)N) filterfalse zip_longestzfrom itertools import i%szfrom itertools import %sz$from itertools import imap, i%s, foozfrom itertools import %s, fooz#from itertools import bar, i%s, fooz"from itertools import bar, %s, foor;)rrr=r>rrrtest_ifilter_and_zip_longests        z3Test_itertools_imports.test_ifilter_and_zip_longestcCsd}||dS)Nzfrom itertools import *r$rYrrrtest_import_starsz'Test_itertools_imports.test_import_starcCsd}||dS)Nrr$rYrrrrmsz%Test_itertools_imports.test_unchangedN) r7r*r8r rrrrrrrmrrrrrs  rcseZdZdZfddZddZfddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'ZZS)( Test_importrGcsDttg_t_d_fdd}ddlm}||_ dS)NTcsj|jp|jvSr) files_checkedrQ always_exists present_filesrrrr fake_existss z&Test_import.setUp..fake_existsr fix_import) r rrrsetrr lib2to3.fixesr"exists)rr r"r rrrs  zTest_import.setUpcCsddlm}tjj|_dS)Nrr!)r$r"ospathr%)rr"rrrtearDowns zTest_import.tearDowncs2d|_tt|||d|_tt||dS)NTF)rr rrr"r<r rr check_bothszTest_import.check_bothcsdd}d|_tdg|_dtjjdddd f}|d d |d f}|D]ng|_|_|d tj r|tj dndtfdd|D}| d| t|j|qDdS)NcSstjj|dS)N/)r&r'pathsepr split)r'rrrpsz)Test_import.test_files_checked..pF __init__.pyz.pyz.pycz.soz.slz.pydz /spam/eggs.pyzni.pyz../../shrubbery.pyz import jamz/jamZjamc3s|]}|VqdSrr)r+extrrr r.z1Test_import.test_files_checked..) rr#rr&r'seprr r"dirnameaddr)rr-Zexpected_extensionsZ names_to_testZexpected_checksrrrtest_files_checkeds    zTest_import.test_files_checkedcCs$d}d|_tdg|_||dS)N import barFbar.pyrr#rr"rYrrrtest_not_in_packages zTest_import.test_not_in_packagecCs&d}d|_tddg|_||dS)Nz1from __future__ import absolute_import import barFr.r6r7rYrrr!test_with_absolute_import_enabledsz-Test_import.test_with_absolute_import_enabledcCs,d}d}d|_tddg|_|||dS)Nr5from . import barFr.r6)rr#rrr<rrrtest_in_packages zTest_import.test_in_packagecCs4d}d}d|_tddtjjg|_|||dS)Nr5r:Fr.Zbar)rr#r&r'r1rrr<rrrtest_import_from_package$s z$Test_import.test_import_from_packagecCsd}||dS)Nr:r$rYrrrtest_already_relative_import+sz(Test_import.test_already_relative_importcCsd}d}|||dS)Nzimport bar # Foozfrom . import bar # Foor;r<rrrtest_comments_and_indent/sz$Test_import.test_comments_and_indentcCs@d}d}|||d}d}|||d}d}|||dS)Nzfrom foo import bar, bazzfrom .foo import bar, bazzfrom foo import barzfrom .foo import barzfrom foo import (bar, baz)zfrom .foo import (bar, baz)r)r<rrr test_from4s  zTest_import.test_fromcCsd}d}|||dS)Nzfrom green.eggs import hamzfrom .green.eggs import hamr?r<rrrtest_dotted_fromAszTest_import.test_dotted_fromcCsd}d}|||dS)Nz"from green.eggs import ham as spamz#from .green.eggs import ham as spamr?r<rrr test_from_asFszTest_import.test_from_ascCsTd}d}|||d}d}|||d}d}|||d}d}|||dS) Nz import foozfrom . import fooimport foo, barzfrom . import foo, barzimport foo, bar, xzfrom . import foo, bar, xzimport x, y, zzfrom . import x, y, zr?r<rrr test_importKs   zTest_import.test_importcCs,d}d}|||d}d}|||dS)Nzimport foo as xzfrom . import foo as xzimport a as b, b as c, c as dz$from . import a as b, b as c, c as dr?r<rrrr\s  zTest_import.test_import_ascCs(d|_tddg|_d}||ddS)NFzfoo.pyr.rCz#absolute and local imports together)rr#rr&rYrrrtest_local_and_absoluteesz#Test_import.test_local_and_absolutecCsd}d}|||dS)Nzimport foo.barzfrom . import foo.barr?r<rrrtest_dotted_importlszTest_import.test_dotted_importcCsd}d}|||dS)Nzimport foo.bar as bangzfrom . import foo.bar as bangr?r<rrrtest_dotted_import_asqsz!Test_import.test_dotted_import_ascCsd}d}|||dS)Nz1 # prefix import foo.bar z8 # prefix from . import foo.bar r?r<rrr test_prefixvszTest_import.test_prefix)r7r*r8r rr(r)r4r8r9r;r<r=r>r@rArBrDrrErFrGrHr rrr rrs(    rc@s8eZdZdZddZddZddZdd Zd d Zd S) Test_set_literalZ set_literalcCsd}d}|||d}d}|||d}d}|||d}|||d}d}|||d }|||d }d }|||d }d }|||d}d}|||dS)Nzset([1, 2, 3])z {1, 2, 3}zset((1, 2, 3))z set((1,)){1}zset([1])z set((a, b))z{a, b}z set([a, b])zset((a*234, f(args=23)))z{a*234, f(args=23)}zset([a*23, f(23)])z {a*23, f(23)}zset([a-234**23])z {a-234**23}r;r<rrrr?s2        zTest_set_literal.test_basiccCsTd}d}|||d}d}|||d}d}|||d}d}|||dS) Nzset([x for x in y])z{x for x in y}zset([x for x in y if x == m])z{x for x in y if x == m}zset([x for x in y for a in b])z{x for x in y for a in b}zset([f(x) - 23 for x in y])z{f(x) - 23 for x in y}r;r<rrrtest_listcompss   zTest_set_literal.test_listcompscCsd}d}|||d}d}|||d}d}|||d}d}|||d }d }|||d }d }|||d }d}|||dS)Nz set( [1, 2])z{1, 2}z set([1 , 2])z{1 , 2}z set([ 1 ])z{ 1 }z set( [1] )rJzset([ 1, 2 ])z { 1, 2 }zset([x for x in y ])z{x for x in y }zimport collections.abc isinstance(x, collections.abc.Sequence)r;r<rrrtest_operator_isSequenceTypeUsz*Test_operator.test_operator_isSequenceTypecCsd}d}|||dS)Nzoperator.isMappingType(x)z=import collections.abc isinstance(x, collections.abc.Mapping)r;r<rrrtest_operator_isMappingTypeZsz)Test_operator.test_operator_isMappingTypecCsd}d}|||dS)Nzoperator.isNumberType(x)z,import numbers isinstance(x, numbers.Number)r;r<rrrtest_operator_isNumberType_sz(Test_operator.test_operator_isNumberTypecCs@d}d}|||d}d}|||d}d}|||dS)Nzoperator.repeat(x, n)zoperator.mul(x, n)zoperator .repeat(x, n)zoperator .mul(x, n)zoperator. repeat(x, n)zoperator. mul(x, n)r;r<rrrtest_operator_repeatds  z"Test_operator.test_operator_repeatcCs@d}d}|||d}d}|||d}d}|||dS)Nzoperator.irepeat(x, n)zoperator.imul(x, n)zoperator .irepeat(x, n)zoperator .imul(x, n)zoperator. irepeat(x, n)zoperator. imul(x, n)r;r<rrrtest_operator_irepeatqs  z#Test_operator.test_operator_irepeatcCsd}d}|||dS)Nz isCallable(x)z"You should use 'callable(x)' here.rrrZtrrrtest_bare_isCallable~sz"Test_operator.test_bare_isCallablecCsd}d}|||dS)NzsequenceIncludes(x, y)z.You should use 'operator.contains(x, y)' here.rr`rrrtest_bare_sequenceIncludessz(Test_operator.test_bare_sequenceIncludescCsd}d}|||dS)NzisSequenceType(z)z>You should use 'isinstance(z, collections.abc.Sequence)' here.rr`rrr!test_bare_operator_isSequenceTypesz/Test_operator.test_bare_operator_isSequenceTypecCsd}d}|||dS)NzisMappingType(x)z=You should use 'isinstance(x, collections.abc.Mapping)' here.rr`rrr test_bare_operator_isMappingTypesz.Test_operator.test_bare_operator_isMappingTypecCsd}d}|||dS)NzisNumberType(y)z4You should use 'isinstance(y, numbers.Number)' here.rr`rrrtest_bare_operator_isNumberTypesz-Test_operator.test_bare_operator_isNumberTypecCsd}d}|||dS)Nz repeat(x, n)z)You should use 'operator.mul(x, n)' here.rr`rrrtest_bare_operator_repeatsz'Test_operator.test_bare_operator_repeatcCsd}d}|||dS)Nzirepeat(y, 187)z,You should use 'operator.imul(y, 187)' here.rr`rrrtest_bare_operator_irepeatsz(Test_operator.test_bare_operator_irepeatN)r7r*r8r rYrZr[r\r]r^r_rbrcrdrerfrgrhrrrrrW?s   rWc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS) Test_exitfuncZexitfunccCsd}d}|||dS)NzI import sys sys.exitfunc = my_atexit ze import sys import atexit atexit.register(my_atexit) r;r<rrrrszTest_exitfunc.test_simplecCsd}d}|||dS)NzO import sys, crumbs sys.exitfunc = my_func zY import sys, crumbs, atexit atexit.register(my_func) r;r<rrrtest_names_importszTest_exitfunc.test_names_importcCsd}d}|||dS)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) r;r<rrrtest_complex_expressionsz%Test_exitfunc.test_complex_expressioncCs,d}d}|||d}d}|||dS)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) r;r<rrrrs  zTest_exitfunc.test_commentscCsd}d}|||dS)Nz] import sys def f(): sys.exitfunc = func zz import sys import atexit def f(): atexit.register(func) r;r<rrrtest_in_a_functionsz Test_exitfunc.test_in_a_functioncCsd}d}d}||||dS)Nzsys.exitfunc = fzatexit.register(f)zKCan't find sys import; Please add an atexit import at the top of your file.r%)rr=r>msgrrrtest_no_sys_importsz Test_exitfunc.test_no_sys_importcCsd}||dS)Nzf(sys.exitfunc)r$rYrrrrmszTest_exitfunc.test_unchangedN) r7r*r8r rrjrkrrlrnrmrrrrris   ric@s(eZdZdZddZddZddZdS) Test_assertsZassertscCs&gd}|D]\}}|||q dS)N) )zself.assert_(True)self.assertTrue(True))zself.assertEquals(2, 2)self.assertEqual(2, 2))zself.assertNotEquals(2, 3)self.assertNotEqual(2, 3))zself.assertAlmostEquals(2, 3)self.assertAlmostEqual(2, 3))z self.assertNotAlmostEquals(2, 8)self.assertNotAlmostEqual(2, 8))zself.failUnlessEqual(2, 2)rq)zself.failIfEqual(2, 3)rr)z self.failUnlessAlmostEqual(2, 3)rs)zself.failIfAlmostEqual(2, 8)rt)zself.failUnless(True)rp)zself.failUnlessRaises(foo)zself.assertRaises(foo))zself.failIf(False)zself.assertFalse(False)r;)rZtestsr=r>rrrtest_deprecated_namess z"Test_asserts.test_deprecated_namescCsd}d}|||d}d}|||d}d}|||d}d}|||d }d }|||d }d }|||d }d}|||dS)Nzeq = self.assertEqualszeq = 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") # foozself.assertEquals (2, 3)zself.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()r;r<rrr test_variantss*      zTest_asserts.test_variantscCs|d|ddS)Nzself.assertEqualsOnSaturdayz!self.assertEqualsOnSaturday(3, 5)r$rrrrrm's zTest_asserts.test_unchangedN)r7r*r8r rurvrmrrrrrosro)Br&r rrXrrrrZ lib2to3.testsrZTestCaserr9rBrNrhrnrqrvrrrrrrrrrrr rrr$r&r5r=r@rIrXr]rmrprrrrrrrrrrrrrr rrrIrLrMrPrSrWrirorrrrs   9:;1#j3&}.&gH /+br/< ]4B.Oh|P Z =J%":&=cX