ó
`žTc           @   s   d  Z  d d l Z d d l Z y d d l m Z Wn e k
 rK e Z n Xd d l m Z d d l	 m
 Z
 d e f d     YZ d   Z d S(	   sś   
    flask.testsuite.ext
    ~~~~~~~~~~~~~~~~~~~

    Tests the extension import thing.

    :copyright: (c) 2011 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
i˙˙˙˙N(   t   reload(   t   FlaskTestCase(   t   PY2t   ExtImportHookTestCasec           B   s   e  Z d    Z d   Z d   Z d   Z 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(   c         C   s   x~ t  t j j    D]g \ } } | j d  s[ | j d  s[ | j d  s[ | d k r | d  k	 r t j j | d   q q Wd d l m } t	 |  d } xH t j
 D]= } t |  } | j d k rŤ | j d	 k rŤ | d
 7} qŤ qŤ W|  j | d
  d  S(   Ns
   flask.ext.t   flask_s	   flaskext.t   flaskexti˙˙˙˙(   t   exti    s   flask.exthookt   ExtensionImporteri   (   t   listt   syst   modulest   itemst
   startswitht   Nonet   popt   flaskR   t   reload_modulet	   meta_patht   typet
   __module__t   __name__t   assert_equal(   t   selft   entryt   valueR   t   import_hookst   itemt   cls(    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt   setup   s    "
c         C   s8   d d l  m } x! | j D] } |  j d |  q Wd  S(   Ni˙˙˙˙(   R   t   .(   R   R   t   __dict__t   assert_not_in(   R   R   t   key(    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt   teardown.   s    c         C   s$   d d l  m } |  j | d  d  S(   Ni˙˙˙˙(   t   ext_idt   newext_simple(   t   flask.ext.newext_simpleR"   R   (   R   R"   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt&   test_flaskext_new_simple_import_normal3   s    c         C   s:   d d l  m } |  j | j d  |  j | j d  d  S(   Ni˙˙˙˙(   R#   R#   t   flask_newext_simple(   t	   flask.extR#   R   R"   R   (   R   R#   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt&   test_flaskext_new_simple_import_module7   s    c         C   s$   d d l  m } |  j | d  d  S(   Ni˙˙˙˙(   R"   t   newext_package(   t   flask.ext.newext_packageR"   R   (   R   R"   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt'   test_flaskext_new_package_import_normal<   s    c         C   s:   d d l  m } |  j | j d  |  j | j d  d  S(   Ni˙˙˙˙(   R)   R)   t   flask_newext_package(   R'   R)   R   R"   R   (   R   R)   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt'   test_flaskext_new_package_import_module@   s    c         C   s'   d d l  m } |  j |   d  d  S(   Ni˙˙˙˙(   t   test_functioni*   (   t"   flask.ext.newext_package.submoduleR.   R   (   R   R.   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt3   test_flaskext_new_package_import_submodule_functionE   s    c         C   s=   d d l  m } |  j | j d  |  j | j   d  d  S(   Ni˙˙˙˙(   t	   submodules   flask_newext_package.submodulei*   (   R*   R1   R   R   R.   (   R   R1   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt*   test_flaskext_new_package_import_submoduleI   s    c         C   s$   d d l  m } |  j | d  d  S(   Ni˙˙˙˙(   R"   t   oldext_simple(   t   flask.ext.oldext_simpleR"   R   (   R   R"   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt&   test_flaskext_old_simple_import_normalN   s    c         C   s:   d d l  m } |  j | j d  |  j | j d  d  S(   Ni˙˙˙˙(   R3   R3   s   flaskext.oldext_simple(   R'   R3   R   R"   R   (   R   R3   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt&   test_flaskext_old_simple_import_moduleR   s    c         C   s$   d d l  m } |  j | d  d  S(   Ni˙˙˙˙(   R"   t   oldext_package(   t   flask.ext.oldext_packageR"   R   (   R   R"   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt'   test_flaskext_old_package_import_normalW   s    c         C   s:   d d l  m } |  j | j d  |  j | j d  d  S(   Ni˙˙˙˙(   R7   R7   s   flaskext.oldext_package(   R'   R7   R   R"   R   (   R   R7   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt'   test_flaskext_old_package_import_module[   s    c         C   s=   d d l  m } |  j | j d  |  j | j   d  d  S(   Ni˙˙˙˙(   R1   s!   flaskext.oldext_package.submodulei*   (   R8   R1   R   R   R.   (   R   R1   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt*   test_flaskext_old_package_import_submodule`   s    c         C   s'   d d l  m } |  j |   d  d  S(   Ni˙˙˙˙(   R.   i*   (   t"   flask.ext.oldext_package.submoduleR.   R   (   R   R.   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt3   test_flaskext_old_package_import_submodule_functione   s    c         C   s=   x6 t  d  D]( } |  j t   d d  l } Wd  QXq Wd  S(   Ni   i˙˙˙˙(   t   ranget   assert_raisest   ImportErrort   flask.ext.broken(   R   t   xR   (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt.   test_flaskext_broken_package_no_module_cachingi   s    c         C   sÎ   y d d  l  } Wnˇ t k
 rÉ t j   \ } } } |  j | t k  t rW d } n d } |  j t |  |  |  j | j j	 t
   k  | j j } t s­ | j } n  |  j d | j j j  n Xd  S(   Ni˙˙˙˙s   No module named missing_modules    No module named 'missing_module's   flask_broken/__init__.py(   RA   R@   R	   t   exc_infot   assert_trueR   R   t   strt   tb_framet	   f_globalst   globalst   tb_nextt	   assert_int   f_codet   co_filename(   R   R   t   exc_typet	   exc_valuet   tbt   messaget   next(    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt   test_no_error_swallowingn   s    	(   R   R   R   R!   R%   R(   R+   R-   R0   R2   R5   R6   R9   R:   R;   R=   RC   RS   (    (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyR      s    															c          C   s&   t  j   }  |  j t  j t   |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   (   t   suite(    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyRX      s    (   t   __doc__R	   RT   t   impR    R   R@   t   flask.testsuiteR   t   flask._compatR   R   RX   (    (    (    sY   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/flask/testsuite/ext.pyt   <module>
   s   
n