;
Ìâ"Ic               @   s•   d  d l  Z  d  d l m Z m Z d  d l Z e j d d e d ƒ e j d d e d ƒ Gd „  d e  j ƒ Z d	 „  Z	 e
 d
 k o e	 ƒ  n d S(   i    N(   u   check_syntax_erroru   run_unittestu   ignoreu	   import \*u   <test string>u   <string>c             B   s.  |  Ee  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  S(!   c             C   sQ   d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc                s   ‡  f d †  } | S(   Nc                s   ˆ  |  S(   N(    (   u   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   adder   s    (    (   u   xu   adder(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu
   make_adder   s    i   i
   i   iþÿÿÿi   (   u   assertEqual(   u   selfu
   make_adderu   incu   plus10(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testSimpleNesting
   s
    	c             C   sQ   d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc                s   ‡  f d †  } | ƒ  S(   Nc                 s   ‡  f d †  }  |  S(   Nc                s   ˆ  |  S(   N(    (   u   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   adder   s    (    (   u   adder(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   extra   s    (    (   u   xu   extra(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   make_adder2   s    i   i
   i   iþÿÿÿi   (   u   assertEqual(   u   selfu   make_adder2u   incu   plus10(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testExtraNesting   s
    	c             C   sQ   d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc                s   ‡  f d †  } ˆ  d ‰  | S(   Nc                s   ˆ  |  S(   N(    (   u   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   adder)   s    i   (    (   u   xu   adder(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   make_adder3(   s    
i    i	   i   i   iþÿÿÿi   (   u   assertEqual(   u   selfu   make_adder3u   incu   plus10(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testSimpleAndRebinding&   s
    	c                sT   ‡  f d †  } d ‰  | ƒ  } |  j  | d ƒ d ƒ d ‰  |  j  | d ƒ d ƒ d  S(   Nc                 s   ‡  f d †  }  |  ƒ  S(   Nc                 s   ‡  f d †  }  |  ƒ  S(   Nc                 s   ‡  f d †  }  |  S(   Nc                s   ˆ  |  S(   N(    (   u   y(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   adder9   s    (    (   u   adder(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   nest8   s    (    (   u   nest(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   nest7   s    (    (   u   nest(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   make_adder46   s    i   i   i
   iþÿÿÿi   (   u   assertEqual(   u   selfu   make_adder4u   adder(    (   u   global_xu,   /mit/python/lib/python3.0/test/test_scope.pyu   testNestingGlobalNoFree4   s    		c             C   sQ   d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc                s   G‡  f d †  d ƒ } | ƒ  S(   Nc                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  | S(   N(    (   u   selfu   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   __call__J   s    N(   u   __name__u
   __module__u   __call__(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   AdderI   s   
u   Adder(    (   u   xu   Adder(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   make_adder5H   s    i   i
   i   iþÿÿÿi   (   u   assertEqual(   u   selfu   make_adder5u   incu   plus10(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNestingThroughClassF   s
    	c             C   sQ   d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc             S   s   d „  } |  a  | S(   Nc             S   s   t  |  S(   N(   u   global_nest_x(   u   y(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   adderX   s    (   u   global_nest_x(   u   xu   adder(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   make_adder6V   s    	i   i
   i   iþÿÿÿi   (   u   assertEqual(   u   selfu   make_adder6u   incu   plus10(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNestingPlusFreeRefToGlobalT   s
    	c             C   s/   d „  } | d ƒ } |  j  | d ƒ d ƒ d  S(   Nc             S   s   d „  } | d ƒ S(   Nc                s   d ‰  ‡  f d †  } | S(   Ni*   c                s   ˆ  |  S(   N(    (   u   z(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   hh   s    (    (   u   yu   h(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   gf   s    i   (    (   u   xu   g(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   fe   s    	i
   i   i/   (   u   assertEqual(   u   selfu   fu	   test_func(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNearestEnclosingScopec   s    	c                sS   d „  ‰  ‡  f d †  } | d d d ƒ } | d d d ƒ } |  j  | ƒ  d ƒ d  S(	   Nc             S   s   |  S(   N(    (   u   x(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   identityr   s    c                s   ‡  ‡ ‡ f d †  } | S(   Nc                s0   |  ˆ }  ‡ ‡ ‡  ‡ f d †  } | ˆ ‰ | S(   Nc                  s   ˆ ˆ ˆ ˆ  ƒ S(   N(    (    (   u   yu   zu   bu   identity(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   hx   s    (    (   u   au   bu   cu   h(   u   xu   zu   identity(   u   bu   yu,   /mit/python/lib/python3.0/test/test_scope.pyu   gv   s    

(    (   u   xu   yu   zu   g(   u   identity(   u   xu   zu,   /mit/python/lib/python3.0/test/test_scope.pyu   fu   s    i   i   i   i   i   i'   (   u   assertEqual(   u   selfu   fu   gu   h(    (   u   identityu,   /mit/python/lib/python3.0/test/test_scope.pyu   testMixedFreevarsAndCellvarsp   s
    	c                s¿   d „  } | ƒ  } |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ d ‰  G‡  f d †  d ƒ } | ƒ  } |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ d  S(   Nc                 s#   d ‰  G‡  f d †  d ƒ }  |  ƒ  S(   Nu   varc                s8   |  Ee  Z d  „  Z ‡  f d †  Z d „  Z d „  Z d S(   c             S   s   d S(   Nu   method(    (   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   method_and_var‰   s    c                s   ˆ  S(   N(    (   u   self(   u   method_and_var(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   test‹   s    c             S   s
   t  d ƒ S(   Nu   global(   u   str(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   actual_global   s    c             S   s
   t  |  ƒ S(   N(   u   str(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   str   s    N(   u   __name__u
   __module__u   method_and_varu   testu   actual_globalu   str(   u
   __locals__(   u   method_and_var(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   Testˆ   s   
		u   Test(    (   u   Test(    (   u   method_and_varu,   /mit/python/lib/python3.0/test/test_scope.pyu   test†   s    	u   varu   methodu   globalc                s8   |  Ee  Z d  „  Z ‡  f d †  Z d „  Z d „  Z d S(   c             S   s   d S(   Nu   method(    (   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   method_and_var›   s    c                s   ˆ  S(   N(    (   u   self(   u   method_and_var(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   test   s    c             S   s
   t  d ƒ S(   Nu   global(   u   str(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   actual_globalŸ   s    c             S   s
   t  |  ƒ S(   N(   u   str(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   str¡   s    N(   u   __name__u
   __module__u   method_and_varu   testu   actual_globalu   str(   u
   __locals__(   u   method_and_var(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   Test™   s   
		u   Test(   u   assertEqualu   testu   method_and_varu   actual_global(   u   selfu   testu   tu   Test(    (   u   method_and_varu,   /mit/python/lib/python3.0/test/test_scope.pyu   testFreeVarInMethod„   s    			c             C   s?   d d d „ } |  j  | d d ƒ d ƒ |  j  | ƒ  d ƒ d  S(   Nu   ai   c                s   ‡  f d †  } | ƒ  d S(   Nc                  s   ˆ  d S(   Ni   (    (    (   u   a(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   bar­   s    i   (    (   u   au   bar(    (   u   au,   /mit/python/lib/python3.0/test/test_scope.pyu   foo¬   s    i*   i2   i   (   u   assertEqual(   u   selfu   foo(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testCellIsKwonlyArg©   s    c             C   s#   d „  } |  j  | d ƒ d ƒ d  S(   Nc                s7   ‡  f d †  ‰  |  d k o ˆ  |  ƒ St  d ƒ ‚ d  S(   Nc                s(   |  d k o d S|  ˆ  |  d ƒ Sd  S(   Ni    i   (    (   u   n(   u   fact(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   fact·   s    i    u   x must be >= 0(   u
   ValueError(   u   x(    (   u   factu,   /mit/python/lib/python3.0/test/test_scope.pyu   f¶   s    i   iÐ  (   u   assertEqual(   u   selfu   f(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testRecursion´   s    	c             C   sE   t  |  d ƒ t  |  d ƒ t  |  d ƒ t  |  d ƒ t  |  d ƒ d  S(   Nu   def unoptimized_clash1(strip):
    def f(s):
        from sys import *
        return getrefcount(s) # ambiguity: free or local
    return f
u†   def unoptimized_clash2():
    from sys import *
    def f(s):
        return getrefcount(s) # ambiguity: global or local
    return f
uŸ   def unoptimized_clash2():
    from sys import *
    def g():
        def f(s):
            return getrefcount(s) # ambiguity: global or local
        return f
uC   def f(x):
    def g():
        return x
    del x # can't del name
u^   def f():
    def g():
        from sys import *
        return getrefcount # global or local?
(   u   check_syntax_error(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testUnoptimizedNamespacesÄ   s    c       	         s  d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d „  } | d ƒ } | d ƒ } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ ‡  f d †  } d ‰  | d  ƒ } |  j  | d ƒ d	 ƒ d
 „  } | d d d	 ƒ } | d d d ƒ } |  j  | ƒ  d ƒ d  S(   Nc                s   ‡  f d  †  S(   c                s   ˆ  |  S(    (    (   u   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>ï   s    (    (   u   x(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>ï   s    i   i
   i   i   i   c                s   ‡  f d  †  ƒ  S(   c                  s   ‡  f d  †  S(   c                s   ˆ  |  S(    (    (   u   y(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>õ   s    (    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>õ   s    (    (   u   x(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>õ   s    c                s   ‡  f d  †  S(   c                s   ˆ  |  S(    (    (   u   y(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>û   s    (    (   u   x(   u   global_x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>û   s    i   c                s   ‡  ‡ f d  †  S(   c                s   ‡ ‡ ‡  f d  †  S(   c                  s   ˆ ˆ ˆ  S(    (    (    (   u   yu   zu   b(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>   s    (    (   u   au   bu   c(   u   yu   z(   u   bu,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>   s    (    (   u   xu   yu   z(    (   u   yu   zu,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>   s    i   i   i   (   u   assertEqualu   None(	   u   selfu   f1u   incu   plus10u   f2u   f3u   f8u   gu   h(    (   u   global_xu,   /mit/python/lib/python3.0/test/test_scope.pyu   testLambdasí   s$    			c             C   s…   d „  } d „  } y | ƒ  Wn t  k
 o Yn X|  j ƒ  y | ƒ  Wn t k
 o Yn X|  j ƒ  t d i |  j d 6ƒ d  S(   Nc                 s#   t  ˆ  ƒ ‡  f d †  }  d ‰  d  S(   Nc                  s   ˆ  S(   N(    (    (   u   y(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   inner	  s    i   (   u   print(   u   inner(    (   u   yu,   /mit/python/lib/python3.0/test/test_scope.pyu   errorInOuter  s    
c                 s    ‡  f d †  }  |  ƒ  d ‰  d  S(   Nc                  s   ˆ  S(   N(    (    (   u   y(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   inner  s    i   (    (   u   inner(    (   u   yu,   /mit/python/lib/python3.0/test/test_scope.pyu   errorInInner  s    u–   
global_x = 1
def f():
    global_x += 1
try:
    f()
except UnboundLocalError:
    pass
else:
    fail('scope of global_x not correctly determined')
u   fail(   u   UnboundLocalErroru   failu	   NameErroru   exec(   u   selfu   errorInOuteru   errorInInner(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testUnboundLocal  s    		


c             C   sU   d „  } |  j  | d d d ƒ ƒ  d ƒ d „  } |  j  | d d ƒ ƒ  d d ƒ d  S(	   Nc                 s   ‡  f d †  } | S(   Nc                  s   ˆ  S(   N(    (    (   u   lst(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   returner1  s    (    (   u   lstu   returner(    (   u   lstu,   /mit/python/lib/python3.0/test/test_scope.pyu   makeReturner0  s    i   i   i   c                 s   ‡  f d †  } | S(   Nc                  s   ˆ  S(   N(    (    (   u   kwargs(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   returner8  s    (    (   u   kwargsu   returner(    (   u   kwargsu,   /mit/python/lib/python3.0/test/test_scope.pyu   makeReturner27  s    u   ai   (   i   i   i   (   u   assertEqual(   u   selfu   makeReturneru   makeReturner2(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testComplexDefinitions.  s    		c             C   s   t  d ƒ d  S(   NuÉ  # I
x = 7
def f():
    x = 1
    def g():
        global x
        def i():
            def h():
                return x
            return h()
        return i()
    return g()
self.assertEqual(f(), 7)
self.assertEqual(x, 7)

# II
x = 7
def f():
    x = 1
    def g():
        x = 2
        def i():
            def h():
                return x
            return h()
        return i()
    return g()
self.assertEqual(f(), 2)
self.assertEqual(x, 7)

# III
x = 7
def f():
    x = 1
    def g():
        global x
        x = 2
        def i():
            def h():
                return x
            return h()
        return i()
    return g()
self.assertEqual(f(), 2)
self.assertEqual(x, 2)

# IV
x = 7
def f():
    x = 3
    def g():
        global x
        x = 2
        def i():
            def h():
                return x
            return h()
        return i()
    return g()
self.assertEqual(f(), 2)
self.assertEqual(x, 2)

# XXX what about global statements in class blocks?
# do they affect methods?

x = 12
class Global:
    global x
    x = 13
    def set(self, val):
        x = val
    def get(self):
        return x

g = Global()
self.assertEqual(g.get(), 13)
g.set(15)
self.assertEqual(g.get(), 13)
(   u   exec(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testScopeOfGlobalStmt>  s    Oc                sZ   G‡  f d †  d ƒ ‰  ‡  f d †  } x t  d ƒ D] } | ƒ  q2 W|  j ˆ  j d ƒ d  S(   Nc                s2   |  Ee  Z d  Z ‡  f d †  Z ‡  f d †  Z d S(   i    c                s   ˆ  j  d 7_  d  S(   Ni   (   u   count(   u   self(   u   Foo(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   __init__—  s    c                s   ˆ  j  d 8_  d  S(   Ni   (   u   count(   u   self(   u   Foo(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   __del__š  s    N(   u   __name__u
   __module__u   countu   __init__u   __del__(   u
   __locals__(   u   Foo(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   Foo”  s   
u   Fooc                 s#   ˆ ƒ  ‰  ‡  f d †  }  |  ƒ  d  S(   Nc                  s   ˆ  S(   N(    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   f2Ÿ  s    (    (   u   f2(   u   Foo(   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f1  s    	id   i    (   u   rangeu   assertEqualu   count(   u   selfu   f1u   i(    (   u   Foou,   /mit/python/lib/python3.0/test/test_scope.pyu	   testLeaks’  s    	 c             C   s   t  d ƒ d  S(   Nu³  def test(x):
    class Foo:
        global x
        def __call__(self, y):
            return x + y
    return Foo()

x = 0
self.assertEqual(test(6)(2), 8)
x = -1
self.assertEqual(test(3)(2), 5)

looked_up_by_load_name = False
class X:
    # Implicit globals inside classes are be looked up by LOAD_NAME, not
    # LOAD_GLOBAL.
    locals()['looked_up_by_load_name'] = True
    passed = looked_up_by_load_name

self.assert_(X.passed)
(   u   exec(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testClassAndGlobal¨  s    c             C   s^   d „  } | d ƒ d ƒ } |  j  d | k ƒ | d =|  j | i d d 6d d 6d d	 6ƒ d  S(
   Nc                s   ‡  f d †  } | S(   Nc                s*   ‡  f d †  } ˆ ˆ  } ˆ  d 7‰  t  ƒ  S(   Nc                s   ˆ  |  S(   N(    (   u   z(   u   y(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   hÅ  s    i   (   u   locals(   u   yu   hu   w(   u   x(   u   yu,   /mit/python/lib/python3.0/test/test_scope.pyu   gÄ  s    

(    (   u   xu   g(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fÃ  s    i   i   u   hu   xi   u   yi   u   w(   u   assert_u   assertEqual(   u   selfu   fu   d(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testLocalsFunctionÁ  s
    		c             C   sd   d „  } |  j  | d ƒ j d ƒ d „  } | d ƒ j } |  j d | k ƒ |  j d | k ƒ d  S(   Nc                s   G‡  f d †  d ƒ } | S(   Nc                s*   |  Ee  Z d  Z ‡  f d †  Z e ƒ  d S(   i   c                s   ˆ  S(   N(    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   mß  s    N(   u   __name__u
   __module__u   xu   mu   locals(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   CÝ  s   
u   C(    (   u   xu   C(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fÜ  s    i   i   c                s   G‡  f d †  d ƒ } | S(   Nc                s2   |  Ee  Z ˆ  Z ‡  f d  †  Z e e ƒ  ƒ Z d S(   c                s   ˆ  S(   N(    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   mé  s    N(   u   __name__u
   __module__u   yu   mu   listu   localsu   z(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   Cç  s   
u   C(    (   u   xu   C(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fæ  s    u   xu   y(   u   assertEqualu   xu   zu   assert_(   u   selfu   fu   varnames(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testLocalsClassÑ  s    		c          
      sa   d d  l  } | j d „  ƒ z0 d ‰  G‡  f d †  d ƒ } |  j ˆ  d ƒ Wd  | j d  ƒ Xd  S(   Ni    c             S   s   d  S(   N(   u   None(   u   au   bu   c(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>ø  s    i   c                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  S(   N(    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   fý  s    N(   u   __name__u
   __module__u   f(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   Cü  s   
u   C(   u   sysu   settraceu   assertEqualsu   None(   u   selfu   sysu   C(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   testLocalsClass_WithTraceò  s    c             C   s5   d „  } | d ƒ ƒ  } |  j  | j | j ƒ  ƒ d  S(   Nc                s   G‡  f d †  d ƒ } | S(   Nc                s#   |  Ee  Z ‡  f d  †  Z ˆ  Z d S(   c                s   ˆ  S(   N(    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   m	  s    N(   u   __name__u
   __module__u   mu   a(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   C  s   
u   C(    (   u   xu   C(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f  s    i   (   u   assertEqualu   au   m(   u   selfu   fu   inst(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testBoundAndFree  s    	c                su   d d  l  } ‡  f d †  ‰  d „  } Gd „  d ƒ } | j ˆ  ƒ | d | d	 ƒ | j d  ƒ |  j t | j ƒ d  S(
   Ni    c                s   ˆ  S(   N(    (   u   au   bu   c(   u   tracer(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   tracer  s    c                sO   | \ } ‰  | d k o2 ˆ  d k o d | j  |  f ‰  n ‡  f d †  Sd  S(   Ni   u    u   _%s__%sc                s   t  |  ˆ  ƒ S(    (   u   getattr(   u   obj(   u   des(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>  s    (   u   __name__(   u   nameu   klassu   getteru   kind(    (   u   desu,   /mit/python/lib/python3.0/test/test_scope.pyu   adaptgetter  s
    c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu	   TestClass  s   
u	   TestClassu   fooi   u    (   i   u    (   u   sysu   settraceu   Noneu   assertRaisesu	   TypeError(   u   selfu   sysu   adaptgetteru	   TestClass(    (   u   traceru,   /mit/python/lib/python3.0/test/test_scope.pyu   testInteractionWithTraceFunc  s    	c          	   C   sg   d „  } | d ƒ } |  j  t t | j ƒ y t | j i  ƒ Wn t k
 o Yn X|  j d ƒ d  S(   Nc                s   ‡  f d †  S(   Nc                  s   ˆ  d  S(   i   (    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <lambda>*  s    (    (   u   x(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f)  s    i   u9   exec should have failed, because code contained free vars(   u   assertRaisesu	   TypeErroru   evalu   __code__u   execu   fail(   u   selfu   fu   g(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testEvalExecFreeVars'  s    	c             C   sh   y t  t ƒ Wn t k
 o Yn Xt  d ƒ d „  } | ƒ  y t  t ƒ Wn t k
 o Yn Xd  S(   Nu   bad should not be definedc               S   s   d „  d Dƒ d  S(   Nc             S   s.   g  } |  ]  } | j  ƒ  D] } | | q q
 S(    (   u   split(   u   .0u   _[1]u   su   bad(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu
   <listcomp>@  s    u   a b(    (    (    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   x?  s    (   u   printu   badu	   NameError(   u   selfu   x(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testListCompLocalVars6  s    
	c             C   s   d „  } | d ƒ ƒ  d  S(   Nc                s   ‡  f d †  } | S(   Nc                  s   ˆ  t  d ƒ d  S(   Nu   x + 1(   u   eval(    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   gK  s    (    (   u   xu   g(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fJ  s    i   (    (   u   selfu   f(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testEvalFreeVarsH  s    	c             C   s   Gd „  d ƒ } d  S(   Nc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   t  ƒ  d  S(   N(   u   nestedcell_get(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   __del__V  s    N(   u   __name__u
   __module__u   __del__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   SpecialU  s   
u   Special(    (   u   selfu   Special(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testFreeingCellR  s    c             C   sk   d „  } | d ƒ \ } } |  j  | ƒ  d ƒ |  j  | ƒ  d ƒ |  j  | ƒ  d ƒ |  j  | ƒ  d ƒ d  S(   Nc                s(   ‡  f d †  } ‡  f d †  } | | f S(   Nc                  s   ˆ  d 7‰  ˆ  S(   Ni   (    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   inc\  s    
c                  s   ˆ  d 8‰  ˆ  S(   Ni   (    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   dec`  s    
(    (   u   xu   incu   dec(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f[  s    i    i   i   (   u   assertEqual(   u   selfu   fu   incu   dec(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNonLocalFunctionY  s    	c             C   sq   d „  } | d ƒ } |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ |  j  | j ƒ  d ƒ d  S(   Nc                s   G‡  f d †  d ƒ } | ƒ  S(   Nc                s,   |  Ee  Z ‡  f d  †  Z ‡  f d †  Z d S(   c                s   ˆ  d 7‰  ˆ  S(   Ni   (    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   incp  s    
c                s   ˆ  d 8‰  ˆ  S(   Ni   (    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   dect  s    
N(   u   __name__u
   __module__u   incu   dec(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   co  s   
u   c(    (   u   xu   c(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fn  s    	i    i   i   (   u   assertEqualu   incu   dec(   u   selfu   fu   c(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNonLocalMethodl  s    	c             C   sH   d „  } | d ƒ } |  j  | j ƒ  d ƒ |  j d | j j k ƒ d  S(   Nc                s   G‡  f d †  d ƒ } | ƒ  S(   Nc                s'   |  Ee  Z ˆ  d  7‰  ‡  f d †  Z d S(   i   c                s   ˆ  S(   N(    (   u   self(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   get†  s    N(   u   __name__u
   __module__u   get(   u
   __locals__(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   cƒ  s   

u   c(    (   u   xu   c(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f‚  s    i    i   u   x(   u   assertEqualu   getu   assert_u	   __class__u   __dict__(   u   selfu   fu   c(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNonLocalClass€  s    	c             C   sD   d „  } | d ƒ } |  j  t | d ƒ ƒ d d d d d g ƒ d  S(   Nc                s   ‡  f d †  } | S(   Nc             3   s*   x# t  |  ƒ D] } ˆ  d 7‰  ˆ  Vq Wd  S(   Ni   (   u   range(   u   yu   i(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   g’  s     
(    (   u   xu   g(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   f‘  s    i    i   i   i   i   i   (   u   assertEqualu   list(   u   selfu   fu   g(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNonLocalGenerator  s    	c             C   s5   d „  } | d ƒ } | ƒ  } |  j  | ƒ  d ƒ d  S(   Nc                s   ‡  f d †  } | S(   Nc                 s   ˆ  d 8‰  ‡  f d †  }  |  S(   Ni   c                  s   ˆ  d 7‰  ˆ  S(   Ni   (    (    (   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   h¢  s    
(    (   u   h(   u   x(    u,   /mit/python/lib/python3.0/test/test_scope.pyu   gŸ  s    
(    (   u   xu   g(    (   u   xu,   /mit/python/lib/python3.0/test/test_scope.pyu   fž  s    i   i   (   u   assertEqual(   u   selfu   fu   gu   h(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   testNestedNonLocalœ  s    		N("   u   __name__u
   __module__u   testSimpleNestingu   testExtraNestingu   testSimpleAndRebindingu   testNestingGlobalNoFreeu   testNestingThroughClassu   testNestingPlusFreeRefToGlobalu   testNearestEnclosingScopeu   testMixedFreevarsAndCellvarsu   testFreeVarInMethodu   testCellIsKwonlyArgu   testRecursionu   testUnoptimizedNamespacesu   testLambdasu   testUnboundLocalu   testComplexDefinitionsu   testScopeOfGlobalStmtu	   testLeaksu   testClassAndGlobalu   testLocalsFunctionu   testLocalsClassu   testLocalsClass_WithTraceu   testBoundAndFreeu   testInteractionWithTraceFuncu   testEvalExecFreeVarsu   testListCompLocalVarsu   testEvalFreeVarsu   testFreeingCellu   testNonLocalFunctionu   testNonLocalMethodu   testNonLocalClassu   testNonLocalGeneratoru   testNestedNonLocal(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu
   ScopeTests   s@   
									%			)		)		T				!						
					u
   ScopeTestsc               C   s   t  t ƒ d  S(   N(   u   run_unittestu
   ScopeTests(    (    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu	   test_main®  s    u   __main__(   u   unittestu   test.supportu   check_syntax_erroru   run_unittestu   warningsu   filterwarningsu   SyntaxWarningu   TestCaseu
   ScopeTestsu	   test_mainu   __name__(    (    (    u,   /mit/python/lib/python3.0/test/test_scope.pyu   <module>   s   ÿ ÿ ¨	