ó
¤‘Uc           @€  s³   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m	 Z	 d  d l
 m Z e j d ƒ d e j f d „  ƒ  YZ e d	 k r¯ e j ƒ  n  d S(
   iÿÿÿÿ(   t   with_statementN(   t   u(   t   OldTestResult(   t   catch_warningst   defaultt   TestWithc           B€  sŒ   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z RS(   sr   Tests that use the with statement live in this
    module so that all other tests can be run with Python 2.4.
    c         C€  s   t  |  _ d  S(   N(   t   Falset   foo(   t   self(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   setUp   s    c         €  s…   d t  f d „  ƒ  Y‰  ‡  f d †  } d } |  j ˆ  ƒ } |  | | ƒ Wd  QX| j } |  j | ˆ  ƒ |  j | j d | ƒ d  S(   Nt   ExceptionMockc           B€  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR
      s   c         €  s   ˆ  |  ƒ ‚ d  S(   N(    (   R   (   R
   (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   Stub   s    s   particular valuei    (   t	   Exceptiont   assertRaisest	   exceptiont   assertIsInstancet   assertEqualt   args(   R   R   t   vt   ctxt   e(    (   R
   sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testAssertRaisesExcValue   s    	c      	   C€  sï  d „  } |  j  t | t ƒ |  j  t | t d ƒ ƒ y |  j  t d „  ƒ Wn7 |  j k
 r… t j ƒ  d } |  j d | j ƒ n X|  j d ƒ y |  j  t | t ƒ Wn t k
 r½ n X|  j d ƒ |  j  t ƒ 8 } y
 t ‚ Wn$ t	 k
 rt j ƒ  d } ‚  n XWd  QX|  j
 | j | ƒ |  j  t ƒ  t d ƒ ‚ Wd  QXy |  j  t ƒ  Wd  QXWn7 |  j k
 rœt j ƒ  d } |  j d | j ƒ n X|  j d ƒ y  |  j  t ƒ  t ‚ Wd  QXWn t k
 rÝn X|  j d ƒ d  S(	   Nc         S€  s
   |  ‚ d  S(   N(    (   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   _raise(   s    t   keyc           S€  s   d  S(   N(   t   None(    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   <lambda>-   s    i   s   KeyError not raised by <lambda>s   assertRaises() didn't fails0   assertRaises() didn't let exception pass throughs   KeyError not raised(   R   t   KeyErrort   failureExceptiont   syst   exc_infot   assertInR   t   failt
   ValueErrorR   t   assertIsR   (   R   R   R   t   cm(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   test_assertRaises'   sH    	

c         C€  sv   t  d t ƒ a d j d „  t d ƒ Dƒ ƒ } |  j |  j ƒ ) |  j i | d 6i t d ƒ d 6ƒ Wd  QXWd  QXd  S(   Nt   recordt    c         s€  s   |  ] } t  | ƒ Vq d  S(   N(   t   chr(   t   .0t   i(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pys	   <genexpr>V   s    iÿ   R   s   \uFFFD(   R   t   Truet   joint   rangeR   R   t   assertDictContainsSubsetR   (   R   t   one(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   test_assert_dict_unicode_errorS   s    c         C€  sO   t  d t ƒ : d j d „  t d ƒ Dƒ ƒ } |  j | t d ƒ ƒ Wd  QXd  S(   NR&   R'   c         s€  s   |  ] } t  | ƒ Vq d  S(   N(   R(   (   R)   R*   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pys	   <genexpr>^   s    iÿ   s   \uFFFD(   R   R+   R,   R-   t   _formatMessageR   (   R   R/   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt    test_formatMessage_unicode_error[   s    c         C€  sI   |  j  t ƒ 4 t ƒ  } | j | ƒ |  j t | j ƒ | ƒ Wd  QXd  S(   N(   t   assertWarnst   RuntimeWarningR   t   runR   t   lent   failures(   R   t   testR7   t   result(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   assertOldResultWarningb   s    	c         C€  sr   d t  j f d „  ƒ  Y} xR d t f d t f d t f f D]/ \ } } | | ƒ } |  j | t | ƒ ƒ q; Wd  S(   Nt   Testc           B€  s5   e  Z d  „  Z e j d „  ƒ Z e j d „  ƒ Z RS(   c         S€  s   |  j  d ƒ d  S(   Nt   foobar(   t   skipTest(   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testSkipj   s    c         S€  s
   t  ‚ d  S(   N(   t	   TypeError(   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testExpectedFaill   s    c         S€  s   d  S(   N(    (   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testUnexpectedSuccesso   s    (   R   R   R>   t	   unittest2t   expectedFailureR@   RA   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR;   i   s   	R>   R@   RA   (   RB   t   TestCaseR+   R   R:   t   int(   R   R;   t	   test_namet   should_passR8   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   test_old_testresulth   s    
	c         C€  s<   d t  j f d „  ƒ  Y} t |  _ |  j | d ƒ d ƒ d  S(   NR;   c           B€  s   e  Z d  „  Z d „  Z RS(   c         S€  s   |  j  d ƒ d  S(   Ns	   no reason(   R=   (   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR	   |   s    c         S€  s   d  S(   N(    (   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testFoo~   s    (   R   R   R	   RI   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR;   {   s   	RI   i    (   RB   RD   R+   R   R:   (   R   R;   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   test_old_testresult_setupz   s    	c         C€  sH   d t  j f d „  ƒ  Y} t  j d ƒ | ƒ } |  j | d ƒ d ƒ d  S(   NR;   c           B€  s   e  Z d  „  Z RS(   c         S€  s   d  S(   N(    (   R   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyRI   …   s    (   R   R   RI   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR;   „   s   s	   no reasonRI   i    (   RB   RD   t   skipR:   (   R   R;   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   test_old_testresult_classƒ   s    c         C€  s  |  j  d f |  j d f |  j d f |  j d f |  j d f |  j d f |  j d f |  j d f |  j t	 f f |  j
 t	 f f |  j t d „  f f |  j t f f |  j t d d „  f f |  j d f |  j d f f } x4 | D], \ } } |  j t ƒ  | | Œ  Wd QXqß Wd S(   sÔ   Test that the deprecated methods raise a DeprecationWarning.

        The fail* methods have been removed in 3.3. The assert* methods will
        have to stay around for a few more versions.  See #9424.
        i   i   g       @g      @g      @c         S€  s   d d S(   Ng…ëQ¸	@t   spam(    (   t   _(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR   ›   s    R   c           S€  s   i  d S(   NR   (    (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR      s    t   bart   xxxt   yyyN(   i   i   (   i   i   (   i   i   (   i   i   (   g       @g       @(   g       @g       @(   g      @g      @(   g      @g      @(   RO   RO   (   RP   RQ   (   t   failIfEqualt   assertNotEqualst   failUnlessEqualt   assertEqualst   failUnlessAlmostEqualt   assertAlmostEqualst   failIfAlmostEqualt   assertNotAlmostEqualst
   failUnlessR+   t   assert_t   failUnlessRaisesR?   t   failIfR   t   assertRaisesRegexpR   t   assertRegexpMatchest   assertNotRegexpMatchesR3   t   PendingDeprecationWarning(   R   t   oldt   methR   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testDeprecatedMethodNamesŠ   s$    c         C€  s  d „  } |  j  t | ƒ |  j  t | ƒ |  j  t t f | ƒ |  j  t t j d d t ƒ|  j |  j ƒ  |  j  t d „  ƒ Wd  QXt ƒ  > t j d t ƒ |  j |  j ƒ  |  j  t | ƒ Wd  QXWd  QXt ƒ  ; t j d t ƒ |  j t ƒ  |  j  t | ƒ Wd  QXWd  QXd  S(   Nc           S€  s   t  j d t ƒ d  S(   NR   (   t   warningst   warnR4   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   _runtime_warn¦   s    R   t   categoryc           S€  s   d S(   Ni    (    (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR   ²   s    R   t   error(	   R3   R4   t   DeprecationWarningRe   Rf   R   R   R   t   simplefilter(   R   Rg   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testAssertWarnsCallable¥   s     		

c         C€  sà  d „  } t  j | ƒ d } |  j t ƒ  } | ƒ  Wd  QX|  j t t f ƒ  } | ƒ  Wd  QX|  j | j t ƒ |  j | j j d d ƒ |  j	 d | j
 ƒ |  j | j | d ƒ |  j t ƒ  | ƒ  | ƒ  Wd  QX|  j t ƒ  t j d d t ƒWd  QX|  j |  j ƒ  |  j t ƒ  Wd  QXWd  QXt ƒ  K t j d t ƒ |  j |  j ƒ " |  j t ƒ  | ƒ  Wd  QXWd  QXWd  QXt ƒ  H t j d t ƒ |  j t ƒ " |  j t ƒ  | ƒ  Wd  QXWd  QXWd  QXd  S(	   Nc           S€  s   t  j d t ƒ d  S(   NR   (   Re   Rf   R4   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyRg   Â   s    i   i    R   s   _test_unittest2_with.pyRh   R   Ri   (   t   inspectt   getsourcelinesR3   R4   Rj   R   t   warningR   R   R    t   filenamet   linenoRe   Rf   R   R   R   Rk   (   R   Rg   t   _runtime_warn_linenoR$   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testAssertWarnsContext¿   s8    	

c         C€  s%  d „  } |  j  t d | d ƒ |  j |  j ƒ  |  j  t d d „  ƒ Wd  QXt ƒ  D t j d t ƒ |  j |  j ƒ  |  j  t d | d ƒ Wd  QXWd  QX|  j |  j ƒ  |  j  t d | d ƒ Wd  QXt ƒ  J t j d t ƒ |  j t |  j f ƒ  |  j  t d | d ƒ Wd  QXWd  QXd  S(   Nc         S€  s   t  j |  t ƒ d  S(   N(   Re   Rf   R4   (   t   msg(    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyRg   è   s    s   o+t   fooxc           S€  s   d S(   Ni    (    (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR   ï   s    R   t   barzRi   (   t   assertWarnsRegexR4   R   R   R   Re   Rk   Rj   (   R   Rg   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testAssertWarnsRegexCallableç   s&    	


c         C€  sÈ  d „  } t  j | ƒ d } |  j t d ƒ  } | d ƒ Wd  QX|  j | j t ƒ |  j | j j d d ƒ |  j d | j	 ƒ |  j | j
 | d ƒ |  j |  j ƒ  |  j t d ƒ  Wd  QXWd  QXt ƒ  Q t j d t ƒ |  j |  j ƒ ( |  j t d ƒ  | d ƒ Wd  QXWd  QXWd  QX|  j |  j ƒ ( |  j t d ƒ  | d ƒ Wd  QXWd  QXt ƒ  W t j d	 t ƒ |  j t |  j f ƒ ( |  j t d ƒ  | d ƒ Wd  QXWd  QXWd  QXd  S(
   Nc         S€  s   t  j |  t ƒ d  S(   N(   Re   Rf   R4   (   Rt   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyRg     s    i   s   o+Ru   i    s   _test_unittest2_with.pyR   Rv   Ri   (   Rm   Rn   Rw   R4   R   Ro   R   R   R    Rp   Rq   R   R   R   Re   Rk   Rj   (   R   Rg   Rr   R$   (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   testAssertWarnsRegexContext  s0    	

(   R   R   t   __doc__R	   R   R%   R0   R2   R:   RH   RJ   RL   Rd   Rl   Rs   Rx   Ry   (    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyR      s   			,										(	t   __main__(   t
   __future__R    Rm   R   Re   t   sixR   RB   t   unittest2.test.supportR   t   unittest2.compatibilityR   Rk   RD   R   R   t   main(    (    (    sB   lib/python2.7/site-packages/unittest2/test/_test_unittest2_with.pyt   <module>   s   ÿ 