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

    Tests for the jinja filters.

    :copyright: (c) 2010 by the Jinja Team.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   JinjaTestCase(   t   Markupt   Environment(   t	   text_typet   implements_to_stringt   FilterTestCasec           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 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! 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. „  Z0 d/ „  Z1 d0 „  Z2 d1 „  Z3 d2 „  Z4 d3 „  Z5 d4 „  Z6 d5 „  Z7 d6 „  Z8 d7 „  Z9 d8 „  Z: d9 „  Z; d: „  Z< d; „  Z= d< „  Z> d= „  Z? d> „  Z@ RS(?   c         C   s/   t  j d d d d g ƒ } |  j | d ƒ d  S(   Nt   sumi   i   i   i   (   t   envt   call_filtert   assert_equal(   t   selft   rv(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_filter_calling   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns   {{ "foo bar"|capitalize }}s   Foo bar(   R   t   from_stringt   rendert   AssertionError(   R
   t   tmpl(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_capitalize   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns   {{ "foo"|center(9) }}s	      foo   (   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_center   s    c         C   s1   t  j d ƒ } | j d d ƒ d k s- t ‚ d  S(   Nso   {{ missing|default('no') }}|{{ false|default('no') }}|{{ false|default('no', true) }}|{{ given|default('no') }}t   givent   yess   no|False|no|yes(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_default"   s    	c         C   sS   t  j d ƒ } | j d i d d 6d d 6d d 6d	 d
 6ƒ } | d k sO t ‚ d  S(   NsN   {{ foo|dictsort }}|{{ foo|dictsort(true) }}|{{ foo|dictsort(false, "value") }}t   fooi    t   aai   t   bi   t   ci   t   ABs€   [('aa', 0), ('AB', 3), ('b', 1), ('c', 2)]|[('AB', 3), ('aa', 0), ('b', 1), ('c', 2)]|[('aa', 0), ('b', 1), ('c', 2), ('AB', 3)](   R   R   R   R   (   R
   R   t   out(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_dictsort)   s    	.c         C   sC   t  j d ƒ } | j d t t d ƒ ƒ ƒ } | d k s? t ‚ d  S(   Ns4   {{ foo|batch(3)|list }}|{{ foo|batch(3, 'X')|list }}R   i
   sW   [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]|[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 'X', 'X']](   R   R   R   t   listt   rangeR   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_batch4   s    c         C   sC   t  j d ƒ } | j d t t d ƒ ƒ ƒ } | d k s? t ‚ d  S(   Ns4   {{ foo|slice(3)|list }}|{{ foo|slice(3, "X")|list }}R   i
   sS   [[0, 1, 2, 3], [4, 5, 6], [7, 8, 9]]|[[0, 1, 2, 3], [4, 5, 6, 'X'], [7, 8, 9, 'X']](   R   R   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_slice;   s    c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns   {{ '<">&'|escape }}s   &lt;&#34;&gt;&amp;(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_escapeB   s    c         C   s7   t  j d ƒ } | j d d ƒ } | d k s3 t ‚ d  S(   Ns   {{ foo|striptags }}R   ss     <p>just a small   
 <a href="#">example</a> link</p>
<p>to a webpage</p> <!-- <p>and some commented stuff</p> -->s&   just a small example link to a webpage(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_striptagsG   s    c         C   s/   t  j d ƒ } | j ƒ  } |  j | d ƒ d  S(   NsC  {{ 100|filesizeformat }}|{{ 1000|filesizeformat }}|{{ 1000000|filesizeformat }}|{{ 1000000000|filesizeformat }}|{{ 1000000000000|filesizeformat }}|{{ 100|filesizeformat(true) }}|{{ 1000|filesizeformat(true) }}|{{ 1000000|filesizeformat(true) }}|{{ 1000000000|filesizeformat(true) }}|{{ 1000000000000|filesizeformat(true) }}sX   100 Bytes|1.0 kB|1.0 MB|1.0 GB|1.0 TB|100 Bytes|1000 Bytes|976.6 KiB|953.7 MiB|931.3 GiB(   R   R   R   R	   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_filesizeformatN   s
    		c         C   s/   t  j d ƒ } | j ƒ  } |  j | d ƒ d  S(   Nsô   {{ 300|filesizeformat }}|{{ 3000|filesizeformat }}|{{ 3000000|filesizeformat }}|{{ 3000000000|filesizeformat }}|{{ 3000000000000|filesizeformat }}|{{ 300|filesizeformat(true) }}|{{ 3000|filesizeformat(true) }}|{{ 3000000|filesizeformat(true) }}s?   300 Bytes|3.0 kB|3.0 MB|3.0 GB|3.0 TB|300 Bytes|2.9 KiB|2.9 MiB(   R   R   R   R	   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_filesizeformat_issue59a   s
    			c         C   sC   t  j d ƒ } | j d t t d ƒ ƒ ƒ } | d k s? t ‚ d  S(   Ns   {{ foo|first }}R   i
   t   0(   R   R   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_firsts   s    c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns=   {{ "42"|float }}|{{ "ajsghasjgd"|float }}|{{ "32.32"|float }}s   42.0|0.0|32.32(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_floatx   s    c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns   {{ "%s|%s"|format("a", "b") }}s   a|b(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_format   s    c         C   s`   t  j d ƒ } d j d j d d g d ƒ g d ƒ } | j d | ƒ } | d k s\ t ‚ d  S(   Ns-   {{ foo|indent(2) }}|{{ foo|indent(2, true) }}s   
t    R   t   bari   sE   foo bar foo bar
  foo bar foo bar|  foo bar foo bar
  foo bar foo bar(   R   R   t   joinR   R   (   R
   R   t   textR   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_indent„   s    )c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns7   {{ "42"|int }}|{{ "ajsghasjgd"|int }}|{{ "32.32"|int }}s   42|0|32(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_int‹   s    c         C   sg   t  j d ƒ } | j ƒ  } | d k s- t ‚ t d t ƒ } | j d ƒ } | j ƒ  d k sc t ‚ d  S(   Ns   {{ [1, 2, 3]|join("|") }}s   1|2|3t
   autoescapes-   {{ ["<foo>", "<span>foo</span>"|safe]|join }}s   &lt;foo&gt;<span>foo</span>(   R   R   R   R   R   t   True(   R
   R   R   t   env2(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	   test_join‘   s    c         C   sV   d t  f d „  ƒ  Y} t j d ƒ } | j d t | d d g ƒ ƒ d k sR t ‚ d  S(   Nt   Userc           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  d  S(   N(   t   username(   R
   R4   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   __init__œ   s    (   t   __name__t
   __module__R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   ›   s   s"   {{ users|join(', ', 'username') }}t   usersR   R*   s   foo, bar(   t   objectR   R   R   t   mapR   (   R
   R3   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_join_attributeš   s    c         C   sC   t  j d ƒ } | j d t t d ƒ ƒ ƒ } | d k s? t ‚ d  S(   Ns   {{ foo|last }}R   i
   t   9(   R   R   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	   test_last¡   s    c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns   {{ "hello world"|length }}t   11(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_length¦   s    c         C   s1   t  j d ƒ } | j ƒ  } | d k s- t ‚ d  S(   Ns   {{ "FOO"|lower }}R   (   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_lower«   s    c         C   sY   d d l  m } t j d ƒ } t t d ƒ ƒ } | j d | ƒ | | ƒ k sU t ‚ d  S(   Niÿÿÿÿ(   t   pformats   {{ data|pprint }}iè  t   data(   t   pprintRA   R   R   R   R   R   R   (   R
   RA   R   RB   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_pprint°   s    c         C   s`   t  j d ƒ } t t d ƒ ƒ } x8 t d ƒ D]* } t | j d | ƒ ƒ | k s. t ‚ q. Wd  S(   Ns   {{ seq|random }}id   i
   t   seq(   R   R   R   R   t   intR   R   (   R
   R   RE   t   _(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_random¶   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns8   {{ "foobar"|reverse|join }}|{{ [1, 2, 3]|reverse|list }}s   raboof|[3, 2, 1](   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_reverse¼   s    c         C   sL   d d d d d g } t  j d ƒ } | j d | ƒ t | ƒ k sH t ‚ d  S(   Ni   i   i   i   i   s   {{ obj|string }}t   obj(   R   R   R   R   R   (   R
   t   xR   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_stringÁ   s    c         C   s  t  j d ƒ } | j ƒ  d k s' t ‚ t  j d ƒ } | j ƒ  d k sN t ‚ t  j d ƒ } | j ƒ  d k su t ‚ t  j d ƒ } | j ƒ  d k sœ t ‚ t  j d	 ƒ } | j ƒ  d
 k sÃ t ‚ t  j d ƒ } | j ƒ  d k sê t ‚ t  j d ƒ } | j ƒ  d k st ‚ d  S(   Ns   {{ "foo bar"|title }}s   Foo Bars   {{ "foo's bar"|title }}s	   Foo's Bars   {{ "foo   bar"|title }}s	   Foo   Bars   {{ "f bar f"|title }}s   F Bar Fs   {{ "foo-bar"|title }}s   Foo-Bars   {{ "foo	bar"|title }}s   Foo	Bars   {{ "FOO	BAR"|title }}(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_titleÆ   s    c         C   sA   t  j d ƒ } | j d d d d d ƒ } | d k s= t ‚ d  S(   Nsg   {{ data|truncate(15, true, ">>>") }}|{{ data|truncate(15, false, ">>>") }}|{{ smalldata|truncate(15) }}RB   s   foobar baz bariè  t	   smalldatas0   foobar baz barf>>>|foobar baz >>>|foobar baz bar(   R   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_truncateÖ   s
    		c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns   {{ "foo"|upper }}t   FOO(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_upperà   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns.   {{ "foo http://www.example.com/ bar"|urlize }}sE   foo <a href="http://www.example.com/">http://www.example.com/</a> bar(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_urlizeä   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns   {{ "foo bar baz"|wordcount }}t   3(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_wordcounté   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns.   {% filter lower|escape %}<HEHE>{% endfilter %}s   &lt;hehe&gt;(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_blockí   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns+   {{ ['<foo>', '<bar>']|first|upper|escape }}s   &lt;FOO&gt;(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_chainingñ   s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns   {{ [1, 2, 3, 4, 5, 6]|sum }}t   21(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_sumõ   s    c         C   sO   t  j d ƒ } | j d i d d 6i d d 6i d d 6g ƒ d k sK t ‚ d  S(   Ns   {{ values|sum('value') }}t   valuesi   t   valuei   i   t   42(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_sum_attributesù   s    	

c         C   sd   t  j d ƒ } | j d i i d d 6d 6i i d d 6d 6i i d d 6d 6g ƒ d k s` t ‚ d  S(	   Ns   {{ values|sum('real.value') }}RY   i   RZ   t   reali   i   R[   (   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_sum_attributes_nested  s    	c         C   sF   t  j d ƒ } | j d i d d 6d d 6d d 6ƒ d	 k sB t ‚ d  S(
   Ns   {{ values.items()|sum('1') }}RY   i   R   i   R*   i   t   bazR[   (   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_sum_attributes_tuple	  s    
c         C   s7   t  j d ƒ } | j ƒ  d k s3 t | j ƒ  ƒ ‚ d  S(   Ns   {{ -1|abs }}|{{ 1|abs }}s   1|1(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_abs  s    c         C   s7   t  j d ƒ } | j ƒ  d k s3 t | j ƒ  ƒ ‚ d  S(   NsY   {{ 2.7|round }}|{{ 2.1|round }}|{{ 2.1234|round(3, 'floor') }}|{{ 2.1|round(0, 'ceil') }}s   3.0|2.0|2.123|3.0(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_round_positive  s    c         C   s7   t  j d ƒ } | j ƒ  d k s3 t | j ƒ  ƒ ‚ d  S(   NsL   {{ 21.3|round(-1)}}|{{ 21.3|round(-1, 'ceil')}}|{{ 21.3|round(-1, 'floor')}}s   20.0|30.0|20.0(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_round_negative  s    c         C   ss   t  j d ƒ } | j ƒ  j ƒ  } t | ƒ d k s9 t ‚ d | k sK t ‚ d | k s] t ‚ d | k so t ‚ d  S(   NsW   {{ {'foo': 42, 'bar': 23, 'fish': none, 'spam': missing, 'blub:blub': '<?>'}|xmlattr }}i   s   foo="42"s   bar="23"s   blub:blub="&lt;?&gt;"(   R   R   R   t   splitt   lenR   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_xmlattr!  s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns/   {{ [2, 3, 1]|sort }}|{{ [2, 3, 1]|sort(true) }}s   [1, 2, 3]|[3, 2, 1](   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_sort1*  s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns(   {{ "".join(["c", "A", "b", "D"]|sort) }}t   AbcD(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_sort2.  s    c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns!   {{ ['foo', 'Bar', 'blah']|sort }}s   ['Bar', 'blah', 'foo'](   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_sort32  s    c         C   sb   t  d t f d „  ƒ  Yƒ } t j d ƒ } | j d t | d d d d g ƒ ƒ d	 k s^ t ‚ d  S(
   Nt   Magicc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   | |  _  d  S(   N(   RZ   (   R
   RZ   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   9  s    c         S   s   t  |  j ƒ S(   N(   R   RZ   (   R
   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   __str__;  s    (   R6   R7   R5   Rl   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRk   7  s   	s(   {{ items|sort(attribute='value')|join }}t   itemsi   i   i   i   t   1234(   R   R9   R   R   R   R:   R   (   R
   Rk   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
   test_sort46  s    c         C   s@   t  j d ƒ } | j ƒ  j d ƒ d d d d g k s< t ‚ d  S(   Ns]  
        {%- for grouper, list in [{'foo': 1, 'bar': 2},
                                  {'foo': 2, 'bar': 3},
                                  {'foo': 1, 'bar': 1},
                                  {'foo': 3, 'bar': 4}]|groupby('foo') -%}
            {{ grouper }}{% for x in list %}: {{ x.foo }}, {{ x.bar }}{% endfor %}|
        {%- endfor %}t   |s   1: 1, 2: 1, 1s   2: 2, 3s   3: 3, 4t    (   R   R   R   Rd   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_groupby@  s    	c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns©   
        {%- for grouper, list in [('a', 1), ('a', 2), ('b', 1)]|groupby(0) -%}
            {{ grouper }}{% for x in list %}:{{ x.1 }}{% endfor %}|
        {%- endfor %}s
   a:1:2|b:1|(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_groupby_tuple_indexO  s    	c            sÃ   d t  f d „  ƒ  Y‰  d t  f ‡  f d †  ƒ  Y} | d d d d ƒ | d d	 d d ƒ | d
 d d d ƒ | d d d d ƒ g } t j d ƒ } | j d | ƒ j d ƒ d d d g k s¿ t ‚ d  S(   Nt   Datec           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  | |  _ | |  _ d  S(   N(   t   dayt   montht   year(   R
   Ru   Rv   Rw   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   X  s    		(   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRt   W  s   t   Articlec              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  | Œ  |  _  | |  _ d  S(   N(   t   datet   title(   R
   Rz   Ry   (   Rt   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   ]  s    (   R6   R7   R5   (    (   Rt   (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRx   \  s   t   ahai   i²  t   interestingi   s   really?i   s   totally noti³  sœ   
        {%- for year, list in articles|groupby('date.year') -%}
            {{ year }}{% for x in list %}[{{ x.title }}]{% endfor %}|
        {%- endfor %}t   articlesRp   s   1970[aha][interesting][really?]s   1971[totally not]Rq   (   R9   R   R   R   Rd   R   (   R
   Rx   R}   R   (    (   Rt   s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_groupby_multidotV  s    	c         C   s+   t  j d ƒ } | j ƒ  d k s' t ‚ d  S(   Ns=   {% filter upper|replace('FOO', 'foo') %}foobar{% endfilter %}t   fooBAR(   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_filtertagp  s    c         C   sÖ   t  ƒ  } | j d ƒ } | j d d ƒ d k s6 t ‚ t  d t ƒ } | j d ƒ } | j d d ƒ d k sr t ‚ | j d ƒ } | j d d ƒ d k sŸ t ‚ | j d	 ƒ } | j d t d
 ƒ ƒ d k sÒ t ‚ d  S(   Ns   {{ string|replace("o", 42) }}t   strings   <foo>s   <f4242>R/   s   &lt;f4242&gt;s   {{ string|replace("<", 42) }}s	   42foo&gt;s    {{ string|replace("o", ">x<") }}R   s   f&gt;x&lt;&gt;x&lt;(   R   R   R   R   R0   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_replaceu  s    	c         C   s7   t  j d ƒ } | j d t d ƒ ƒ d k s3 t ‚ d  S(   Ns   {{ x|forceescape }}RK   s   <div />u   &lt;div /&gt;(   R   R   R   R   R   (   R
   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_forceescape  s    c         C   sa   t  d t ƒ } | j d ƒ } | j ƒ  d k s6 t ‚ | j d ƒ } | j ƒ  d k s] t ‚ d  S(   NR/   s   {{ "<div>foo</div>"|safe }}s   <div>foo</div>s   {{ "<div>foo</div>" }}s   &lt;div&gt;foo&lt;/div&gt;(   R   R0   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	   test_safe…  s
    c         C   s  t  d t ƒ } | j d ƒ } | j ƒ  d k s6 t ‚ | j d ƒ } | j d d ƒ d k sc t ‚ | j d d ƒ d
 k s t ‚ | j d d d f ƒ d k s¥ t ‚ | j d d ƒ d k sÃ t ‚ | j d i d	 d 6ƒ d k sè t ‚ | j d i d	 d 6ƒ d k st ‚ d  S(   NR/   s   {{ "Hello, world!"|urlencode }}s   Hello%2C%20world%21s   {{ o|urlencode }}t   ou   Hello, worldâ€½s   Hello%2C%20world%E2%80%BDt   fi   s   f=1t   zi   s   f=1&amp;z=2u   â€½s   %E2%80%BD=1i    s   0=1(   R†   i   (   (   R†   i   (   R†   i   (   R‡   i   (   u   â€½i   (   (   u   â€½i   (   R   R0   R   R   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_urlencodeŒ  s    $%c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns$   {{ ["1", "2", "3"]|map("int")|sum }}t   6(   R   R   t   assertEqualR   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_simple_map˜  s    	c         C   so   d t  f d „  ƒ  Y} t ƒ  } | d ƒ | d ƒ | d ƒ g } | j d ƒ } |  j | j d | ƒ d ƒ d  S(	   NR3   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  d  S(   N(   t   name(   R
   RŒ   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   Ÿ  s    (   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   ž  s   t   johnt   janet   mikes+   {{ users|map(attribute="name")|join("|") }}R8   s   john|jane|mike(   R9   R   R   RŠ   R   (   R
   R3   R   R8   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_attribute_map  s    			c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns   {{ none|map("upper")|list }}s   [](   R   R   RŠ   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_empty_mapª  s    	c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns-   {{ [1, 2, 3, 4, 5]|select("odd")|join("|") }}s   1|3|5(   R   R   RŠ   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_simple_select¯  s    	c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns6   {{ [none, false, 0, 1, 2, 3, 4, 5]|select|join("|") }}s	   1|2|3|4|5(   R   R   RŠ   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_bool_select´  s    	c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns-   {{ [1, 2, 3, 4, 5]|reject("odd")|join("|") }}s   2|4(   R   R   RŠ   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_simple_reject¹  s    	c         C   s2   t  ƒ  } | j d ƒ } |  j | j ƒ  d ƒ d  S(   Ns6   {{ [none, false, 0, 1, 2, 3, 4, 5]|reject|join("|") }}s   None|False|0(   R   R   RŠ   R   (   R
   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_bool_reject¾  s    	c         C   sx   d t  f d „  ƒ  Y} t ƒ  } | d t ƒ | d t ƒ | d t ƒ g } | j d ƒ } |  j | j d | ƒ d ƒ d  S(	   NR3   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   RŒ   t	   is_active(   R
   RŒ   R–   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   Å  s    	(   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   Ä  s   R   RŽ   R   sC   {{ users|selectattr("is_active")|map(attribute="name")|join("|") }}R8   s	   john|jane(   R9   R   R0   t   FalseR   RŠ   R   (   R
   R3   R   R8   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_simple_select_attrÃ  s    	c         C   sx   d t  f d „  ƒ  Y} t ƒ  } | d t ƒ | d t ƒ | d t ƒ g } | j d ƒ } |  j | j d | ƒ d ƒ d  S(   NR3   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   RŒ   R–   (   R
   RŒ   R–   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   Ô  s    	(   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   Ó  s   R   RŽ   R   sC   {{ users|rejectattr("is_active")|map(attribute="name")|join("|") }}R8   (   R9   R   R0   R—   R   RŠ   R   (   R
   R3   R   R8   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_simple_reject_attrÒ  s    	c         C   sx   d t  f d „  ƒ  Y} t ƒ  } | d d ƒ | d d ƒ | d d ƒ g } | j d	 ƒ } |  j | j d
 | ƒ d ƒ d  S(   NR3   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   t   idRŒ   (   R
   Rš   RŒ   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   ã  s    	(   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   â  s   i   R   i   RŽ   i   R   sC   {{ users|selectattr("id", "odd")|map(attribute="name")|join("|") }}R8   s	   john|mike(   R9   R   R   RŠ   R   (   R
   R3   R   R8   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_func_select_attrá  s    	c         C   sx   d t  f d „  ƒ  Y} t ƒ  } | d d ƒ | d d ƒ | d d ƒ g } | j d	 ƒ } |  j | j d
 | ƒ d ƒ d  S(   NR3   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   Rš   RŒ   (   R
   Rš   RŒ   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR5   ò  s    	(   R6   R7   R5   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR3   ñ  s   i   R   i   RŽ   i   R   sC   {{ users|rejectattr("id", "odd")|map(attribute="name")|join("|") }}R8   (   R9   R   R   RŠ   R   (   R
   R3   R   R8   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   test_func_reject_attrð  s    	(A   R6   R7   R   R   R   R   R   R   R    R!   R"   R#   R$   R&   R'   R(   R-   R.   R2   R;   R=   R?   R@   RD   RH   RI   RL   RM   RO   RQ   RR   RT   RU   RV   RX   R\   R^   R`   Ra   Rb   Rc   Rf   Rg   Ri   Rj   Ro   Rr   Rs   R~   R€   R‚   Rƒ   R„   Rˆ   R‹   R   R‘   R’   R“   R”   R•   R˜   R™   R›   Rœ   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.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/jinja2/testsuite/filters.pyR¡      s    (   t   __doc__R   t   jinja2.testsuiteR    t   jinja2R   R   t   jinja2._compatR   R   R   R   R¡   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt   <module>
   s   	ÿ í