Your IP : 216.73.216.52
���]v �
@ s� d d l Z d d l Z d d l Z d d l Z d d l Td d l m Z y d d l Z Wn e k
rt d Z Yn XGd d � d e j � Z
Gd d � d e j � Z Gd d � d e j � Z e j
e d
� Gd d � d e j � � Z Gd
d � d e � Z Gd d � d e j � Z Gd d � d e j � Z Gd d � d � Z Gd d � d e e j � Z Gd d � d e e j � Z Gd d � d e j � Z e d k r�e j � d S)� N)�*)�supportc @ s� e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
d � Z d d � Z
d d � Z d d � Z e
j d d � � Z e
j d d � � Z d d � Z d S)�ContextManagerTestCasec s~ g � t � f d d � � } | � �7 } | j � d g � | j | d � � j | � Wd QRX| j � d d d g � d S)Nc 3 s# � j d � d V� j d � d S)N� �* i� )�append� )�stater �4/opt/alt/python35/lib64/python3.5/test_contextlib.py�woohoo s
z@ContextManagerTestCase.test_contextmanager_plain.<locals>.woohoor r i� )�contextmanager�assertEqualr )�selfr �xr )r r
�test_contextmanager_plain s z0ContextManagerTestCase.test_contextmanager_plainc s� g � t � f d d � � } | j t � �Q | � �@ } | j � d g � | j | d � � j | � t � � Wd QRXWd QRX| j � d d d g � d S)Nc 3 s+ � j d � z d VWd � j d � Xd S)Nr r i� )r r )r r r
r s
zBContextManagerTestCase.test_contextmanager_finally.<locals>.woohoor r i� )r �assertRaises�ZeroDivisionErrorr
r )r r r r )r r
�test_contextmanager_finally s
z2ContextManagerTestCase.test_contextmanager_finallyc C sK t d d � � } | � } | j � | j | j t t d � d � � d S)Nc s s d Vd S)Nr r r r r
�whee0 s zCContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�foo)r � __enter__�assertFalse�__exit__� TypeError)r r �ctxr r r
�test_contextmanager_no_reraise/ s
z5ContextManagerTestCase.test_contextmanager_no_reraisec C sK t d d � � } | � } | j � | j t | j t t d � d � d S)Nc s s y d VWn
d VYn Xd S)Nr r r r r
�whoo9 s zOContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoor )r r r �RuntimeErrorr r )r r r r r r
�*test_contextmanager_trap_yield_after_throw8 s
zAContextManagerTestCase.test_contextmanager_trap_yield_after_throwc s� g � t � � f d d � � } | � �C } � j � d g � � j | d � � j | � t d � � Wd QRX� j � d d d g � d S)Nc 3 so � j d � y d VWnR t k
rj } z2 � j | j d � � j � d d d g � WYd d } ~ Xn Xd S)Nr r r i� )r r �argsr
)�e)r r r r
r G s
zAContextManagerTestCase.test_contextmanager_except.<locals>.woohoor r i� )r r
r r )r r r r )r r r
�test_contextmanager_exceptE s
z1ContextManagerTestCase.test_contextmanager_exceptc C s� t d � } t d d � � } y5 | j t d � � | � � | � Wd QRXWd QRXWn5 t k
r� } z | j | | � WYd d } ~ Xn X| j d � d S)N�spamc s s d Vd S)Nr r r r r
r X s zJContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohoo�
StopIterationzStopIteration was suppressed)r# r ZassertWarnsRegex�PendingDeprecationWarning� Exception�assertIs�fail)r �stop_excr �exr r r
�#test_contextmanager_except_stopiterV s
#z:ContextManagerTestCase.test_contextmanager_except_stopiterc C s� d } i } t | | | � | d } t d � } y | � � | � Wd QRXWn5 t k
r� } z | j | | � WYd d } ~ Xn X| j d � d S)Nztfrom __future__ import generator_stop
from contextlib import contextmanager
@contextmanager
def woohoo():
yield
r r"