ó
`¾Tc           @   s  d  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 d l
 m Z m Z d d l m Z m Z d „  Z d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d S(   s­   
    flask.testsuite.helpers
    ~~~~~~~~~~~~~~~~~~~~~~~

    Various helpers.

    :copyright: (c) 2011 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   StreamHandler(   t   FlaskTestCaset   catch_warningst   catch_stderr(   t   parse_cache_control_headert   parse_options_header(   t   StringIOt	   text_typec         C   s:   y! d d  l  } | j |  ƒ t SWn t k
 r5 t SXd  S(   Niÿÿÿÿ(   t   codecst   lookupt   Truet   LookupErrort   False(   t   nameR   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   has_encoding   s    t   JSONTestCasec           B   sn   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 d ƒ sc d
 Z	 n  d	 „  Z RS(   c         C   sn   t  j t ƒ } | j d d d g ƒd „  ƒ } | j ƒ  } | j d d d d d ƒ} |  j | j d	 ƒ d  S(
   Ns   /jsont   methodst   POSTc           S   s   t  j d t t  j j ƒ  ƒ ƒ S(   Nt   foo(   t   flaskt   jsonifyR   t   requestt   get_json(    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   return_json"   s    t   datat	   malformedt   content_types   application/jsoni  (   R   t   Flaskt   __name__t   routet   test_clientt   postt   assert_equalt   status_code(   t   selft   appR   t   ct   rv(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_bad_requests    s
    !c         C   s€   t  j t ƒ } t | _ | j d ƒ d „  ƒ } | j ƒ  } | j d d d j d ƒ d d ƒ} |  j	 | j
 d j d	 ƒ ƒ d  S(
   Nt   /c           S   s   t  j j ƒ  S(   N(   R   R   R   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   index,   s    R   u   "HÃ¤llo WÃ¶rld"s   iso-8859-15R   s%   application/json; charset=iso-8859-15u   HÃ¤llo WÃ¶rlds   utf-8(   R   R   R   R
   t   testingR   R   t   gett   encodeR    R   (   R"   R#   R(   R$   t   resp(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_body_encoding)   s    		c      	      sÑ   t  d d d d d d d d g ƒ ‰  t j t ƒ } | j d	 ƒ ‡  f d
 †  ƒ } | j d ƒ ‡  f d †  ƒ } | j ƒ  } xO d D]G } | j | ƒ } |  j | j d ƒ |  j t j	 j
 | j ƒ ˆ  ƒ q‚ Wd  S(   Nt   ai   t   bi*   R$   i   i   i   s   /kwc              s   t  j ˆ    S(   N(   R   R   (    (   t   d(    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   return_kwargs8   s    s   /dictc              s   t  j ˆ  ƒ S(   N(   R   R   (    (   R0   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   return_dict;   s    s   application/json(   s   /kws   /dict(   t   dictR   R   R   R   R   R*   R    t   mimetypet   jsont   loadsR   (   R"   R#   R1   R2   R$   t   urlR%   (    (   R0   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_jsonify5   s    $c         C   s—   t  j t ƒ } t | j d <| j ƒ  ' t  j j d ƒ } |  j | d ƒ Wd  QXt	 | j d <| j ƒ  ' t  j j d ƒ } |  j | d ƒ Wd  QXd  S(   Nt   JSON_AS_ASCIIu   â˜ƒs   "\u2603"u   "â˜ƒ"(
   R   R   R   R
   t   configt   app_contextR5   t   dumpsR    R   (   R"   R#   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_as_unicodeD   s    c         C   sˆ   t  j t ƒ } | j d d d g ƒd „  ƒ } | j ƒ  } | j d d t  j j i d d 6d d	 6ƒ d
 d ƒ} |  j | j	 d ƒ d  S(   Ns   /addR   R   c          S   s%   t  j j ƒ  }  t |  d |  d ƒ S(   NR.   R/   (   R   R   R   R   (   R5   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   addS   s    R   i   R.   i   R/   R   s   application/jsont   3(
   R   R   R   R   R   R   R5   R<   R    R   (   R"   R#   R>   R$   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_attrQ   s    !,	c         C   s%  t  j t ƒ } t  j } | j ƒ  û t  j j d ƒ } |  j | d ƒ |  j t | ƒ t	 ƒ | d ƒ } |  j | d ƒ | d ƒ } |  j | d ƒ | d ƒ } |  j | d ƒ | d	 ƒ } |  j | d
 ƒ | d ƒ } |  j | d ƒ | d d i d d d g d 6ƒ} |  j | d ƒ Wd  QXd  S(   Ns	   </script>u   "\u003c/script\u003e"s   {{ "</script>"|tojson }}s   "\u003c/script\u003e"s   {{ "< /script>"|tojson }}s   "\u003c\u0000/script\u003e"s   {{ "<!--<script>"|tojson }}s   "\u003c!--\u003cscript\u003e"s   {{ "&"|tojson }}s   "\u0026"s   {{ "'"|tojson }}s   "\u0027"s#   <a ng-data='{{ data|tojson }}'></a>R   R   t   bars   baz't   xs4   <a ng-data='{"x": ["foo", "bar", "baz\u0027"]}'></a>(
   R   R   R   t   render_template_stringt   test_request_contextR5   t   htmlsafe_dumpsR    t   typeR   (   R"   R#   t   renderR%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_template_escaping\   s(    			c            sý   d t  f d „  ƒ  Y‰  d t j j f ‡  f d †  ƒ  Y} d t j j f ‡  f d †  ƒ  Y} t j t ƒ } t | _ | | _	 | | _
 | j d d d	 g ƒd
 „  ƒ } | j ƒ  } | j d d t j j i i d d 6d 6ƒ d d ƒ} |  j | j d ƒ d  S(   Nt   Xc           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  d  S(   N(   t   val(   R"   RJ   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   __init__t   s    (   R   t
   __module__RK   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRI   s   s   t	   MyEncoderc              s   e  Z ‡  f d  †  Z RS(   c            s0   t  | ˆ  ƒ r d | j St j j j |  | ƒ S(   Ns   <%d>(   t
   isinstanceRJ   R   R5   t   JSONEncodert   default(   R"   t   o(   RI   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRP   w   s    (   R   RL   RP   (    (   RI   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRM   v   s   t	   MyDecoderc              s    e  Z d  „  Z ‡  f d †  Z RS(   c         _   s0   | j  d |  j ƒ t j j j |  | | Ž d  S(   Nt   object_hook(   t
   setdefaultRS   R   R5   t   JSONDecoderRK   (   R"   t   argst   kwargs(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRK   |   s    c            s0   t  | ƒ d k r, d | k r, ˆ  | d ƒ S| S(   Ni   t   _foo(   t   len(   R"   t   obj(   RI   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRS      s    (   R   RL   RK   RS   (    (   RI   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRR   {   s   	R'   R   R   c           S   s   t  j j t  j j ƒ  d ƒ S(   NRB   (   R   R5   R<   R   R   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ‡   s    R   i*   RX   RB   R   s   application/jsons   "<42>"(   t   objectR   R5   RO   RU   R   R   R
   R)   t   json_encodert   json_decoderR   R   R   R<   t   assertEqualR   (   R"   RM   RR   R#   R(   R$   R%   (    (   RI   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_customizationr   s    ""			!	c         C   s¯   d t  j f d „  ƒ  Y} t  j t ƒ } t | _ | | _ d | j _ | j	 d ƒ d „  ƒ } | j
 ƒ  j d j d ƒ ƒ } |  j | j d ƒ |  j | j d j d	 ƒ ƒ d  S(
   Nt   ModifiedRequestc           B   s   e  Z d  Z RS(   s   euc-kr(   R   RL   t   url_charset(    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR`   ‘   s   s   euc-krR'   c           S   s   t  j j d S(   NR   (   R   R   RV   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ˜   s    u   /?foo=ì •ìƒì²˜ë¦¬iÈ   u   ì •ìƒì²˜ë¦¬s   utf-8(   R   t   RequestR   R   R
   R)   t   request_classt   url_mapt   charsetR   R   R*   R+   R    R!   R   (   R"   R`   R#   R(   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_modified_url_encoding   s    		s   euc-krc            s  t  j t ƒ } t | _ |  j | j d t ƒ t j t	 d ƒ d ƒ ‰  | j
 d ƒ ‡  f d †  ƒ } | j ƒ  } | j d ƒ } g  | j j ƒ  j d ƒ j ƒ  D] } | j ƒ  ^ qŸ } |  j | d d d	 d
 d d d d d d d d d d d d d d d d d d d d g ƒ d  S(   Nt   JSON_SORT_KEYSi   R   R'   c              s   t  j d ˆ  ƒ S(   Nt   values(   R   R   (    (   R0   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ©   s    s   utf-8t   {s   "values": {s   "0": "foo",s   "1": "foo",s   "2": "foo",s   "3": "foo",s   "4": "foo",s   "5": "foo",s   "6": "foo",s   "7": "foo",s   "8": "foo",s   "9": "foo",s   "10": "foo",s   "11": "foo",s   "12": "foo",s   "13": "foo",s   "14": "foo",s   "15": "foo",s   "16": "foo",s   "17": "foo",s   "18": "foo",s   "19": "foo"t   }(   R   R   R   R
   R)   R    R:   R3   t   fromkeyst   rangeR   R   R*   R   t   stript   decodet
   splitlines(   R"   R#   R(   R$   R%   RB   t   lines(    (   R0   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_json_key_sorting£   sB    	7	N(   R   RL   R&   R-   R8   R=   R@   RH   R_   Rf   R   t   NoneRq   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR      s   										t   SendfileTestCasec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sœ   t  j t ƒ } | j ƒ  { t  j d ƒ } |  j | j ƒ |  j | j d ƒ | j	 d ƒ ) } t
 | _ |  j | j | j ƒ  ƒ Wd  QX| j ƒ  Wd  QXd  S(   Ns   static/index.htmls	   text/html(   R   R   R   RD   t	   send_filet   assert_truet   direct_passthroughR    R4   t   open_resourceR   R   t   readt   close(   R"   R#   R%   t   f(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_send_file_regularÎ   s    	c      	   C   s§   t  j t ƒ } t | _ | j ƒ  } t  j d ƒ } |  j | j ƒ |  j	 d | j
 ƒ |  j | j
 d t j j | j d ƒ ƒ |  j | j d ƒ | j ƒ  Wd  QXd  S(   Ns   static/index.htmls
   x-sendfiles	   text/html(   R   R   R   R
   t   use_x_sendfileRD   Rt   Ru   Rv   t	   assert_int   headersR    t   ost   patht   joint	   root_pathR4   Ry   (   R"   R#   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_send_file_xsendfileÙ   s    	c         C   s2  t  j t ƒ } t ƒ  ´ } | j ƒ  ‰ t t j j | j	 d ƒ ƒ } t  j
 | ƒ } t | _ | j d ƒ   } |  j | j | j ƒ  ƒ Wd  QX|  j | j d ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ Wd  QXt | _ t ƒ  ¶ } | j ƒ  ‹ t t j j | j	 d ƒ ƒ } t  j
 | ƒ } |  j | j d ƒ |  j d | j ƒ |  j | j d t j j | j	 d ƒ ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ Wd  QXt | _ | j ƒ  t ƒ  [ } t d ƒ } t  j
 | ƒ } t | _ |  j | j d ƒ |  j | j d ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ t ƒ  a } t d ƒ } t  j
 | d d	 ƒ} t | _ |  j | j d ƒ |  j | j d	 ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ Wd  QXt | _ t ƒ  h } | j ƒ  = t d ƒ } t  j
 | ƒ } |  j d | j ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ Wd  QXd  S(
   Ns   static/index.htmls	   text/htmli   s
   x-sendfilet   Tests   application/octet-streami   R4   s
   text/plain(   R   R   R   R   RD   t   openR   R€   R   R‚   Rt   R   Rv   Rw   R    R   Rx   R4   Ry   RY   R
   R|   R}   R~   R   t   assert_not_in(   R"   R#   t   capturedRz   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_send_file_objectå   s`    						c         C   sË  t  j t ƒ } t ƒ  – } | j ƒ  k t t j j | j	 d ƒ ƒ } t  j
 | d t ƒ} t | j d ƒ \ } } |  j | d ƒ | j ƒ  Wd  QX|  j t | ƒ d ƒ Wd  QX| j ƒ  u |  j | d d ƒ t  j
 d d t ƒ} t | j d ƒ \ } } |  j | d ƒ |  j | d d ƒ | j ƒ  Wd  QX| j ƒ  † t  j
 t d ƒ d t d	 d
 d t ƒ} |  j | j d ƒ t | j d ƒ \ } } |  j | d ƒ |  j | d d
 ƒ | j ƒ  Wd  QXd  S(   Ns   static/index.htmlt   as_attachments   Content-Dispositiont
   attachmenti   t   filenames
   index.htmlR„   t   attachment_filenames	   index.txtt	   add_etagss
   text/plain(   R   R   R   R   RD   R…   R   R€   R   R‚   Rt   R
   R   R~   R    Ry   RY   R   R   R4   (   R"   R#   R‡   Rz   R%   t   valuet   options(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_attachment  s2    	c      	   C   sø  t  j t ƒ } | j ƒ  ƒ | j d ƒ } t | j d ƒ } |  j | j d ƒ | j	 ƒ  t  j
 d ƒ } t | j d ƒ } |  j | j d ƒ | j	 ƒ  Wd  QXd | j d <| j ƒ  ƒ | j d ƒ } t | j d ƒ } |  j | j d ƒ | j	 ƒ  t  j
 d ƒ } t | j d ƒ } |  j | j d ƒ | j	 ƒ  Wd  QXd t  j f d	 „  ƒ  Y} | t ƒ } | j ƒ  ƒ | j d ƒ } t | j d ƒ } |  j | j d
 ƒ | j	 ƒ  t  j
 d ƒ } t | j d ƒ } |  j | j d
 ƒ | j	 ƒ  Wd  QXd  S(   Ns
   index.htmls   Cache-Controli   i<   s   static/index.htmli  t   SEND_FILE_MAX_AGE_DEFAULTt   StaticFileAppc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ni
   (    (   R"   R‹   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   get_send_file_max_ageX  s    (   R   RL   R“   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR’   W  s   i
   iÐ  iÀ¨  iÐ  iÀ¨  (   R   R   R   RD   t   send_static_fileR   R~   R    t   max_ageRy   Rt   R:   (   R"   R#   R%   t   ccR’   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_static_file=  s>    


(   R   RL   R{   Rƒ   Rˆ   R   R—   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRs   Ì   s
   			:	t   LoggingTestCasec           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   sh   t  j t ƒ } | j } |  j | j | k ƒ |  j | j t ƒ t d | _ |  j | j | k	 ƒ d  S(   Ns   /test_logger_cache(   R   R   R   t   loggerRu   R    R   t   logger_name(   R"   R#   t   logger1(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_logger_cachej  s    	c            s9  t  j t ƒ ‰  t ˆ  _ ˆ  j d ƒ ‡  f d †  ƒ } ˆ  j d ƒ d „  ƒ } ˆ  j ƒ  Ù } t ƒ  € } | j d ƒ | j	 ƒ  } |  j
 d | ƒ |  j
 t j j t j d d ƒ d d	 ƒ | ƒ |  j
 d
 | ƒ |  j
 d | ƒ Wd  QXt ƒ  < } y | j d ƒ Wn t k
 rn X|  j t d ƒ Wd  QXWd  QXd  S(   NR'   c              s$   ˆ  j  j d ƒ ˆ  j  j d ƒ d S(   Ns   the standard library is deads   this is a debug statementt    (   R™   t   warningt   debug(    (   R#   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   v  s    s   /excc           S   s   d d d  S(   Ni   i    (    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   exc|  s    s   WARNING in helpers [t   .i   i    s   .pys   the standard library is deads   this is a debug statements   debug log ate the exception(   R   R   R   R
   RŸ   R   R   R   R*   t   getvalueR}   R   R€   t   basenamet   __file__t   rsplitt   ZeroDivisionErrorRu   R   (   R"   R(   R    R$   t   errt   out(    (   R#   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_debug_logr  s$    	0c         C   sG   t  j t ƒ } t | _ d | _ d | j _ |  j | j j d ƒ d  S(   Ns#   flask_tests/test_debug_log_overridei
   (	   R   R   R   R
   RŸ   Rš   R™   t   levelR    (   R"   R#   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_debug_log_override‘  s
    		c         C   sÚ   t  ƒ  } t j t ƒ } d | _ | j j t | ƒ ƒ | j d ƒ d „  ƒ } | j	 ƒ  j
 d ƒ } |  j | j d ƒ |  j d | j ƒ | j ƒ  } |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d	 | ƒ d  S(
   Ns"   flask_tests/test_exception_loggingR'   c           S   s   d d d  S(   Ni   i    (    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ž  s    iô  s   Internal Server Errors   Exception on / [GET]s"   Traceback (most recent call last):s   1 // 0s   ZeroDivisionError:(   R   R   R   R   Rš   R™   t
   addHandlerR    R   R   R*   R    R!   R}   R   R¢   (   R"   R¨   R#   R(   R%   R§   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_exception_logging˜  s    		c            s¿   t  j t ƒ } | j ‡  f d †  ƒ } | j ‡  f d †  ƒ } | j d ƒ d „  ƒ } | j d ƒ d „  ƒ } xI d
 D]A ‰  | j ƒ  j d ƒ } |  j	 | j
 d ƒ |  j	 | j d	 ƒ qv Wd  S(   Nc              s   ˆ  d k r d d n  d  S(   Nt   beforei   i    (    (    (   t   trigger(    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   before_request®  s    c            s   ˆ  d k r d d n  |  S(   Nt   afteri   i    (    (   t   response(   R¯   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   after_request²  s    R'   c           S   s   d S(   Nt   Foo(    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ·  s    iô  c         S   s   d S(   Ns   Hello Server Erroriô  (   s   Hello Server Erroriô  (    (   t   e(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   internal_server_errorº  s    R®   R±   s   Hello Server Error(   s   befores   after(   R   R   R   R°   R³   R   t   errorhandlerR   R*   R    R!   R   (   R"   R#   R°   R³   R(   R¶   R%   (    (   R¯   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_processor_exceptions¬  s    c      	   C   s]   t  j t ƒ } | j d ƒ d „  ƒ } | j ƒ  $ |  j t  j d d d ƒd ƒ Wd  QXd  S(   NR'   c           S   s   d S(   Nt   42(    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   Ä  s    R(   t   _anchors   x ys   /#x%20y(   R   R   R   R   RD   R    t   url_for(   R"   R#   R(   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_url_for_with_anchorÂ  s
    c         C   sc   t  j t ƒ } | j d ƒ d „  ƒ } | j ƒ  * |  j t  j d d t d d ƒd ƒ Wd  QXd  S(   NR'   c           S   s   d S(   NR¹   (    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   Í  s    R(   t	   _externalt   _schemet   httpss   https://localhost/(   R   R   R   R   RD   R    R»   R
   (   R"   R#   R(   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_url_for_with_schemeË  s    c      
   C   sZ   t  j t ƒ } | j d ƒ d „  ƒ } | j ƒ  ! |  j t t  j d d d ƒWd  QXd  S(   NR'   c           S   s   d S(   NR¹   (    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   Ø  s    R(   R¾   R¿   (   R   R   R   R   RD   t   assert_raisest
   ValueErrorR»   (   R"   R#   R(   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt%   test_url_for_with_scheme_not_externalÖ  s    	c         C   s  d d l  m } t j t ƒ } d | f d „  ƒ  Y} | j d ƒ } | j d d d g d	 | ƒ| j d
 d d g d	 | ƒ| j d d d g d	 | ƒ| j ƒ  h |  j t j	 d d d ƒd ƒ |  j t j	 d d d d d ƒd ƒ |  j t j	 d d d ƒd ƒ Wd  QXd  S(   Niÿÿÿÿ(   t
   MethodViewt   MyViewc           B   s   e  Z d d  „ Z d „  Z RS(   c         S   s   | d  k r d Sd | S(   Nt   Lists   Get %d(   Rr   (   R"   t   id(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR*   å  s    c         S   s   d S(   Nt   Create(    (   R"   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR   é  s    N(   R   RL   Rr   R*   R   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRÅ   ä  s   t   myviews   /myview/R   t   GETt	   view_funcs   /myview/<int:id>s   /myview/createR   t   _methodRÇ   i*   s
   /myview/42(
   t   flask.viewsRÄ   R   R   R   t   as_viewt   add_url_ruleRD   R    R»   (   R"   RÄ   R#   RÅ   RÉ   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_url_with_methodá  s"    (   R   RL   Rœ   R©   R«   R­   R¸   R¼   RÀ   RÃ   RÐ   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR˜   h  s   									t   NoImportsTestCasec           B   s   e  Z d  Z d „  Z RS(   sâ  Test Flasks are created without import.

    Avoiding ``__import__`` helps create Flask instances where there are errors
    at import time.  Those runtime errors will be apparent to the user soon
    enough, but tools which build Flask instances meta-programmatically benefit
    from a Flask which does not ``__import__``.  Instead of importing to
    retrieve file paths or metadata on a module or package, use the pkgutil and
    imp modules in the Python standard library.
    c         C   s6   y t  j d ƒ Wn t k
 r1 |  j d ƒ n Xd  S(   Nt   importerrors,   Flask(import_name) is importing import_name.(   R   R   t   NotImplementedErrort   fail(   R"   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_name_with_import_error  s    (   R   RL   t   __doc__RÕ   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRÑ   ü  s   	t   StreamingTestCasec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sb   t  j t ƒ } t | _ | j d ƒ d „  ƒ } | j ƒ  } | j d ƒ } |  j | j	 d ƒ d  S(   NR'   c          S   s"   d „  }  t  j t  j |  ƒ  ƒ ƒ S(   Nc           s   s   d Vt  j j d Vd Vd  S(   Ns   Hello R   t   !(   R   R   RV   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   generate  s    (   R   t   Responset   stream_with_context(   RÙ   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(     s    	s   /?name=Worlds   Hello World!(
   R   R   R   R
   R)   R   R   R*   R^   R   (   R"   R#   R(   R$   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   test_streaming_with_context  s    	c         C   sb   t  j t ƒ } t | _ | j d ƒ d „  ƒ } | j ƒ  } | j d ƒ } |  j | j	 d ƒ d  S(   NR'   c          S   s"   t  j d „  ƒ }  t  j |  ƒ  ƒ S(   Nc           s   s   d Vt  j j d Vd Vd  S(   Ns   Hello R   RØ   (   R   R   RV   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRÙ   #  s    (   R   RÛ   RÚ   (   RÙ   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   !  s    s   /?name=Worlds   Hello World!(
   R   R   R   R
   R)   R   R   R*   R^   R   (   R"   R#   R(   R$   R%   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt(   test_streaming_with_context_as_decorator  s    	c            s   t  j t ƒ } t | _ g  ‰ d t f ‡ f d †  ƒ  Y‰  | j d ƒ ‡  f d †  ƒ } | j ƒ  } | j d ƒ } |  j	 | j
 d ƒ |  j	 ˆ d g ƒ d  S(   Nt   Wrapperc              s8   e  Z d  „  Z d „  Z ‡  f d †  Z d „  Z e Z RS(   c         S   s   | |  _  d  S(   N(   t   _gen(   R"   t   gen(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRK   2  s    c         S   s   |  S(   N(    (   R"   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   __iter__4  s    c            s   ˆ  j  d ƒ d  S(   Ni*   (   t   append(   R"   (   t   called(    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRy   6  s    c         S   s   t  |  j ƒ S(   N(   t   nextRß   (   R"   (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   __next__8  s    (   R   RL   RK   Rá   Ry   Rå   Rä   (    (   Rã   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRÞ   1  s
   			R'   c             s(   d „  }  t  j t  j ˆ  |  ƒ  ƒ ƒ ƒ S(   Nc           s   s   d Vt  j j d Vd Vd  S(   Ns   Hello R   RØ   (   R   R   RV   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRÙ   =  s    (   R   RÚ   RÛ   (   RÙ   (   RÞ   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR(   ;  s    	s   /?name=Worlds   Hello World!i*   (   R   R   R   R
   R)   R[   R   R   R*   R^   R   (   R"   R#   R(   R$   R%   (    (   RÞ   Rã   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt,   test_streaming_with_context_and_custom_close-  s    	
(   R   RL   RÜ   RÝ   Ræ   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyR×     s   		c          C   sŠ   t  j ƒ  }  t j r. |  j t  j t ƒ ƒ n  |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t	 ƒ ƒ |  j t  j t
 ƒ ƒ |  S(   N(   t   unittestt	   TestSuiteR   t   json_availablet   addTestt	   makeSuiteR   Rs   R˜   RÑ   R×   (   t   suite(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyRì   I  s    	(   RÖ   R   R   Rç   t   loggingR    t   flask.testsuiteR   R   R   t   werkzeug.httpR   R   t   flask._compatR   R   R   R   Rs   R˜   RÑ   R×   Rì   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/helpers.pyt   <module>
   s   		®œ”;