;
"Ic            
   @   s  d  Z  d Z d Z d d l Z d d l Z d d l m Z d d l m Z m	 Z	 d d l
 m Z Gd   d	 e  Z d
   Z Gd   d e  Z e d    Z Gd   d e  Z Gd   d e  Z Gd   d e j  Z Gd   d e  Z Gd   d e j e  Z Gd   d e j e  Z Gd   d e e j  Z Gd   d e j  Z Gd   d e j  Z Gd    d! e j  Z d"   Z e d# k o e   n d S($   u7   Unit tests for the with statement specified in PEP 343.u
   Mike Blandu   mbland at acm dot orgi    N(   u   deque(   u   GeneratorContextManageru   contextmanager(   u   run_unittestc             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             C   s/   t  j |  |  d |  _ d |  _ d  |  _ d  S(   NF(   u   GeneratorContextManageru   __init__u   Falseu   enter_calledu   exit_calledu   Noneu	   exit_args(   u   selfu   gen(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __init__   s    		c             C   s   d |  _ t j |   S(   NT(   u   Trueu   enter_calledu   GeneratorContextManageru	   __enter__(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__   s    	c             C   s1   d |  _ | | | f |  _ t j |  | | |  S(   NT(   u   Trueu   exit_calledu	   exit_argsu   GeneratorContextManageru   __exit__(   u   selfu   typeu   valueu	   traceback(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__   s    	N(   u   __name__u
   __module__u   __init__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   MockContextManager   s   
		u   MockContextManagerc                s     f d   } | S(   Nc                 s   t    |  |    S(   N(   u   MockContextManager(   u   argsu   kwds(   u   func(    u+   /mit/python/lib/python3.0/test/test_with.pyu   helper#   s    (    (   u   funcu   helper(    (   u   funcu+   /mit/python/lib/python3.0/test/test_with.pyu   mock_contextmanager"   s    c             B   s   |  Ee  Z d    Z d S(   c             C   s   d |  _ d |  _ d  S(   NF(   u   Falseu   yieldedu   stopped(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __init__)   s    	N(   u   __name__u
   __module__u   __init__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   MockResource(   s   
u   MockResourcec           	   c   s,   t    }  z d |  _ |  VWd  d |  _ Xd  S(   NT(   u   MockResourceu   Trueu   yieldedu   stopped(   u   mock(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   mock_contextmanager_generator.   s
    			c             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             G   s   | |  _  d  |  _ d  S(   N(   u   managersu   Noneu   entered(   u   selfu   managers(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __init__:   s    	c          	   C   s   |  j  d  k	 o t d   n t   |  _  g  } y; x4 |  j D]) } | j | j    |  j  j |  q? WWn% |  j t	 j
     p   n Yn X| S(   Nu   Context is not reentrant(   u   enteredu   Noneu   RuntimeErroru   dequeu   managersu   appendu	   __enter__u
   appendleftu   __exit__u   sysu   exc_info(   u   selfu   varsu   mgr(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__>   s    
 c          
   G   s   | } xF |  j  D]; } y | j |   o
 d } n Wq t j   } Yq Xq Wd  |  _  | | k	 o% | d | d  j | d   n d  S(   Ni    i   i   (   NNN(   u   enteredu   __exit__u   Noneu   sysu   exc_infou   with_traceback(   u   selfu   exc_infou   exu   mgr(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__L   s    
 	N(   u   __name__u
   __module__u   __init__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   Nested8   s   
		u   Nestedc             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             G   s/   t  j |  |  d |  _ d |  _ d  |  _ d  S(   NF(   u   Nestedu   __init__u   Falseu   enter_calledu   exit_calledu   Noneu	   exit_args(   u   selfu   managers(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __init__]   s    		c             C   s   d |  _ t j |   S(   NT(   u   Trueu   enter_calledu   Nestedu	   __enter__(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__c   s    	c             G   s"   d |  _ | |  _ t j |  |  S(   NT(   u   Trueu   exit_calledu	   exit_argsu   Nestedu   __exit__(   u   selfu   exc_info(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__g   s    		N(   u   __name__u
   __module__u   __init__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu
   MockNested\   s   
		u
   MockNestedc             B   sh   |  Ee  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   s   d   } |  j  t |  d  S(   Nc              S   s$   t  j }  j   z Wd  |  ~  QXd  S(   N(   u   foou   __exit__u	   __enter__(   u   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   fooNotDeclaredo   s     (   u   assertRaisesu	   NameError(   u   selfu   fooNotDeclared(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testNameErrorn   s    	c                s6   Gd   d t       f d   } |  j t |  d  S(   Nc             B   s   |  Ee  Z d    Z d S(   c             S   s   d  S(   N(    (   u   selfu   typeu   valueu	   traceback(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__u   s    N(   u   __name__u
   __module__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu
   LacksEntert   s   
u
   LacksEnterc                 s-       }  |  j  } j   z Wd  | ~ QXd  S(   N(   u   __exit__u	   __enter__(   u   foou   _[1](   u
   LacksEnter(    u+   /mit/python/lib/python3.0/test/test_with.pyu   fooLacksEnterx   s    	 (   u   objectu   assertRaisesu   AttributeError(   u   selfu   fooLacksEnter(    (   u
   LacksEnteru+   /mit/python/lib/python3.0/test/test_with.pyu   testEnterAttributeErrors   s    c                s6   Gd   d t       f d   } |  j t |  d  S(   Nc             B   s   |  Ee  Z d    Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__   s    N(   u   __name__u
   __module__u	   __enter__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   LacksExit~   s   
u	   LacksExitc                 s-       }  |  j  } j   z Wd  | ~ QXd  S(   N(   u   __exit__u	   __enter__(   u   foou   _[1](   u	   LacksExit(    u+   /mit/python/lib/python3.0/test/test_with.pyu   fooLacksExit   s    	 (   u   objectu   assertRaisesu   AttributeError(   u   selfu   fooLacksExit(    (   u	   LacksExitu+   /mit/python/lib/python3.0/test/test_with.pyu   testExitAttributeError}   s    c             C   s    d   } |  j  t | |  d  S(   Nc             S   s   t  |  d d  d  S(   Nu    u   single(   u   compile(   u   s(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldRaiseSyntaxError   s    (   u   assertRaisesu   SyntaxError(   u   selfu   codestru   shouldRaiseSyntaxError(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   assertRaisesSyntaxError   s    	c             C   s   |  j  d  |  j  d  d  S(   Nu   with mock as None:
  passu   with mock as (None):
  pass(   u   assertRaisesSyntaxError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testAssignmentToNoneError   s    c             C   s   |  j  d  d  S(   Nu   with mock as ():
  pass(   u   assertRaisesSyntaxError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testAssignmentToEmptyTupleError   s    c             C   s   |  j  d  |  j  d  d  S(   Nu   with mock as None,:
  passu   with mock as (None,):
  pass(   u   assertRaisesSyntaxError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu,   testAssignmentToTupleOnlyContainingNoneError   s    c             C   s   |  j  d  d  S(   Nu%   with mock as (foo, None, bar):
  pass(   u   assertRaisesSyntaxError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu(   testAssignmentToTupleContainingNoneError   s    c                sL   Gd   d t       f d   }   j t |    j   j d   d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   t  d   d  S(   Nu   Enter threw(   u   RuntimeError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__   s    c             W   s   d  S(   N(    (   u   selfu   args(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__   s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   EnterThrows   s   
	u   EnterThrowsc                 sD      }  d    _ |  j } j   } z | ~   _ Wd  | ~ QXd  S(   N(   u   Noneu   foou   __exit__u	   __enter__(   u   ctu   _[2]u   _[1](   u   selfu   EnterThrows(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow   s    		"(   u   objectu   assertRaisesu   RuntimeErroru   assertEqualu   foou   None(   u   selfu   shouldThrow(    (   u   selfu   EnterThrowsu+   /mit/python/lib/python3.0/test/test_with.pyu   testEnterThrows   s    c                s6   Gd   d t       f d   } |  j t |  d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__   s    c             W   s   t  d   d  S(   Ni*   (   u   RuntimeError(   u   selfu   args(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__   s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu
   ExitThrows   s   
	u
   ExitThrowsc                 s'       j  }  j   z Wd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__(   u   _[1](   u
   ExitThrows(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow   s    (   u   objectu   assertRaisesu   RuntimeError(   u   selfu   shouldThrow(    (   u
   ExitThrowsu+   /mit/python/lib/python3.0/test/test_with.pyu   testExitThrows   s    N(   u   __name__u
   __module__u   testNameErroru   testEnterAttributeErroru   testExitAttributeErroru   assertRaisesSyntaxErroru   testAssignmentToNoneErroru   testAssignmentToEmptyTupleErroru,   testAssignmentToTupleOnlyContainingNoneErroru(   testAssignmentToTupleContainingNoneErroru   testEnterThrowsu   testExitThrows(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   FailureTestCasem   s   
		
	
						u   FailureTestCasec             B   s_   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	 S(
   c             C   s   t  d  |  _ d  S(   Nu   test exception(   u   RuntimeErroru   TEST_EXCEPTION(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   setUp   s    c             C   s7   |  j  | j  |  j | j  |  j | j d   d  S(   N(   u
   assertTrueu   enter_calledu   assertFalseu   exit_calledu   assertEqualu	   exit_argsu   None(   u   selfu   mock_manager(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   assertInWithManagerInvariants   s    c             C   s7   |  j  | j  |  j  | j  |  j | j |  d  S(   N(   u
   assertTrueu   enter_calledu   exit_calledu   assertEqualu	   exit_args(   u   selfu   mock_manageru	   exit_args(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu    assertAfterWithManagerInvariants   s    c             C   s   |  j  | d  d  S(   N(   NNN(   u    assertAfterWithManagerInvariantsu   None(   u   selfu   mock_manager(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu'   assertAfterWithManagerInvariantsNoError   s    	c             C   s$   |  j  | j  |  j | j  d  S(   N(   u
   assertTrueu   yieldedu   assertFalseu   stopped(   u   selfu   mock_generator(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   assertInWithGeneratorInvariants   s    c             C   s$   |  j  | j  |  j  | j  d  S(   N(   u
   assertTrueu   yieldedu   stopped(   u   selfu   mock_generator(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu)   assertAfterWithGeneratorInvariantsNoError   s    c             C   s   |  j   d  S(   N(   u   TEST_EXCEPTION(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   raiseTestException   s    c             C   sU   |  j  | j  |  j  | j  |  j | j d t  |  j | j d |  j  d  S(   Ni    i   (   u
   assertTrueu   enter_calledu   exit_calledu   assertEqualu	   exit_argsu   RuntimeErroru   TEST_EXCEPTION(   u   selfu   mock_manager(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu)   assertAfterWithManagerInvariantsWithError   s    c             C   s$   |  j  | j  |  j  | j  d  S(   N(   u
   assertTrueu   yieldedu   stopped(   u   selfu   mock_generator(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu+   assertAfterWithGeneratorInvariantsWithError   s    N(   u   __name__u
   __module__u   setUpu   assertInWithManagerInvariantsu    assertAfterWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoErroru   assertInWithGeneratorInvariantsu)   assertAfterWithGeneratorInvariantsNoErroru   raiseTestExceptionu)   assertAfterWithManagerInvariantsWithErroru+   assertAfterWithGeneratorInvariantsWithError(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   ContextmanagerAssertionMixin   s   
								u   ContextmanagerAssertionMixinc             B   sM   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d S(   c             C   s'   t    j } j   z Wd  | ~ QXd  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__(   u   selfu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testInlineGeneratorSyntax   s    c             C   s:   t    } | j } j   z Wd  | ~ QX|  j |  d  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u'   assertAfterWithManagerInvariantsNoError(   u   selfu   mocku   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testUnboundGenerator   s    	c             C   sL   t    j } j   } z | ~ } |  j |  Wd  | ~ QX|  j |  d  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertInWithGeneratorInvariantsu)   assertAfterWithGeneratorInvariantsNoError(   u   selfu   _[2]u   _[1]u   foo(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testInlineGeneratorBoundSyntax   s    "c             C   sR   d  } t   j } j   } z | ~ } |  j |  Wd  | ~ QX|  j |  d  S(   N(   u   Noneu   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertInWithGeneratorInvariantsu)   assertAfterWithGeneratorInvariantsNoError(   u   selfu   foou   _[2]u   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu*   testInlineGeneratorBoundToExistingVariable   s    "c             C   sU   t    j } j   } z  | ~ |  _ |  j |  j  Wd  | ~ QX|  j |  j  d  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   foou   assertInWithGeneratorInvariantsu)   assertAfterWithGeneratorInvariantsNoError(   u   selfu   _[2]u   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu(   testInlineGeneratorBoundToDottedVariable   s    %c             C   sl   t    } | j } j   } z' | ~ } |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  d  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertInWithGeneratorInvariantsu   assertInWithManagerInvariantsu)   assertAfterWithGeneratorInvariantsNoErroru'   assertAfterWithManagerInvariantsNoError(   u   selfu   mocku   _[2]u   _[1]u   foo(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testBoundGenerator  s    	c       	      C   s   t    } | j } j   } z | ~ } t    } | j } j   } zA | ~ } |  j |  |  j |  |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  d  S(   N(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu'   assertAfterWithManagerInvariantsNoErroru)   assertAfterWithGeneratorInvariantsNoError(	   u   selfu   mock_au   _[2]u   _[1]u   foou   mock_bu   _[4]u   _[3]u   bar(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testNestedSingleStatements	  s    		N(	   u   __name__u
   __module__u   testInlineGeneratorSyntaxu   testUnboundGeneratoru   testInlineGeneratorBoundSyntaxu*   testInlineGeneratorBoundToExistingVariableu(   testInlineGeneratorBoundToDottedVariableu   testBoundGeneratoru   testNestedSingleStatements(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   NonexceptionalTestCase   s   
						u   NonexceptionalTestCasec             B   sV   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d S(	   c             C   s-   t  t    j } j   z Wd  | ~ QXd  S(   N(   u   Nestedu   mock_contextmanager_generatoru   __exit__u	   __enter__(   u   selfu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu"   testSingleArgInlineGeneratorSyntax  s    c             C   sm   t    } t |  } | j } j   z |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  d  S(   N(   u   mock_contextmanager_generatoru
   MockNestedu   __exit__u	   __enter__u   assertInWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoError(   u   selfu   mock_contextmanageru   mock_nestedu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testSingleArgUnbound   s    	c             C   sX   t    } t |  j } j   } z | ~ } |  j |  Wd  | ~ QX|  j |  d  S(   N(   u   mock_contextmanager_generatoru   Nestedu   __exit__u	   __enter__u   assertInWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoError(   u   selfu   mu   _[2]u   _[1]u   foo(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testSingleArgBoundToNonTuple)  s    	%c             C   sX   t    } t |  j } j   } z | ~ } |  j |  Wd  | ~ QX|  j |  d  S(   N(   u   mock_contextmanager_generatoru   Nestedu   __exit__u	   __enter__u   assertInWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoError(   u   selfu   mu   _[2]u   _[1]u   foo(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu2   testSingleArgBoundToSingleElementParenthesizedList1  s    	%c             C   s   d   } |  j  t |  d  S(   Nc              S   s>   t  t    j }  j   } z | ~ \ } } Wd  |  ~  QXd  S(   N(   u   Nestedu   mock_contextmanager_generatoru   __exit__u	   __enter__(   u   _[2]u   _[1]u   foou   bar(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrowValueError:  s    .(   u   assertRaisesu
   ValueError(   u   selfu   shouldThrowValueError(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu-   testSingleArgBoundToMultipleElementTupleError9  s    	c             C   sm   t    } t |  } | j } j   z |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  d  S(   N(   u   mock_contextmanager_generatoru
   MockNestedu   __exit__u	   __enter__u   assertInWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoError(   u   selfu   mock_contextmanageru   mock_nestedu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testSingleArgUnbound?  s    	c             C   s   t    } t    } t    } t | | |  } | j } j   z8 |  j |  |  j |  |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  |  j |  |  j |  d  S(   N(   u   mock_contextmanager_generatoru
   MockNestedu   __exit__u	   __enter__u   assertInWithManagerInvariantsu'   assertAfterWithManagerInvariantsNoError(   u   selfu   mu   nu   ou   mock_nestedu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testMultipleArgUnboundH  s    			c          	   C   s   t  t   t   t    } | j } j   } zJ | ~ \ } } } |  j |  |  j |  |  j |  |  j |  Wd  | ~ QX|  j |  |  j |  |  j |  |  j |  d  S(   N(   u
   MockNestedu   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertInWithGeneratorInvariantsu   assertInWithManagerInvariantsu)   assertAfterWithGeneratorInvariantsNoErroru'   assertAfterWithManagerInvariantsNoError(   u   selfu   mock_nestedu   _[2]u   _[1]u   mu   nu   o(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testMultipleArgBoundW  s    	(N(	   u   __name__u
   __module__u"   testSingleArgInlineGeneratorSyntaxu   testSingleArgUnboundu   testSingleArgBoundToNonTupleu2   testSingleArgBoundToSingleElementParenthesizedListu-   testSingleArgBoundToMultipleElementTupleErroru   testMultipleArgUnboundu   testMultipleArgBound(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   NestedNonexceptionalTestCase  s   
									u   NestedNonexceptionalTestCasec             B   sh   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
 S(   c                sL   t        f d   }   j t |    j     j   j  d  S(   Nc                 sY    j  }  j   } z7 | ~   _   j     j   j    j   Wd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u   resourceu   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu   raiseTestException(   u   _[2]u   _[1](   u   selfu   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrowh  s    "(   u   mock_contextmanager_generatoru   assertRaisesu   RuntimeErroru)   assertAfterWithManagerInvariantsWithErroru+   assertAfterWithGeneratorInvariantsWithErroru   resource(   u   selfu   shouldThrow(    (   u   selfu   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testSingleResourcef  s
    	c                su   t     t         f d   }   j t |    j     j     j   j    j   j  d  S(   Nc                 s    j  }  j   } z | ~   _  j  } j   } zT | ~   _   j     j     j   j    j   j    j   Wd  | ~ QXWd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u   foou   baru   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu   raiseTestException(   u   _[2]u   _[1]u   _[4]u   _[3](   u   selfu   mock_au   mock_b(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrowt  s    ""(   u   mock_contextmanager_generatoru   assertRaisesu   RuntimeErroru)   assertAfterWithManagerInvariantsWithErroru+   assertAfterWithGeneratorInvariantsWithErroru   foou   bar(   u   selfu   shouldThrow(    (   u   selfu   mock_bu   mock_au+   /mit/python/lib/python3.0/test/test_with.pyu   testNestedSingleStatementsq  s    		c                s   t     t     t          f d   }   j t |    j     j     j     j   j    j   j  d  S(   Nc           	      s    j  }  j   } zj | ~ \   _   _   j     j     j     j   j    j   j    j   Wd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u
   resource_au
   resource_bu   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu   raiseTestException(   u   _[2]u   _[1](   u   selfu   mock_nestedu   cm_au   cm_b(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    +(   u   mock_contextmanager_generatoru
   MockNestedu   assertRaisesu   RuntimeErroru)   assertAfterWithManagerInvariantsWithErroru+   assertAfterWithGeneratorInvariantsWithErroru
   resource_au
   resource_b(   u   selfu   shouldThrow(    (   u   selfu   mock_nestedu   cm_au   cm_bu+   /mit/python/lib/python3.0/test/test_with.pyu&   testMultipleResourcesInSingleStatement  s    		c                s   t     t     d    _     f d   }   j t |    j     j   j    j   j d     j	  j
    j	  j    j  j d   d  S(   Nc                 s    j  }  j   } ze | ~   _   j     j   j    j    j  } j   } z | ~   _ Wd  | ~ QXWd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u   foou   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu   raiseTestExceptionu   bar(   u   _[2]u   _[1]u   _[4]u   _[3](   u   selfu   mock_au   mock_b(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    "
"(   u   mock_contextmanager_generatoru   Noneu   baru   assertRaisesu   RuntimeErroru)   assertAfterWithManagerInvariantsWithErroru+   assertAfterWithGeneratorInvariantsWithErroru   foou   assertEqualu   assertFalseu   enter_calledu   exit_calledu	   exit_args(   u   selfu   shouldThrow(    (   u   selfu   mock_bu   mock_au+   /mit/python/lib/python3.0/test/test_with.pyu'   testNestedExceptionBeforeInnerStatement  s    			c                su   t     t         f d   }   j t |    j     j     j   j    j   j  d  S(   Nc                 s    j  }  j   } z | ~   _  j  } j   } zJ | ~   _   j     j     j   j    j   j  Wd  | ~ QX  j   Wd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u   foou   baru   assertInWithManagerInvariantsu   assertInWithGeneratorInvariantsu   raiseTestException(   u   _[2]u   _[1]u   _[4]u   _[3](   u   selfu   mock_au   mock_b(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    ""(	   u   mock_contextmanager_generatoru   assertRaisesu   RuntimeErroru)   assertAfterWithManagerInvariantsWithErroru'   assertAfterWithManagerInvariantsNoErroru+   assertAfterWithGeneratorInvariantsWithErroru   foou)   assertAfterWithGeneratorInvariantsNoErroru   bar(   u   selfu   shouldThrow(    (   u   selfu   mock_bu   mock_au+   /mit/python/lib/python3.0/test/test_with.pyu&   testNestedExceptionAfterInnerStatement  s    		c                s2   t  d        f d   } |  j t |  d  S(   Nc               s   s	   d  Vd  S(   N(    (    (    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   cm  s    c                 s3       j  }  j   z t d   Wd  |  ~  QXd  S(   Nu	   from with(   u   __exit__u	   __enter__u   StopIteration(   u   _[1](   u   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    (   u   contextmanageru   assertRaisesu   StopIteration(   u   selfu   shouldThrow(    (   u   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testRaisedStopIteration1  s    c                s6   Gd   d t       f d   } |  j t |  d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__  s    c             S   s   d  S(   N(    (   u   selfu   typeu   valueu	   traceback(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   cm  s   
	u   cmc                 s3       j  }  j   z t d   Wd  |  ~  QXd  S(   Nu	   from with(   u   __exit__u	   __enter__u   StopIteration(   u   _[1](   u   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    (   u   objectu   assertRaisesu   StopIteration(   u   selfu   shouldThrow(    (   u   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testRaisedStopIteration2  s    c                s2   t  d        f d   } |  j t |  d  S(   Nc               s   s	   d  Vd  S(   N(    (    (    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   cm  s    c           	      s9       j  }  j   z t t g     Wd  |  ~  QXd  S(   N(   u   __exit__u	   __enter__u   nextu   iter(   u   _[1](   u   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    (   u   contextmanageru   assertRaisesu   StopIteration(   u   selfu   shouldThrow(    (   u   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testRaisedStopIteration3  s    c                s2   t  d        f d   } |  j t |  d  S(   Nc               s   s	   d  Vd  S(   N(    (    (    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   cm  s    c                 s3       j  }  j   z t d   Wd  |  ~  QXd  S(   Nu	   from with(   u   __exit__u	   __enter__u   GeneratorExit(   u   _[1](   u   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    (   u   contextmanageru   assertRaisesu   GeneratorExit(   u   selfu   shouldThrow(    (   u   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testRaisedGeneratorExit1  s    c                s6   Gd   d t       f d   } |  j t |  d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__  s    c             S   s   d  S(   N(    (   u   selfu   typeu   valueu	   traceback(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   cm  s   
	u   cmc                 s3       j  }  j   z t d   Wd  |  ~  QXd  S(   Nu	   from with(   u   __exit__u	   __enter__u   GeneratorExit(   u   _[1](   u   cm(    u+   /mit/python/lib/python3.0/test/test_with.pyu   shouldThrow  s    (   u   objectu   assertRaisesu   GeneratorExit(   u   selfu   shouldThrow(    (   u   cmu+   /mit/python/lib/python3.0/test/test_with.pyu   testRaisedGeneratorExit2  s    N(   u   __name__u
   __module__u   testSingleResourceu   testNestedSingleStatementsu&   testMultipleResourcesInSingleStatementu'   testNestedExceptionBeforeInnerStatementu&   testNestedExceptionAfterInnerStatementu   testRaisedStopIteration1u   testRaisedStopIteration2u   testRaisedStopIteration3u   testRaisedGeneratorExit1u   testRaisedGeneratorExit2(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   ExceptionalTestCasee  s   
									u   ExceptionalTestCasec             B   s;   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d S(   c             C   sb   d } xE | d 7} t    j } j   z | d 7} PWd  | ~ QX| d 7} q	 |  j | d  d  S(   Ni    i   i
   id   i   (   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertEqual(   u   selfu   counteru   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testWithBreak  s    

c             C   sv   d } xY | d 7} | d k o Pn t    j } j   z | d 7} w	 Wd  | ~ QX| d 7} q	 |  j | d  d  S(   Ni    i   i   i
   id   i   (   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertEqual(   u   selfu   counteru   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testWithContinue	  s    

c             C   s    d   } |  j  |   d  d  S(   Nc              S   sU   d }  xH |  d 7}  t    j } j   z |  d 7}  |  SWd  | ~ QX|  d 7}  q	 d  S(   Ni    i   i
   id   (   u   mock_contextmanager_generatoru   __exit__u	   __enter__(   u   counteru   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   foo  s    

i   (   u   assertEqual(   u   selfu   foo(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testWithReturn  s    	c             C   s2   d   } t  |    } |  j | d d g  d  S(   Nc              s   s1   t    j }  j   z d Vd VWd  |  ~  QXd  S(   Ni   i   (   u   mock_contextmanager_generatoru   __exit__u	   __enter__(   u   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   gen!  s    i   i   (   u   listu   assertEqual(   u   selfu   genu   x(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testWithYield   s    	c             C   s   d } yK | d 7} t    j } j   z | d 7} t  Wd  | ~ QX| d 7} Wn$ t k
 o |  j | d  Yn X|  j d  d  S(   Ni    i   i
   id   i   u   Didn't raise RuntimeError(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   RuntimeErroru   assertEqualu   fail(   u   selfu   counteru   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testWithRaise(  s    

N(   u   __name__u
   __module__u   testWithBreaku   testWithContinueu   testWithReturnu   testWithYieldu   testWithRaise(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   NonLocalFlowControlTestCase  s
   
	
			u   NonLocalFlowControlTestCasec             B   s    |  Ee  Z d    Z d   Z d S(   c             C   s  i d d d g d 6} t    j } j   } zO | ~ | d d <|  j t | j    d g  |  j | d d j t  Wd  | ~ QXt    j } j   } z[ | ~ t | j    d d <|  j t | j    d g  |  j | d d j t  Wd  | ~ QXt    j } j   } zC | ~ | d <t | j    } | j	   |  j | d d g  Wd  | ~ QXGd   d  }	 |	   }
 t    j } j   } z) | ~ |
 _
 |  j t |
 d  d  Wd  | ~ QXd  S(   Ni    i   i   c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   CD  s   
 u   Cu   fooT(   u   mock_contextmanager_generatoru   __exit__u	   __enter__u   assertEqualu   listu   keysu	   __class__u   MockResourceu   valuesu   sortu   foou   hasattru   True(   u   selfu   targetsu   _[2]u   _[1]u   _[4]u   _[3]u   _[6]u   _[5]u   keysu   Cu   blahu   _[8]u   _[7](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testSingleComplexTarget8  s    *'6'&
"	%c             C   s&  Gd   d  } i d d d g d 6} |   j  } j   } zN | ~ \ | d d <| d d <| d d <|  j | i d d d g d 6 Wd  | ~ QX|   j  } j   } zr | ~ \ t | j    d d <t | j    d d <t | j    d d <|  j | i d d d g d 6 Wd  | ~ QX|   j  } j   } zG | ~ \ | d <| d <| d <|  j | i d d 6d d 6d d 6 Wd  | ~ QXGd   d  }	 |	   }
 |   j  } j   } zX | ~ \ |
 _ |
 _ |
 _ |  j |
 j d  |  j |
 j d  |  j |
 j d  Wd  | ~ QXd  S(	   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d S(   Ni   i   i   (   i   i   i   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__K  s    c             S   s   d  S(   N(    (   u   selfu   tu   vu   tb(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__L  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   CJ  s   
	u   Ci    i   i   i   c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   BT  s   
 u   B(   u   __exit__u	   __enter__u   assertEqualu   listu   valuesu   oneu   twou   three(   u   selfu   Cu   targetsu   _[2]u   _[1]u   _[4]u   _[3]u   _[6]u   _[5]u   Bu   blahu   _[8]u   _[7](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testMultipleComplexTargetsI  s    C,g,71	4N(   u   __name__u
   __module__u   testSingleComplexTargetu   testMultipleComplexTargets(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   AssignmentTargetTestCase6  s   
	u   AssignmentTargetTestCasec             B   s    |  Ee  Z d    Z d   Z d S(   c             C   sg   Gd   d  } y/ |   j  } j   z d d Wd  | ~ QXWn! t k
 o |  j d  Yn Xd  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__`  s    c             S   s   d S(   NT(   u   True(   u   selfu   tu   vu   tb(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__a  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   AfricanSwallow_  s   
	u   AfricanSwallowi   i    u,   ZeroDivisionError should have been swallowed(   u   __exit__u	   __enter__u   ZeroDivisionErroru   fail(   u   selfu   AfricanSwallowu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   testExitTrueSwallowsException^  s    c             C   sg   Gd   d  } y/ |   j  } j   z d d Wd  | ~ QXWn t k
 o Yn X|  j d  d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   __enter__j  s    c             S   s   d S(   NF(   u   False(   u   selfu   tu   vu   tb(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   __exit__k  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   EuropeanSwallowi  s   
	u   EuropeanSwallowi   i    u)   ZeroDivisionError should have been raised(   u   __exit__u	   __enter__u   ZeroDivisionErroru   fail(   u   selfu   EuropeanSwallowu   _[1](    (    u+   /mit/python/lib/python3.0/test/test_with.pyu#   testExitFalseDoesntSwallowExceptionh  s    N(   u   __name__u
   __module__u   testExitTrueSwallowsExceptionu#   testExitFalseDoesntSwallowException(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   ExitSwallowsExceptionTestCase\  s   
	
u   ExitSwallowsExceptionTestCasec               C   s    t  t t t t t t t  d  S(   N(   u   run_unittestu   FailureTestCaseu   NonexceptionalTestCaseu   NestedNonexceptionalTestCaseu   ExceptionalTestCaseu   NonLocalFlowControlTestCaseu   AssignmentTargetTestCaseu   ExitSwallowsExceptionTestCase(    (    (    u+   /mit/python/lib/python3.0/test/test_with.pyu	   test_mainu  s
    	u   __main__(   u   __doc__u
   __author__u	   __email__u   sysu   unittestu   collectionsu   dequeu
   contextlibu   GeneratorContextManageru   contextmanageru   test.supportu   run_unittestu   MockContextManageru   mock_contextmanageru   objectu   MockResourceu   mock_contextmanager_generatoru   Nestedu
   MockNestedu   TestCaseu   FailureTestCaseu   ContextmanagerAssertionMixinu   NonexceptionalTestCaseu   NestedNonexceptionalTestCaseu   ExceptionalTestCaseu   NonLocalFlowControlTestCaseu   AssignmentTargetTestCaseu   ExitSwallowsExceptionTestCaseu	   test_mainu   __name__(    (    (    u+   /mit/python/lib/python3.0/test/test_with.pyu   <module>   s2   	
$O)5	J9&	