ó
`¾Tc           @€  s  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 m
 Z
 d d l m Z m Z m Z d „  Z d „  Z d „  Z d	 e j f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e j f d „  ƒ  YZ d „  Z d „  Z d S(   s´   
    werkzeug.testsuite
    ~~~~~~~~~~~~~~~~~~

    Contains all test Werkzeug tests.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿ(   t   with_statementN(   t   find_modules(   t	   text_typet   integer_typest   reraisec          €  s(   t  j ƒ  ‰  t j ‡  f d †  ƒ }  ˆ  S(   Nc           €  s)   y t  j ˆ  ƒ Wn t k
 r$ n Xd  S(   N(   t   shutilt   rmtreet   EnvironmentError(    (   t	   directory(    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   remove_directory   s    (   t   tempfilet   mkdtempt   atexitt   register(   R	   (    (   R   sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   get_temporary_directory   s    c         c€  sS   xL t  |  d t ƒD]8 } t | d d g ƒ} t | d ƒ r | j ƒ  Vq q Wd S(   s   Yields all testsuites.t   include_packagest   fromlistt   *t   suiteN(   R   t   Truet
   __import__t   hasattrR   (   t   packaget   modulet   mod(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   iter_suites$   s    c         c€  sr   |  g } xb | rm | j  ƒ  } y | j | ƒ Wq t k
 ri | d | j j | j j | j f f Vq Xq Wd S(   s8   Yields all the tests and their names from a given suite.s   %s.%s.%sN(   t   popt   extendt	   TypeErrort	   __class__t
   __module__t   __name__t   _testMethodName(   R   t   suitest   s(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   find_all_tests,   s    				t   WerkzeugTestCasec           B€  sN  e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d" d „ Z	 d „  Z
 d" d „ Z e j d	  d# k rÁ d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z n e j d d	 k rà d „  Z n  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($   sœ   Baseclass for all the tests that Werkzeug uses.  Use these
    methods for testing instead of the camelcased ones in the
    baseclass for consistency.
    c         C€  s   d  S(   N(    (   t   self(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   setupA   s    c         C€  s   d  S(   N(    (   R%   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   teardownD   s    c         C€  s   |  j  ƒ  d  S(   N(   R&   (   R%   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   setUpG   s    c         C€  s   t  j j |  ƒ |  j ƒ  d  S(   N(   t   unittestt   TestCaset   tearDownR'   (   R%   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyR+   J   s    c         C€  s&   | | k s" t  d | | f ƒ ‚ d  S(   Ns   lines not equal
 a = %r
 b = %r(   t   AssertionError(   R%   t   xt   y(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_line_equalN   s    c         C€  s   |  j  | | | ƒ S(   N(   t   assertEqual(   R%   R-   R.   t   msg(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_equalQ   s    c         C€  s   |  j  | | ƒ S(   N(   t   assertNotEqual(   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_not_equalT   s    c         O€  s=   t  |  | ƒ } | d  k r | S|  | | | Ž  Wd  QXd  S(   N(   t   _ExceptionCatchert   None(   R%   t   exc_typet   callablet   argst   kwargst   catcher(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_raisesW   s
    i   i   c         C€  s#   | d  k s t d | f ƒ ‚ d  S(   Ns   %r is not None(   R6   R,   (   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIsNone_   s    c         C€  s#   | d  k	 s t d | f ƒ ‚ d  S(   Ns
   %r is None(   R6   R,   (   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIsNotNoneb   s    c         C€  s&   | | k s" t  d | | f ƒ ‚ d  S(   Ns   %r not in %r(   R,   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIne   s    c         C€  s&   | | k s" t  d | | f ƒ ‚ d  S(   Ns   %r in %r(   R,   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertNotInh   s    c         C€  s)   t  | | ƒ s% t d | | f ƒ ‚ d  S(   Ns   not isinstance(%r, %r)(   t
   isinstanceR,   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIsInstancek   s    c         C€  s&   | | k s" t  d | | f ƒ ‚ d  S(   Ns   %r is not %r(   R,   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIsn   s    c         C€  s&   | | k	 s" t  d | | f ƒ ‚ d  S(   Ns   %r is %r(   R,   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertIsNotq   s    c         C€  s   |  j  | | ƒ d  S(   N(   R0   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertSequenceEqualt   s    c         O€  s‘   t  |  | ƒ } | s | St | d ƒ r„ |  | d | d | Ž  Wd  QX| d d  k	 r t j | d | j d ƒ s t ‚ q n	 t ƒ  ‚ d  S(   Ni    i   (   R5   R8   R6   t   ret   searcht	   exc_valueR,   t   NotImplementedError(   R%   R7   t   regexR9   R:   R;   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assertRaisesRegexw   s    )i    c         O€  s   |  j  | | Ž  S(   N(   t   assertRaisesRegexp(   R%   R9   R:   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyRK   „   s    c         C€  s   |  j  | ƒ d  S(   N(   R=   (   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_is_none‡   s    c         C€  s   |  j  | ƒ d  S(   N(   R>   (   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_is_not_noneŠ   s    c         C€  s   |  j  | | ƒ d  S(   N(   R?   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt	   assert_in   s    c         C€  s   |  j  | | ƒ d  S(   N(   RB   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_is_instance   s    c         C€  s   |  j  | | ƒ d  S(   N(   R@   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_not_in“   s    c         C€  s   |  j  | | ƒ d  S(   N(   RC   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt	   assert_is–   s    c         C€  s   |  j  | | ƒ d  S(   N(   RD   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_is_not™   s    c         C€  s   |  j  | ƒ d  S(   N(   t
   assertTrue(   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_trueœ   s    c         C€  s   |  j  | ƒ d  S(   N(   t   assertFalse(   R%   R-   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_falseŸ   s    c         O€  s   |  j  | | Ž  S(   N(   RK   (   R%   R9   R:   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_raises_regex¢   s    c         C€  s   |  j  | | ƒ d  S(   N(   RE   (   R%   R-   R.   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_sequence_equal¥   s    c      
   C€  s­  |  j  | | ƒ t t | ƒ t | ƒ ƒ sh t t | ƒ t | ƒ ƒ sh t d t | ƒ t | ƒ f ƒ ‚ t | t t t f ƒ sŒ | d k r d St | t	 ƒ s® t | t	 ƒ rÕ t
 | j ƒ  ƒ } t
 | j ƒ  ƒ } n9 t | t ƒ só t | t ƒ rt
 | ƒ } t
 | ƒ } n  t | ƒ t | ƒ } } | | k ru| d  | d oGd } | d  | d o_d } t | | ƒ ‚ n  t | ƒ t | ƒ k s©t t | | f ƒ d  ƒ ‚ d S(   sh   Stricter version of assert_equal that doesn't do implicit conversion
        between unicode and stringss   %s != %sNiÈ   s   ...(   R2   t
   issubclasst   typeR,   RA   t   bytesR   R   R6   t   dictt   sortedt   itemst   sett   repr(   R%   R-   R.   t   rxt   ry(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   assert_strict_equal¨   s"    9$N(   i   i   (#   R   R   t   __doc__R&   R'   R(   R+   R/   R6   R2   R4   R<   t   syst   version_infoR=   R>   R?   R@   RB   RC   RD   RE   RK   RM   RN   RO   RP   RQ   RR   RS   RU   RW   RX   RY   Rd   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyR$   ;   sB   																									R5   c           B€  s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C€  s   | |  _  | |  _ d  |  _ d  S(   N(   t	   test_caseR7   R6   RH   (   R%   Rh   R7   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   __init__À   s    		c         C€  s   |  S(   N(    (   R%   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt	   __enter__Å   s    c         C€  sa   |  j  j } | d  k r/ |  j j d | ƒ n% t | |  j  ƒ sT t | | | ƒ n  | |  _ t S(   Ns   Expected exception of type %r(	   R7   R   R6   Rh   t   failRZ   R   RH   R   (   R%   R7   RH   t   tbt   exception_name(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   __exit__È   s    	(   R   R   Ri   Rj   Rn   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyR5   ¾   s   		t   BetterLoaderc           B€  s#   e  Z d  Z d „  Z d d „ Z RS(   s~  A nicer loader that solves two problems.  First of all we are setting
    up tests from different sources and we're doing this programmatically
    which breaks the default loading logic so this is required anyways.
    Secondly this loader has a nicer interpolation for test names than the
    default one so you can just do ``run-tests.py ViewTestCase`` and it
    will work.
    c         C€  s   t  ƒ  S(   N(   R   (   R%   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   getRootSuiteÜ   s    c   	      C€  sö   |  j  ƒ  } | d k r | Sg  } xp t | ƒ D]b \ } } | | k s | j d | ƒ s d | d | k s | j | d ƒ r/ | j | ƒ q/ q/ W| s® t d | ƒ ‚ n  t | ƒ d k rÈ | d St j ƒ  } x | D] } | j	 | ƒ qÛ W| S(   NR   t   .s!   could not find test case for "%s"i   i    (
   Rp   R#   t   endswitht
   startswitht   appendt   LookupErrort   lenR)   t	   TestSuitet   addTest(	   R%   t   nameR   t   roott	   all_testst   testcaset   testnamet   rvt   test(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   loadTestsFromNameß   s$    N(   R   R   Re   Rp   R6   R€   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyRo   Ó   s   	c          C€  s4   t  j ƒ  }  x! t t ƒ D] } |  j | ƒ q W|  S(   sÐ   A testsuite that has all the Flask tests.  You can use this
    function to integrate the Flask tests into your own testsuite
    in case you want to test that monkeypatches to Flask do not
    break it.
    (   R)   Rw   R   R   Rx   (   R   t   other_suite(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyR   ÷   s    c          C€  sd   y t  j d t ƒ  d d ƒ Wn@ t k
 r_ d d l }  d d l } | j ƒ  |  j d ƒ n Xd S(   s/   Runs the testsuite as command line application.t
   testLoadert   defaultTestR   iÿÿÿÿNi   (   R)   t   mainRo   t	   ExceptionRf   t	   tracebackt	   print_exct   exit(   Rf   R†   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyR„     s    
(   Re   t
   __future__R    RF   Rf   R)   R   R
   R   t   werkzeug.utilsR   t   werkzeug._compatR   R   R   R   R   R#   R*   R$   t   objectR5   t
   TestLoaderRo   R   R„   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/__init__.pyt   <module>
   s"   			ƒ$	