ó
`¾Tc           @   sQ   d  Z  d d l Z d d l Z d d l m Z d e f d „  ƒ  YZ d „  Z d S(   s¹   
    flask.testsuite.appctx
    ~~~~~~~~~~~~~~~~~~~~~~

    Tests the application context.

    :copyright: (c) 2012 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   FlaskTestCaset   AppContextTestCasec           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   sw   t  j t ƒ } d | j d <d | j d <| j d ƒ d „  ƒ } | j ƒ  $ t  j d ƒ } |  j | d ƒ Wd  QXd  S(	   Nt	   localhostt   SERVER_NAMEt   httpst   PREFERRED_URL_SCHEMEt   /c           S   s   d  S(   N(    (    (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   index   s    R   s   https://localhost/(   t   flaskt   Flaskt   __name__t   configt   routet   app_contextt   url_fort   assert_equal(   t   selft   appR   t   rv(    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   test_basic_url_generation   s    c      
   C   sI   t  j t ƒ } | j ƒ  ( |  j t ƒ  t  j d ƒ Wd  QXWd  QXd  S(   NR   (   R   R	   R
   R   t   assert_raisest   RuntimeErrorR   (   R   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt(   test_url_generation_requires_server_name    s    c         C   s'   |  j  t ƒ  t j d ƒ Wd  QXd  S(   NR   (   R   R   R   R   (   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt)   test_url_generation_without_context_fails&   s    c         C   sU   t  j t ƒ } | j ƒ   |  j t  j j ƒ  | ƒ Wd  QX|  j t  j j d  ƒ d  S(   N(
   R   R	   R
   t   test_request_contextR   t   current_appt   _get_current_objectt   _app_ctx_stackt   topt   None(   R   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt&   test_request_context_means_app_context*   s    c         C   sU   t  j t ƒ } | j ƒ   |  j t  j j ƒ  | ƒ Wd  QX|  j t  j j d  ƒ d  S(   N(
   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/appctx.pyt%   test_app_context_provides_current_app0   s    c            sW   g  ‰  t  j t ƒ } | j ‡  f d †  ƒ } | j ƒ   Wd  QX|  j ˆ  d  g ƒ d  S(   Nc            s   ˆ  j  |  ƒ d  S(   N(   t   append(   t	   exception(   t   cleanup_stuff(    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   cleanup9   s    (   R   R	   R
   t   teardown_appcontextR   R   R   (   R   R   R#   (    (   R"   s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   test_app_tearing_down6   s    c         C   s^   d t  f d „  ƒ  Y} t j t ƒ } | | _ | j ƒ   |  j t j d ƒ d ƒ Wd  QXd  S(   Nt   CustomRequestGlobalsc           B   s   e  Z d  „  Z RS(   c         S   s   d |  _  d  S(   Nt   eggs(   t   spam(   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   __init__D   s    (   R
   t
   __module__R)   (    (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyR&   C   s   s   {{ g.spam }}R'   (   t   objectR   R	   R
   t   app_ctx_globals_classR   R   t   render_template_string(   R   R&   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt!   test_custom_app_ctx_globals_classB   s    	c            sœ   g  ‰  t  j t ƒ } | j d  ‡  f d † ƒ } | j d  ‡  f d † ƒ } | j d ƒ ‡ f d †  ƒ } | j ƒ  } | j d ƒ ˆ j	 ˆ  d d g ƒ d  S(   Nc            s   ˆ  j  d ƒ d  S(   Nt   request(   R    (   t   error(   t   called(    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   teardown_reqO   s    c            s   ˆ  j  d ƒ d  S(   NR   (   R    (   R0   (   R1   (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   teardown_appR   s    R   c        	      sM   t  j j  t  j j  Wd  QXWd  QXˆ  j t  j j j j d d  k	 ƒ d S(   Ns   werkzeug.requestu    (   R   R   R   t   _request_ctx_stackt   assert_trueR/   t   environR   (    (   R   (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyR   U   s    R/   R   (
   R   R	   R
   t   teardown_requestR   R$   R   t   test_clientt   gett   assertEqual(   R   R   R2   R3   R   t   c(    (   R1   R   s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   test_context_refcountsL   s    (
   R
   R*   R   R   R   R   R   R%   R.   R<   (    (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyR      s   							
c          C   s&   t  j ƒ  }  |  j t  j t ƒ ƒ |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   (   t   suite(    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyRA   b   s    (   t   __doc__R   R=   t   flask.testsuiteR    R   RA   (    (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/appctx.pyt   <module>
   s
   Q