
 `Tc           @   s  d  Z  d d l Z d d l Z d d l m Z d d l m Z m Z m Z m	 Z	 d d l
 m Z d d l m Z d d l m Z m Z d d l m Z m Z m Z m Z d	 Z e j d
  Z i d d 6d d 6d d 6d d 6d d 6Z i d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6d$ d% 6Z i i d& d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 6Z e d7    Z e d8    Z e d9 e e  d: d; g  Z e j j  i e d< 6e d= 6e d> 6 e d9 e e  d: d; g  Z! e! j" e e d? e# d@ e f dA     YZ$ dB e f dC     YZ% dD e f dE     YZ& dF e f dG     YZ' dH e f dI     YZ( dJ e f dK     YZ) dL e f dM     YZ* dN   Z+ d S(O   s   
    jinja2.testsuite.ext
    ~~~~~~~~~~~~~~~~~~~~

    Tests for the extensions.

    :copyright: (c) 2010 by the Jinja Team.
    :license: BSD, see LICENSE for more details.
iN(   t   JinjaTestCase(   t   Environmentt
   DictLoadert   contextfunctiont   nodes(   t   TemplateAssertionError(   t	   Extension(   t   Tokent   count_newlines(   t   nextt   BytesIOt
   itervaluest	   text_typei   s   _\((.*?)\)(?s)sS   <title>{{ page_title|default(_("missing")) }}</title>{% block body %}{% endblock %}s   master.htmls[   {% extends "master.html" %}{% block body %}{% trans %}watch out{% endtrans %}{% endblock %}s
   child.htmls_   {% trans user_count %}One user online{% pluralize %}{{ user_count }} users online{% endtrans %}s   plural.htmlsf   {% trans user_count=get_user_count() %}{{ user_count }}s{% pluralize %}{{ user_count }}p{% endtrans %}s   plural2.htmls/   {{ _("User: %(num)s")|format(num=user_count) }}s   stringformat.htmls(   {{ _("User: %(num)s", num=user_count) }}s9   {{ ngettext("%(num)s apple", "%(num)s apples", apples) }}s   ngettext.htmlsR   {% trans num=apples %}{{ num }} apple{% pluralize %}{{ num }} apples{% endtrans %}s   ngettext_long.htmls(   {% trans %}User: {{ num }}{% endtrans %}s   transvars1.htmls2   {% trans num=count %}User: {{ num }}{% endtrans %}s   transvars2.htmls4   {% trans count=num %}User: {{ count }}{% endtrans %}s   transvars3.htmls"   {% trans %}%(hello)s{% endtrans %}s   novars.htmls)   {% trans %}{{ foo }}%(foo)s{% endtrans %}s	   vars.htmls)   {% trans foo="42" %}%(foo)s{% endtrans %}s   explicitvars.htmlu   fehlendt   missingu   pass aufs	   watch outu   Ein Benutzer onlines   One user onlineu   %(user_count)s Benutzer onlines   %(user_count)s users onlineu   Benutzer: %(num)ss   User: %(num)su   Benutzer: %(count)ss   User: %(count)su   %(num)s Apfels   %(num)s appleu   %(num)s Äpfels   %(num)s applest   dec         C   s.   |  j  d d  } t j  | i   j  | |  S(   Nt   LANGUAGEt   en(   t   gett	   languages(   t   contextt   stringt   language(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   gettextI   s    c         C   sV   |  j  d d  } | d k r: t j  | i   j  | |  St j  | i   j  | |  S(   NR   R   i   (   R   R   (   R   t   st   pt   nR   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   ngettextO   s    t   loadert
   extensionss   jinja2.ext.i18nt   _R   R   t   newstylet   TestExtensionc           B   s/   e  Z e d  g  Z d Z d   Z d   Z RS(   t   testi*   c         C   sb   t  j |  j d t  j d  |  j d  t  j t d  t  j   g  g  j t	 | j
  j  S(   Nt   _dumpt	   sandboxedt   ext_attrs   .importable_object(   R   t   Outputt   call_methodt   EnvironmentAttributet   attrt   ImportedNamet   __name__t   ContextReferencet
   set_linenoR	   t   streamt   lineno(   t   selft   parser(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   parsek   s    c         C   s   d | | | | j  f S(   Ns   %s|%s|%s|%s(   t   blocks(   R.   R"   R#   t   imported_objectR   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR!   s   s
    (   R)   t
   __module__t   sett   tagsR#   R0   R!   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR   g   s   	t   PreprocessorExtensionc           B   s   e  Z d d   Z RS(   c         C   s   | j  d d  S(   Ns   [[TEST]]s   ({{ foo }})(   t   replace(   R.   t   sourcet   namet   filename(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt
   preprocess~   s    N(   R)   R3   t   NoneR;   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR6   |   s   t   StreamFilterExtensionc           B   s   e  Z d    Z d   Z RS(   c         c   sK   xD | D]< } | j  d k r> x$ |  j |  D] } | Vq, Wq | Vq Wd  S(   Nt   data(   t   typet   interpolate(   R.   R,   t   tokent   t(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   filter_stream   s
    c         c   s2  d } t  | j  } | j } x t j | j |  } | d  k rF Pn  | j | | j   !} | rv t | d |  Vn  | t | j  7} t | d d   Vt | d d  Vt | d d   Vt | d | j	 d   Vt | d	 d   Vt | d
 d   V| j
   } q! | | k  r.t | d | j |  Vn  d  S(   Ni    R>   t   variable_beginR9   R   t   lparenR   i   t   rparent   variable_end(   t   lent   valueR-   t   _gettext_ret   searchR<   t   startR   R   t   groupt   end(   R.   RA   t   posRN   R-   t   matchRI   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR@      s(    	(   R)   R3   RC   R@   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR=      s   	t   ExtensionsTestCasec           B   sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C   sA   t    } | j d  | j d  } | j   d k s= t  d  S(   Ns   jinja2.ext.autoescapes6   {% autoescape true %}{{ "<test>" }}{% endautoescape %}s   &lt;test&gt;(   R   t   add_extensiont   from_stringt   rendert   AssertionError(   R.   t   envRB   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_extend_late   s    	c         C   sd   t  d d g  } | j d  } | j   d k s9 t  | j d  } | j   d k s` t  d  S(   NR   s   jinja2.ext.loopcontrolss   
            {%- for item in [1, 2, 3, 4] %}
                {%- if item % 2 == 0 %}{% continue %}{% endif -%}
                {{ item }}
            {%- endfor %}t   13s   
            {%- for item in [1, 2, 3, 4] %}
                {%- if item > 2 %}{% break %}{% endif -%}
                {{ item }}
            {%- endfor %}t   12(   R   RS   RT   RU   (   R.   RV   t   tmpl(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_loop_controls   s    		c         C   s=   t  d d g  } | j d  } | j   d k s9 t  d  S(   NR   s   jinja2.ext.dos   
            {%- set items = [] %}
            {%- for char in "foo" %}
                {%- do items.append(loop.index0 ~ char) %}
            {%- endfor %}{{ items|join(', ') }}s
   0f, 1o, 2o(   R   RS   RT   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_do   s    	c         C   sn   t  d d g  } | j d  } g  | j d d d d  j   D] } | j   ^ q@ d d	 g k sj t  d  S(
   NR   s   jinja2.ext.with_sy           {% with a=42, b=23 -%}
            {{ a }} = {{ b }}
        {% endwith -%}
            {{ a }} = {{ b }}        t   ai   t   bi   s   42 = 23s   1 = 2(   R   RS   RT   t
   splitlinest   stripRU   (   R.   RV   RZ   t   x(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt	   test_with   s
    	4c         C   s=   t  d t g  } | j d  } | j   d k s9 t  d  S(   NR   s
   {% test %}s   False|42|23|{}(   R   R   RS   RT   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_extension_nodes   s    c         C   s   t  j t d k s t  d  S(   Ns   .TestExtension(   R   t
   identifierR)   RU   (   R.   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_identifier   s    c         C   sh   t  d t g  } | j   } xC | | f D]5 } x, t | j  D] } | j | k sA t  qA Wq+ Wd  S(   NR   (   R   R   t   overlayR   R   t   environmentRU   (   R.   t   originalRf   RV   t   ext(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_rebinding   s
    c         C   sC   t  d t g  } | j d  } | j d d  d k s? t  d  S(   NR   s
   {[[TEST]]}t   fooi*   s   {(42)}(   R   R6   RS   RT   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_preprocessor_extension   s    c         C   sS   t  d t g  } d   | j d <| j d  } | j   } | d k sO t  d  S(   NR   c         S   s
   |  j    S(   N(   t   upper(   Ra   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   <lambda>   s    R   s   Foo _(bar) Bazs   Foo BAR Baz(   R   R=   t   globalsRS   RT   RU   (   R.   RV   RZ   t   out(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_streamfilter_extension   s
    c         C   s   d t  f d     Y} d t  f d     Y} t d | | g  } t | j    } | d j | k sl t  | d j | k s t  d  S(   Nt   T1c           B   s   e  Z d  Z RS(   i   (   R)   R3   t   priority(    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRr      s   t   T2c           B   s   e  Z d  Z RS(   i   (   R)   R3   Rs   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRt      s   R   i    i   (   R   R   t   listt   iter_extensionst	   __class__RU   (   R.   Rr   Rt   RV   Ri   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_extension_ordering   s    (   R)   R3   RW   R[   R\   Rb   Rc   Re   Rj   Rl   Rq   Rx   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRQ      s   										t   InternationalizationTestCasec           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s1   t  j d  } | j d d  d k s- t  d  S(   Ns
   child.htmlR   R   s   <title>fehlend</title>pass auf(   t   i18n_envt   get_templateRT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt
   test_trans   s    c         C   s[   t  j d  } | j d d d d  d k s3 t  | j d d d d  d k sW t  d  S(	   Ns   plural.htmlR   R   t
   user_counti   s   Ein Benutzer onlinei   s   2 Benutzer online(   Rz   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_trans_plural   s    $c            sd   t  j d  }   f d     d   _ | j d d d    d k sK t    j d k s` t  d  S(	   Ns   plural2.htmlc              s     j  d 7_  d S(   Ni   (   t   called(    (   t   get_user_count(    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR     s    i    R   R   R   t   1si   (   Rz   R{   R   RT   RU   (   R.   RZ   (    (   R   sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt    test_trans_plural_with_functions  s
    	$c         C   sA   t  j d  } | j   d k s' t  |  j t t  j d  d  S(   Ns_   {% trans foo=42, count=2 %}{{ count }} item{% pluralize count %}{{ count }} items{% endtrans %}s   2 itemss6   {% trans foo %}...{% pluralize bar %}...{% endtrans %}(   Rz   RS   RT   RU   t   assert_raisesR   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_complex_plural
  s    c         C   s7   t  j d  } | j d d d d  d k s3 t  d  S(   Ns   stringformat.htmlR   R   R}   i   s   Benutzer: 5(   Rz   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_trans_stringformatting  s    c         C   s}   d d l  m } t d j d   } t | | d g  i    d d d	 g  f d
 d d	 g  f d d d g  f g k sy t  d  S(   Ni(   t   babel_extracts   
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        t   asciiR   R   R   i   u   Hello Worldi   i   u   %(users)s useru   %(users)s users(   s   gettexts   ngettextR   (   u   %(users)s useru   %(users)s usersN(   t
   jinja2.extR   R
   t   encodeRu   R<   RU   (   R.   R   R8   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_extract  s    c         C   s   d d l  m } t d j d   } t | | d d d	 g i    d
 d d d g f d d d d g f d d d d g f g k s t  d  S(   Ni(   R   s   
        {# trans first #}
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}{# trans second #}
        {#: third #}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        s   utf-8R   R   R   t   transt   :i   u   Hello Worldt   firsti   t   secondi   u   %(users)s useru   %(users)s userst   third(   s   gettexts   ngettextR   (   u   %(users)s useru   %(users)s usersN(   R   R   R
   R   Ru   R<   RU   (   R.   R   R8   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_comment_extract"  s    (	   R)   R3   R|   R~   R   R   R   R   R   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRy      s   							t$   NewstyleInternationalizationTestCasec           B   sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C   s1   t  j d  } | j d d  d k s- t  d  S(   Ns
   child.htmlR   R   s   <title>fehlend</title>pass auf(   t   newstyle_i18n_envR{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR|   4  s    c         C   s[   t  j d  } | j d d d d  d k s3 t  | j d d d d  d k sW t  d  S(	   Ns   plural.htmlR   R   R}   i   s   Ein Benutzer onlinei   s   2 Benutzer online(   R   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR~   8  s    $c         C   sA   t  j d  } | j   d k s' t  |  j t t j d  d  S(   Ns_   {% trans foo=42, count=2 %}{{ count }} item{% pluralize count %}{{ count }} items{% endtrans %}s   2 itemss6   {% trans foo %}...{% pluralize bar %}...{% endtrans %}(   R   RS   RT   RU   R   R   Rz   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR   =  s    c         C   s7   t  j d  } | j d d d d  d k s3 t  d  S(   Ns   stringformat.htmlR   R   R}   i   s   Benutzer: 5(   R   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR   D  s    c         C   s[   t  j d  } | j d d d d  d k s3 t  | j d d d d  d k sW t  d  S(	   Ns   ngettext.htmlR   R   t   applesi   s   1 Apfeli   u   5 Äpfel(   R   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_newstyle_pluralH  s    $c         C   s   t  d d d g  } | j d   d   d t | j d  } | j d t  d	 k s^ t  | j d t  d
 k s| t  d  S(   NR   s   jinja2.ext.autoescapes   jinja2.ext.i18nc         S   s   d S(   Nu   <strong>Wert: %(name)s</strong>(    (   Ra   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRn   P  s    c         S   s   |  S(   N(    (   R   R   R   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyRn   Q  s    R   sI   {% autoescape ae %}{{ gettext("foo", name="<test>") }}{% endautoescape %}t   aes#   <strong>Wert: &lt;test&gt;</strong>s   <strong>Wert: <test></strong>(   R   t   install_gettext_callablest   TrueRS   RT   RU   t   False(   R.   RV   RB   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_autoescape_supportM  s    	c         C   s7   t  j d  } | j d d d d  d k s3 t  d  S(   Ns   ngettext_long.htmlR   i   R   R   u   5 Äpfel(   R   R{   RT   RU   (   R.   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_num_used_twiceW  s    c         C   s7   t  j d d t } t j d |  d  k	 s3 t  d  S(   Nso   
            {% trans num=3 %}{{ num }} apple{% pluralize
            %}{{ num }} apples{% endtrans %}
        t   raws:   l_ngettext, u?'\%\(num\)s apple', u?'\%\(num\)s apples', 3(   R   t   compileR   t   reRK   R<   RU   (   R.   R8   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_num_called_num[  s    	c         C   s   t  j d  } t  j d  } t  j d  } | j d d d d  d k sQ t  | j d	 d
 d d  d k su t  | j d d d d  d k s t  d  S(   Ns   transvars1.htmls   transvars2.htmls   transvars3.htmlt   numi   R   R   s   Benutzer: 1t   counti   s   Benutzer: 23i*   s   Benutzer: 42(   R   R{   RT   RU   (   R.   t   t1t   t2t   t3(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_trans_varsg  s    $$c         C   s   t  j d  } | j   d k s' t  t  j d  } | j d d  d k sT t  t  j d  } | j   d k s{ t  d  S(	   Ns   novars.htmls	   %(hello)ss	   vars.htmlRk   t   42s	   42%(foo)ss   explicitvars.htmls   %(foo)s(   R   R{   RT   RU   (   R.   RB   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_novars_vars_escapingo  s    (   R)   R3   R|   R~   R   R   R   R   R   R   R   R   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR   2  s   						
			t   AutoEscapeTestCasec           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  d d g d t  } | j d  } | j   j   d d d g k sN t  t  d d g d t  } | j d  } | j   j   d d d g k s t  d  S(   NR   s   jinja2.ext.autoescapet
   autoescapes   
            {{ "<HelloWorld>" }}
            {% autoescape false %}
                {{ "<HelloWorld>" }}
            {% endautoescape %}
            {{ "<HelloWorld>" }}
        u   &lt;HelloWorld&gt;u   <HelloWorld>s   
            {{ "<HelloWorld>" }}
            {% autoescape true %}
                {{ "<HelloWorld>" }}
            {% endautoescape %}
            {{ "<HelloWorld>" }}
        (   R   R   RS   RT   t   splitRU   R   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_scoped_settingz  s    				c         C   sj   t  d d g d t  } | j d  } | j   d k s? t  | j d  } | j   d k sf t  d  S(   NR   s   jinja2.ext.autoescapeR   s&   {{ {"foo": "<test>"}|xmlattr|escape }}s    foo="&lt;test&gt;"sO   {% autoescape false %}{{ {"foo": "<test>"}|xmlattr|escape }}{% endautoescape %}s#    foo=&#34;&amp;lt;test&amp;gt;&#34;(   R   R   RS   RT   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_nonvolatile  s    	c         C   sg   t  d d g d t  } | j d  } | j d t  d k sE t  | j d t  d k sc t  d  S(   NR   s   jinja2.ext.autoescapeR   sM   {% autoescape foo %}{{ {"foo": "<test>"}|xmlattr|escape }}{% endautoescape %}Rk   s#    foo=&#34;&amp;lt;test&amp;gt;&#34;s    foo="&lt;test&gt;"(   R   R   RS   RT   R   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_volatile  s
    	c         C   sC   t  d d g  } | j d  } | j d d  d k s? t  d  S(   NR   s   jinja2.ext.autoescapesT   {% autoescape true %}{% set x = "<x>" %}{{ x }}{% endautoescape %}{{ x }}{{ "<y>" }}Ra   i   s   &lt;x&gt;1<y>(   R   RS   RT   RU   (   R.   RV   RZ   (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_scoping  s    c         C   s   t  d d g  } d } | j |  } | j d t  j   d d k sO t  | j d t  j   d t j k sz t  t  d d g  } | j	 | d t } d | k s t  t  d d g d	 t  } | j	 | d t } d
 | k s t  d  S(   NR   s   jinja2.ext.autoescapes   
        {% autoescape val %}
            {% macro foo(x) %}
                [{{ x }}]
            {% endmacro %}
            {{ foo().__class__.__name__ }}
        {% endautoescape %}
        {{ '<testing>' }}
        t   vali    t   MarkupR   s   <testing>\nR   s   &lt;testing&gt;\n(
   R   RS   RT   R   R   RU   R   R   R)   R   (   R.   RV   t
   tmplsourceRZ   t   pysource(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   test_volatile_scoping  s    	(+	(   R)   R3   R   R   R   R   R   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR   x  s
   					c          C   sh   t  j   }  |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteRQ   Ry   R   R   (   t   suite(    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyR     s    (,   t   __doc__R   R   t   jinja2.testsuiteR    t   jinja2R   R   R   R   t   jinja2.exceptionsR   R   R   t   jinja2.lexerR   R   t   jinja2._compatR	   R
   R   R   t   importable_objectR   RJ   t   i18n_templatest   newstyle_i18n_templatesR   R   R   Rz   Ro   t   updateR   R   R   R   R6   R=   RQ   Ry   R   R   R   (    (    (    sZ   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/ext.pyt   <module>
   sx   ""

!S<FM