ó
`¾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.signals
    ~~~~~~~~~~~~~~~~~~~~~~~

    Signalling.

    :copyright: (c) 2011 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   FlaskTestCaset   SignalsTestCasec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c            sÎ   t  j t ƒ } | j d ƒ d „  ƒ } g  ‰  ‡  f d †  } t  j j | | ƒ zd | j ƒ  j d ƒ |  j t	 ˆ  ƒ d ƒ ˆ  d \ } } |  j | j
 d ƒ |  j | d d ƒ Wd  t  j j | | ƒ Xd  S(	   Nt   /c           S   s   t  j d d d ƒS(   Ns   simple_template.htmlt   whiskeyi*   (   t   flaskt   render_template(    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   index   s    c            s   ˆ  j  | | f ƒ d  S(   N(   t   append(   t   sendert   templatet   context(   t   recorded(    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   record   s    i   i    s   simple_template.htmlR   i*   (   R   t   Flaskt   __name__t   routet   template_renderedt   connectt   test_clientt   gett   assert_equalt   lent   namet
   disconnect(   t   selft   appR   R   R	   R
   (    (   R   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   test_template_rendered   s    c            s#  t  j t ƒ } g  ‰  ‡  f d †  } ‡ ‡  f d †  } | j ‡  f d †  ƒ } | j ‡  f d †  ƒ } | j d ƒ ‡  f d †  ƒ } t  j j | | ƒ t  j j | | ƒ zK | j	 ƒ  j
 d ƒ } ˆ j | j d ƒ ˆ j ˆ  d d	 d
 d d g ƒ Wd  t  j j | | ƒ t  j j | | ƒ Xd  S(   Nc            s   ˆ  j  d ƒ d  S(   Ns   before-signal(   R   (   R   (   t   calls(    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   before_request_signal,   s    c            s$   ˆ  j  | j d ƒ ˆ j d ƒ d  S(   Nt   stuffs   after-signal(   R   t   dataR   (   R   t   response(   R   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   after_request_signal/   s    c              s   ˆ  j  d ƒ d  S(   Ns   before-handler(   R   (    (   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   before_request_handler3   s    c            s   ˆ  j  d ƒ d |  _ |  S(   Ns   after-handlerR   (   R   R   (   R   (   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   after_request_handler7   s    	R   c              s   ˆ  j  d ƒ d S(   Nt   handlers   ignored anyway(   R   (    (   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR   =   s    R   s   before-signals   before-handlerR#   s   after-handlers   after-signal(   R   R   R   t   before_requestt   after_requestR   t   request_startedR   t   request_finishedR   R   R   R   R   (   R   R   R   R    R!   R"   R   t   rv(    (   R   R   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   test_request_signals(   s"    c            sÀ   t  j t ƒ } g  ‰  | j d ƒ d „  ƒ } ‡  f d †  } t  j j | | ƒ zV |  j | j ƒ  j d ƒ j	 d ƒ |  j t
 ˆ  ƒ d ƒ |  j t ˆ  d t ƒ ƒ Wd  t  j j | | ƒ Xd  S(   NR   c           S   s   d d d  S(   Ni   i    (    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR   T   s    c            s   ˆ  j  | ƒ d  S(   N(   R   (   R   t	   exception(   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR   X   s    iô  i   i    (   R   R   R   R   t   got_request_exceptionR   R   R   R   t   status_codeR   t   assert_truet
   isinstancet   ZeroDivisionErrorR   (   R   R   R   R   (    (   R   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   test_request_exception_signalP   s    "c            s  t  j t ƒ } g  ‰  ‡  f d †  } ‡  f d †  } | j d ƒ d „  ƒ } t  j j | | ƒ t  j j | | ƒ zd | j ƒ  < } | j d ƒ } |  j	 | j
 d ƒ |  j	 ˆ  d g ƒ Wd  QX|  j	 ˆ  d d g ƒ Wd  t  j j | | ƒ t  j j | | ƒ Xd  S(   Nc            s   ˆ  j  d ƒ d  S(   Nt   push(   R   (   R   t   kwargs(   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   record_pushf   s    c            s   ˆ  j  d ƒ d  S(   NR1   (   R   (   R   R2   (   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt
   record_poph   s    R   c           S   s   d S(   Nt   Hello(    (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR   k   s    R5   R1   t   pop(   R   R   R   R   t   appcontext_pushedR   t   appcontext_poppedR   R   R   R   R   (   R   R   R3   R4   R   t   cR(   (    (   R   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   test_appcontext_signalsc   s    c            sí   t  j t ƒ } d | j d <| j d ƒ d „  ƒ } g  ‰  ‡  f d †  } t  j j | | ƒ zv | j ƒ  } | j ƒ  X | j	 d ƒ |  j
 t ˆ  ƒ d ƒ ˆ  d \ } } |  j
 | d ƒ |  j
 | d	 ƒ Wd  QXWd  t  j j | | ƒ Xd  S(
   Nt   secrett
   SECRET_KEYR   c           S   s    t  j d d d ƒt  j d ƒ S(   Ns   This is a flash messaget   categoryt   notices   /other(   R   t   flasht   redirect(    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR      s    c            s   ˆ  j  | | f ƒ d  S(   N(   R   (   R   t   messageR=   (   R   (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR   …   s    i   i    s   This is a flash messageR>   (   R   R   R   t   configR   t   message_flashedR   R   t   session_transactionR   R   R   R   (   R   R   R   R   t   clientRA   R=   (    (   R   s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   test_flash_signal{   s    (   R   t
   __module__R   R)   R0   R:   RF   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyR      s
   		(		c          C   s2   t  j ƒ  }  t j r. |  j t  j t ƒ ƒ n  |  S(   N(   t   unittestt	   TestSuiteR   t   signals_availablet   addTestt	   makeSuiteR   (   t   suite(    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyRM   •   s    	(   t   __doc__R   RH   t   flask.testsuiteR    R   RM   (    (    (    s]   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/signals.pyt   <module>
   s
   „