ó
`¾Tc           @   sq   d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l m Z d e f d „  ƒ  YZ	 d „  Z
 d S(	   s»   
    werkzeug.testsuite.local
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Local and local proxy tests.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   Thread(   t   WerkzeugTestCase(   t   localt   LocalTestCasec           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c            sú   t  j ƒ  ‰  d ˆ  _ g  ‰ ‡ ‡  f d †  } g  d d d g D] } t d | d | f ƒ ^ q= } x | D] } | j ƒ  qh Wt j d ƒ t ˆ ƒ d d d g k sª t ‚ ‡  f d	 †  } | ƒ  |  j	 t
 ‡  f d
 †  ƒ |  j	 t
 | ƒ t  j ˆ  ƒ d  S(   Ni    c            s;   t  j d |  ƒ |  ˆ _ t  j d ƒ ˆ  j ˆ j ƒ d  S(   Ng{®Gáz„?g{®Gáz”?(   t   timet   sleept   foot   append(   t   idx(   t   valuest   l(    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   value_setter   s    	i   i   i   t   targett   argsgš™™™™™É?c              s
   ˆ  `  d  S(   N(   R   (    (   R
   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   delfoo&   s    c              s   ˆ  j  S(   N(   R   (    (   R
   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   <lambda>)   s    (   R   t   LocalR   R    t   startR   R   t   sortedt   AssertionErrort   assert_raisest   AttributeErrort   release_local(   t   selfR   t   xt   threadst   threadR   (    (   R
   R	   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   test_basic_local   s    	1!c         C   sw   t  j ƒ  } d | _ t  j | ƒ t | d ƒ s8 t ‚ t  j ƒ  } | j d ƒ t  j | ƒ | j d  k ss t ‚ d  S(   Ni*   R   (
   R   R   R   R   t   hasattrR   t
   LocalStackt   pusht   topt   None(   R   t   loct   ls(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   test_local_release.   s    	c            sÕ   g  ‰  t  j ‡  f d †  ƒ } | j d ƒ | j d ƒ d d d g | d )ˆ  d d d d g k si t ‚ t ˆ  ƒ t | ƒ k s‡ t ‚ ˆ  d d k s t ‚ ˆ  d g 7‰  t ˆ  ƒ d d d d d g k sÑ t ‚ d  S(   Nc              s   ˆ  S(   N(    (    (   R   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyR   ;   s    i*   i   i   i   i   i    (   R   t
   LocalProxyR   R   t   reprt   list(   R   R"   (    (   R   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   test_local_proxy9   s    c            s*  d ‰  t  j ‡  f d †  ƒ } | d d k s4 t ‚ d | d k sJ t ‚ | d d k s` t ‚ d | d k sv t ‚ | d d k sŒ t ‚ d | d k s¢ t ‚ | d d k s¸ t ‚ d | d k sÎ t ‚ | d d k sä t ‚ d | d	 k sú t ‚ | d d
 k st ‚ d | d
 k s&t ‚ d  S(   Ni   c              s   ˆ  S(   N(    (    (   R   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyR   G   s    i   i   iÿÿÿÿg      ð?g      à?g       @g        i    (   R   R$   R   (   R   R"   (    (   R   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt    test_local_proxy_operations_mathE   s    c            s€   d ‰  t  j ‡  f d †  ƒ } | d d k s4 t ‚ d | d k sJ t ‚ | d d k s` t ‚ d ‰  | d
 d	 k s| t ‚ d  S(   NR   c              s   ˆ  S(   N(    (    (   R   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyR   W   s    t   bart   foobart   barfooi   t   foofoos   foo %ss   foo bar(   R)   (   R   R$   R   (   R   R"   (    (   R   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt#   test_local_proxy_operations_stringsU   s    c         C   sª  t  j ƒ  } t  j ƒ  } | | j j k s0 t ‚ | j d  k sE t ‚ | j d ƒ | | j j k sj t ‚ | j d k s t ‚ | j d ƒ | j d k s¡ t ‚ | j	 ƒ  | j d k sÀ t ‚ | j	 ƒ  | j d  k sß t ‚ | j	 ƒ  d  k s÷ t ‚ | j	 ƒ  d  k st ‚ | ƒ  } | j d d g ƒ | d d g k sCt ‚ | j d ƒ | d k sbt ‚ | j	 ƒ  | j	 ƒ  t
 | ƒ d k sŽt ‚ | | j j k s¦t ‚ d  S(   Ni*   i   i   i   s   <LocalProxy unbound>(   i   i   (   i   i   (   R   t	   get_identR   t   _localt   __storage__R   R   R    R   t   popR%   (   R   t   identR"   t   proxy(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   test_local_stack_   s0    

	

c            sz   d ‰  t  j ‡  f d †  ƒ } | d k s0 t ‚ d g ‰  | j d ƒ | d d g k s^ t ‚ ˆ  d d g k sv t ‚ d  S(   Ni*   c              s   ˆ  S(   N(    (    (   R   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyR   ~   s    i   (   R   R$   R   R   (   R   R"   (    (   R   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt!   test_local_proxies_with_callables|   s    	c            s,  d ‰  t  j ƒ  } t  j ƒ  } t  j | | g d ‡  f d †  ƒ} d | _ | j i d d 6ƒ d ‰  d | _ | j i d d 6ƒ d ‰  | j d k s t ‚ | j d d k s¶ t ‚ | j ƒ  | j d  k sÕ t ‚ d ‰  | j d k sð t ‚ | j d d k s	t ‚ | j ƒ  | j d  k s(t ‚ d  S(   Ni    t
   ident_funcc              s   ˆ  S(   N(    (    (   R2   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyR   ‰   s    i*   R   i   i   (
   R   R   R   t   LocalManagerR   R   R   R   R1   R    (   R   R!   t   stackt   mgr(    (   R2   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   test_custom_idents…   s&    $		

(
   t   __name__t
   __module__R   R#   R'   R(   R-   R4   R5   R:   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.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/werkzeug/testsuite/local.pyRA   œ   s    (   t   __doc__R   R=   t	   threadingR    t   werkzeug.testsuiteR   t   werkzeugR   R   RA   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/local.pyt   <module>
   s   ˆ