Viewing File: /usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyo

ó
ÈÏRc@szdZddlZddlmZddlmZmZddlmZm	Z	eƒZ
defd„ƒYZd„ZdS(	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(tMarkuptEnvironment(t	text_typetimplements_to_stringtFilterTestCasecBs?eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„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.„Z0d/„Z1d0„Z2d1„Z3d2„Z4d3„Z5d4„Z6d5„Z7d6„Z8d7„Z9d8„Z:d9„Z;d:„Z<d;„Z=d<„Z>d=„Z?d>„Z@RS(?cCs/tjddddgƒ}|j|dƒdS(Ntsumiiii(tenvtcall_filtertassert_equal(tselftrv((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filter_callingscCstjdƒ}dS(Ns{{ "foo bar"|capitalize }}(Rtfrom_string(R
ttmpl((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_capitalizescCstjdƒ}dS(Ns{{ "foo"|center(9) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_centerscCstjdƒ}dS(Nso{{ missing|default('no') }}|{{ false|default('no') }}|{{ false|default('no', true) }}|{{ given|default('no') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_default"s	cCsAtjdƒ}|jdidd6dd6dd6d	d
6ƒ}dS(NsN{{ foo|dictsort }}|{{ foo|dictsort(true) }}|{{ foo|dictsort(false, "value") }}tfooitaaitbitcitAB(RR
trender(R
Rtout((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_dictsort)s	.cCs1tjdƒ}|jdttdƒƒƒ}dS(Ns4{{ foo|batch(3)|list }}|{{ foo|batch(3, 'X')|list }}Ri
(RR
Rtlisttrange(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_batch4scCs1tjdƒ}|jdttdƒƒƒ}dS(Ns4{{ foo|slice(3)|list }}|{{ foo|slice(3, "X")|list }}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_slice;scCstjdƒ}|jƒ}dS(Ns{{ '<">&'|escape }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_escapeBscCs%tjdƒ}|jddƒ}dS(Ns{{ foo|striptags }}Rss  <p>just a small   
 <a href="#">example</a> link</p>
<p>to a webpage</p> <!-- <p>and some commented stuff</p> -->(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_striptagsGscCs/tjdƒ}|jƒ}|j|dƒdS(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) }}sX100 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(RR
RR	(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filesizeformatNs
		cCs/tjdƒ}|jƒ}|j|dƒdS(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(RR
RR	(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filesizeformat_issue59as
			cCs1tjdƒ}|jdttdƒƒƒ}dS(Ns{{ foo|first }}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_firstsscCstjdƒ}|jƒ}dS(Ns={{ "42"|float }}|{{ "ajsghasjgd"|float }}|{{ "32.32"|float }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_floatxscCstjdƒ}|jƒ}dS(Ns{{ "%s|%s"|format("a", "b") }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_formatscCsNtjdƒ}djdjddgdƒgdƒ}|jd|ƒ}dS(Ns-{{ foo|indent(2) }}|{{ foo|indent(2, true) }}s
t Rtbari(RR
tjoinR(R
RttextR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_indent„s)cCstjdƒ}|jƒ}dS(Ns7{{ "42"|int }}|{{ "ajsghasjgd"|int }}|{{ "32.32"|int }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_int‹scCs=tjdƒ}|jƒ}tdtƒ}|jdƒ}dS(Ns{{ [1, 2, 3]|join("|") }}t
autoescapes-{{ ["<foo>", "<span>foo</span>"|safe]|join }}(RR
RRtTrue(R
RRtenv2((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	test_join‘s
cCs)dtfd„ƒY}tjdƒ}dS(NtUsercBseZd„ZRS(cSs
||_dS(N(tusername(R
R0((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt__init__œs(t__name__t
__module__R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/›ss"{{ users|join(', ', 'username') }}(tobjectRR
(R
R/R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_join_attributešscCs1tjdƒ}|jdttdƒƒƒ}dS(Ns{{ foo|last }}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	test_last¡scCstjdƒ}|jƒ}dS(Ns{{ "hello world"|length }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_length¦scCstjdƒ}|jƒ}dS(Ns{{ "FOO"|lower }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_lower«scCs5ddlm}tjdƒ}ttdƒƒ}dS(Niÿÿÿÿ(tpformats{{ data|pprint }}iè(tpprintR9RR
RR(R
R9Rtdata((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_pprint°scCs<tjdƒ}ttdƒƒ}xtdƒD]}q.WdS(Ns{{ seq|random }}idi
(RR
RR(R
Rtseqt_((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_random¶scCstjdƒ}dS(Ns8{{ "foobar"|reverse|join }}|{{ [1, 2, 3]|reverse|list }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_reverse¼scCs(dddddg}tjdƒ}dS(Niiiiis{{ obj|string }}(RR
(R
txR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_stringÁscCsmtjdƒ}tjdƒ}tjdƒ}tjdƒ}tjdƒ}tjdƒ}tjdƒ}dS(Ns{{ "foo bar"|title }}s{{ "foo's bar"|title }}s{{ "foo   bar"|title }}s{{ "f bar f"|title }}s{{ "foo-bar"|title }}s{{ "foo	bar"|title }}s{{ "FOO	BAR"|title }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_titleÆscCs/tjdƒ}|jdddddƒ}dS(Nsg{{ data|truncate(15, true, ">>>") }}|{{ data|truncate(15, false, ">>>") }}|{{ smalldata|truncate(15) }}R;sfoobar baz barièt	smalldata(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_truncateÖs
		cCstjdƒ}dS(Ns{{ "foo"|upper }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_upperàscCstjdƒ}dS(Ns.{{ "foo http://www.example.com/ bar"|urlize }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_urlizeäscCstjdƒ}dS(Ns{{ "foo bar baz"|wordcount }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_wordcountéscCstjdƒ}dS(Ns.{% filter lower|escape %}<HEHE>{% endfilter %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_blockíscCstjdƒ}dS(Ns+{{ ['<foo>', '<bar>']|first|upper|escape }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_chainingñscCstjdƒ}dS(Ns{{ [1, 2, 3, 4, 5, 6]|sum }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sumõscCstjdƒ}dS(Ns{{ values|sum('value') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributesùscCstjdƒ}dS(Ns{{ values|sum('real.value') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributes_nestedscCstjdƒ}dS(Ns{{ values.items()|sum('1') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributes_tuple	scCstjdƒ}dS(Ns{{ -1|abs }}|{{ 1|abs }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_absscCstjdƒ}dS(NsY{{ 2.7|round }}|{{ 2.1|round }}|{{ 2.1234|round(3, 'floor') }}|{{ 2.1|round(0, 'ceil') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_round_positivescCstjdƒ}dS(NsL{{ 21.3|round(-1)}}|{{ 21.3|round(-1, 'ceil')}}|{{ 21.3|round(-1, 'floor')}}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_round_negativescCs%tjdƒ}|jƒjƒ}dS(NsW{{ {'foo': 42, 'bar': 23, 'fish': none, 'spam': missing, 'blub:blub': '<?>'}|xmlattr }}(RR
Rtsplit(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_xmlattr!scCstjdƒ}dS(Ns/{{ [2, 3, 1]|sort }}|{{ [2, 3, 1]|sort(true) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort1*scCstjdƒ}dS(Ns({{ "".join(["c", "A", "b", "D"]|sort) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort2.scCstjdƒ}dS(Ns!{{ ['foo', 'Bar', 'blah']|sort }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort32scCs/tdtfd„ƒYƒ}tjdƒ}dS(NtMagiccBseZd„Zd„ZRS(cSs
||_dS(N(tvalue(R
RX((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR19scSs
t|jƒS(N(RRX(R
((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt__str__;s(R2R3R1RY(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRW7s	s({{ items|sort(attribute='value')|join }}(RR4RR
(R
RWR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort46scCstjdƒ}dS(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 %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby@s	cCstjdƒ}dS(Ns©
        {%- for grouper, list in [('a', 1), ('a', 2), ('b', 1)]|groupby(0) -%}
            {{ grouper }}{% for x in list %}:{{ x.1 }}{% endfor %}|
        {%- endfor %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby_tuple_indexOs	cs“dtfd„ƒY‰dtf‡fd†ƒY}|ddddƒ|dd	ddƒ|d
dddƒ|dddd
ƒg}tjdƒ}dS(NtDatecBseZd„ZRS(cSs||_||_||_dS(N(tdaytmonthtyear(R
R^R_R`((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1Xs		(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR]WstArticlecseZ‡fd†ZRS(csˆ|Œ|_||_dS(N(tdatettitle(R
RcRb(R](s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1]s(R2R3R1((R](s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRa\stahaii²tinterestingisreally?istotally noti³sœ
        {%- for year, list in articles|groupby('date.year') -%}
            {{ year }}{% for x in list %}[{{ x.title }}]{% endfor %}|
        {%- endfor %}(R4RR
(R
RatarticlesR((R]s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby_multidotVs	cCstjdƒ}dS(Ns={% filter upper|replace('FOO', 'foo') %}foobar{% endfilter %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filtertagpscCsXtƒ}|jdƒ}tdtƒ}|jdƒ}|jdƒ}|jdƒ}dS(Ns{{ string|replace("o", 42) }}R+s{{ string|replace("<", 42) }}s {{ string|replace("o", ">x<") }}(RR
R,(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_replaceus	cCstjdƒ}dS(Ns{{ x|forceescape }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_forceescapescCs1tdtƒ}|jdƒ}|jdƒ}dS(NR+s{{ "<div>foo</div>"|safe }}s{{ "<div>foo</div>" }}(RR,R
(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt	test_safe…scCs1tdtƒ}|jdƒ}|jdƒ}dS(NR+s{{ "Hello, world!"|urlencode }}s{{ o|urlencode }}(RR,R
(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_urlencodeŒscCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns${{ ["1", "2", "3"]|map("int")|sum }}t6(RR
tassertEqualR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_map˜s	cCsodtfd„ƒY}tƒ}|dƒ|dƒ|dƒg}|jdƒ}|j|jd|ƒdƒdS(	NR/cBseZd„ZRS(cSs
||_dS(N(tname(R
Rp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1Ÿs(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/žstjohntjanetmikes+{{ users|map(attribute="name")|join("|") }}tuserssjohn|jane|mike(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_attribute_maps			cCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns{{ none|map("upper")|list }}s[](RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_empty_mapªs	cCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns-{{ [1, 2, 3, 4, 5]|select("odd")|join("|") }}s1|3|5(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_select¯s	cCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns6{{ [none, false, 0, 1, 2, 3, 4, 5]|select|join("|") }}s	1|2|3|4|5(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_bool_select´s	cCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns-{{ [1, 2, 3, 4, 5]|reject("odd")|join("|") }}s2|4(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_reject¹s	cCs2tƒ}|jdƒ}|j|jƒdƒdS(Ns6{{ [none, false, 0, 1, 2, 3, 4, 5]|reject|join("|") }}sNone|False|0(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_bool_reject¾s	cCsxdtfd„ƒY}tƒ}|dtƒ|dtƒ|dtƒg}|jdƒ}|j|jd|ƒdƒdS(	NR/cBseZd„ZRS(cSs||_||_dS(N(Rpt	is_active(R
RpR{((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1Ås	(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/ÄsRqRrRssC{{ users|selectattr("is_active")|map(attribute="name")|join("|") }}Rts	john|jane(R4RR,tFalseR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_select_attrÃs	cCsxdtfd„ƒY}tƒ}|dtƒ|dtƒ|dtƒg}|jdƒ}|j|jd|ƒdƒdS(NR/cBseZd„ZRS(cSs||_||_dS(N(RpR{(R
RpR{((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1Ôs	(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/ÓsRqRrRssC{{ users|rejectattr("is_active")|map(attribute="name")|join("|") }}Rt(R4RR,R|R
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_reject_attrÒs	cCsxdtfd„ƒY}tƒ}|ddƒ|ddƒ|ddƒg}|jd	ƒ}|j|jd
|ƒdƒdS(NR/cBseZd„ZRS(cSs||_||_dS(N(tidRp(R
RRp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1ãs	(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/âsiRqiRriRssC{{ users|selectattr("id", "odd")|map(attribute="name")|join("|") }}Rts	john|mike(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_func_select_attrás	cCsxdtfd„ƒY}tƒ}|ddƒ|ddƒ|ddƒg}|jd	ƒ}|j|jd
|ƒdƒdS(NR/cBseZd„ZRS(cSs||_||_dS(N(RRp(R
RRp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1òs	(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/ñsiRqiRriRssC{{ users|rejectattr("id", "odd")|map(attribute="name")|join("|") }}Rt(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_func_reject_attrðs	(AR2R3RRRRRRRRRR R!R"R#R$R)R*R.R5R6R7R8R<R?R@RBRCRERFRGRHRIRJRKRLRMRNRORPRQRSRTRURVRZR[R\RgRhRiRjRkRlRoRuRvRwRxRyRzR}R~R€R(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRs~																												
																		
										
								cCs&tjƒ}|jtjtƒƒ|S(N(tunittestt	TestSuitetaddTestt	makeSuiteR(tsuite((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR†s(
t__doc__R‚tjinja2.testsuiteRtjinja2RRtjinja2._compatRRRRR†(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt<module>
s	ÿí
Back to Directory File Manager