📄 filter.js
字号:
if(!dojo._hasResource["dojox.dtl.tests.text.filter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.dtl.tests.text.filter"] = true;dojo.provide("dojox.dtl.tests.text.filter");dojo.require("dojox.dtl");dojo.require("dojox.dtl.Context");dojo.require("dojox.dtl.utils.date");dojo.require("dojox.date.php");dojo.require("dojox.string.sprintf");// If you update something here, update it in the HTML testsdoh.register("dojox.dtl.text.filter", [ function test_filter_add(t){ var dd = dojox.dtl; var context = new dd.Context({ four: 4 }); tpl = new dd.Template('{{ four|add:"6" }}'); t.is("10", tpl.render(context)); context.four = "4"; t.is("10", tpl.render(context)); tpl = new dd.Template('{{ four|add:"six" }}'); t.is("4", tpl.render(context)); tpl = new dd.Template('{{ four|add:"6.6" }}'); t.is("10", tpl.render(context)); }, function test_filter_addslashes(t){ var dd = dojox.dtl; var context = new dd.Context({ unslashed: "Test back slashes \\, double quotes \" and single quotes '" }) var tpl = new dd.Template('{{ unslashed|addslashes }}'); t.is("Test back slashes \\\\, double quotes \\\" and single quotes \\'", tpl.render(context)); }, function test_filter_capfirst(t){ var dd = dojox.dtl; var tpl = new dd.Template('{{ uncapped|capfirst }}'); t.is("Cap", tpl.render(new dd.Context({ uncapped: "cap" }))); }, function test_filter_center(t){ var dd = dojox.dtl; var context = new dd.Context(); var tpl = new dd.Template('{{ narrow|center }}'); context.narrow = "even"; t.is("even", tpl.render(context)); context.narrow = "odd"; t.is("odd", tpl.render(context)); tpl = new dd.Template('{{ narrow|center:"5" }}'); context.narrow = "even"; t.is("even ", tpl.render(context)); context.narrow = "odd"; t.is(" odd ", tpl.render(context)); tpl = new dd.Template('{{ narrow|center:"6" }}'); context.narrow = "even"; t.is(" even ", tpl.render(context)); context.narrow = "odd"; t.is(" odd ", tpl.render(context)); tpl = new dd.Template('{{ narrow|center:"12" }}'); context.narrow = "even"; t.is(" even ", tpl.render(context)); context.narrow = "odd"; t.is(" odd ", tpl.render(context)); }, function test_filter_cut(t){ var dd = dojox.dtl; var context = new dd.Context({ uncut: "Apples and oranges" }); var tpl = new dd.Template('{{ uncut|cut }}'); t.is("Apples and oranges", tpl.render(context)); tpl = new dd.Template('{{ uncut|cut:"A" }}'); t.is("pples and oranges", tpl.render(context)); tpl = new dd.Template('{{ uncut|cut:" " }}'); t.is("Applesandoranges", tpl.render(context)); tpl = new dd.Template('{{ uncut|cut:"e" }}'); t.is("Appls and orangs", tpl.render(context)); }, function test_filter_date(t){ var dd = dojox.dtl; var context = new dd.Context({ now: new Date(2007, 0, 1), then: new Date(2007, 1, 1) }); var tpl = new dd.Template('{{ now|date }}'); t.is(dojox.dtl.utils.date.format(context.now, "N j, Y"), tpl.render(context)); context.then = new Date(2007, 0, 1); tpl = new dd.Template('{{ now|date:"d" }}'); t.is("01", tpl.render(context)); tpl = new dd.Template('{{ now|date:"D" }}'); t.is("Mon", tpl.render(context)); tpl = new dd.Template('{{ now|date:"j" }}'); t.is("1", tpl.render(context)); tpl = new dd.Template('{{ now|date:"l" }}'); t.is("Monday", tpl.render(context)); tpl = new dd.Template('{{ now|date:"N" }}'); t.is("Jan.", tpl.render(context)); tpl = new dd.Template('{{ now|date:"S" }}'); t.is("st", tpl.render(context)); context.now.setDate(2); t.is("nd", tpl.render(context)); context.now.setDate(3); t.is("rd", tpl.render(context)); context.now.setDate(4); t.is("th", tpl.render(context)); context.now.setDate(5); t.is("th", tpl.render(context)); context.now.setDate(6); t.is("th", tpl.render(context)); context.now.setDate(7); t.is("th", tpl.render(context)); context.now.setDate(8); t.is("th", tpl.render(context)); context.now.setDate(9); t.is("th", tpl.render(context)); context.now.setDate(10); t.is("th", tpl.render(context)); context.now.setDate(11); t.is("th", tpl.render(context)); context.now.setDate(12); t.is("th", tpl.render(context)); context.now.setDate(13); t.is("th", tpl.render(context)); context.now.setDate(14); t.is("th", tpl.render(context)); context.now.setDate(15); t.is("th", tpl.render(context)); context.now.setDate(16); t.is("th", tpl.render(context)); context.now.setDate(17); t.is("th", tpl.render(context)); context.now.setDate(18); t.is("th", tpl.render(context)); context.now.setDate(19); t.is("th", tpl.render(context)); context.now.setDate(20); t.is("th", tpl.render(context)); context.now.setDate(21); t.is("st", tpl.render(context)); context.now.setDate(22); t.is("nd", tpl.render(context)); context.now.setDate(23); t.is("rd", tpl.render(context)); context.now.setDate(24); t.is("th", tpl.render(context)); context.now.setDate(25); t.is("th", tpl.render(context)); context.now.setDate(26); t.is("th", tpl.render(context)); context.now.setDate(27); t.is("th", tpl.render(context)); context.now.setDate(28); t.is("th", tpl.render(context)); context.now.setDate(29); t.is("th", tpl.render(context)); context.now.setDate(30); t.is("th", tpl.render(context)); context.now.setDate(31); t.is("st", tpl.render(context)); context.now.setDate(1); tpl = new dd.Template('{{ now|date:"w" }}'); t.is("1", tpl.render(context)); tpl = new dd.Template('{{ now|date:"z" }}'); t.is("0", tpl.render(context)); tpl = new dd.Template('{{ now|date:"W" }}'); t.is("1", tpl.render(context)); }, function test_filter_default(t){ var dd = dojox.dtl; var context = new dd.Context(); tpl = new dd.Template('{{ empty|default }}'); t.is("", tpl.render(context)); tpl = new dd.Template('{{ empty|default:"full" }}'); t.is("full", tpl.render(context)); context.empty = "not empty"; t.is("not empty", tpl.render(context)); }, function test_filter_default_if_none(t){ var dd = dojox.dtl; var context = new dd.Context(); tpl = new dd.Template('{{ empty|default_if_none }}'); t.is("", tpl.render(context)); tpl = new dd.Template('{{ empty|default_if_none:"full" }}'); t.is("", tpl.render(context)); context.empty = null; t.is("full", tpl.render(context)); context.empty = "not empty"; t.is("not empty", tpl.render(context)); }, function test_filter_dictsort(t){ var dd = dojox.dtl; var context = new dd.Context({ fruit: [ { name: "lemons", toString: function(){ return this.name; } }, { name: "apples", toString: function(){ return this.name; } }, { name: "grapes", toString: function(){ return this.name; } } ] }); tpl = new dd.Template('{{ fruit|dictsort|join:"|" }}'); t.is("lemons|apples|grapes", tpl.render(context)); tpl = new dd.Template('{{ fruit|dictsort:"name"|join:"|" }}'); t.is("apples|grapes|lemons", tpl.render(context)); }, function test_filter_dictsort_reversed(t){ var dd = dojox.dtl; context = new dd.Context({ fruit: [ { name: "lemons", toString: function(){ return this.name; } }, { name: "apples", toString: function(){ return this.name; } }, { name: "grapes", toString: function(){ return this.name; } } ] }); tpl = new dd.Template('{{ fruit|dictsortreversed:"name"|join:"|" }}'); t.is("lemons|grapes|apples", tpl.render(context)); }, function test_filter_divisibleby(t){ var dd = dojox.dtl; context = new dd.Context(); tpl = new dd.Template('{{ 4|divisibleby:"2" }}'); t.is("true", tpl.render(context)); context = new dd.Context({ number: 4 }); tpl = new dd.Template('{{ number|divisibleby:3 }}'); t.is("false", tpl.render(context)); }, function test_filter_escape(t){ var dd = dojox.dtl; var context = new dd.Context({ unescaped: "Try & cover <all> the \"major\" 'situations' at once" }); tpl = new dd.Template('{{ unescaped|escape }}'); t.is("Try & cover <all> the "major" 'situations' at once", tpl.render(context)); }, function test_filter_filesizeformat(t){ var dd = dojox.dtl; var tpl = new dd.Template('{{ 1|filesizeformat }}'); t.is("1 byte", tpl.render()); tpl = new dd.Template('{{ 512|filesizeformat }}'); t.is("512 bytes", tpl.render()); tpl = new dd.Template('{{ 1024|filesizeformat }}'); t.is("1.0 KB", tpl.render()); tpl = new dd.Template('{{ 2048|filesizeformat }}'); t.is("2.0 KB", tpl.render()); tpl = new dd.Template('{{ 1048576|filesizeformat }}'); t.is("1.0 MB", tpl.render()); tpl = new dd.Template('{{ 1073741824|filesizeformat }}'); t.is("1.0 GB", tpl.render()); }, function test_filter_first(t){ var dd = dojox.dtl; var context = new dd.Context({ fruit: [ { name: "lemons", toString: function(){ return this.name; } }, { name: "apples", toString: function(){ return this.name; } }, { name: "grapes", toString: function(){ return this.name; } } ] }); tpl = new dd.Template('{{ fruit|first }}'); t.is("lemons", tpl.render(context)); }, function test_filter_fix_ampersands(t){ var dd = dojox.dtl; var tpl = new dd.Template('{{ "One & Two"|fix_ampersands }}'); t.is("One & Two", tpl.render()); }, function test_filter_floatformat(t){ var dd = dojox.dtl; var context = new dd.Context({ num1: 34.23234, num2: 34.00000 }); var tpl = new dd.Template('{{ num1|floatformat }}'); t.is("34.2", tpl.render(context)); tpl = new dd.Template('{{ num2|floatformat }}'); t.is("34", tpl.render(context)); tpl = new dd.Template('{{ num1|floatformat:3 }}'); t.is("34.232", tpl.render(context)); tpl = new dd.Template('{{ num2|floatformat:3 }}'); t.is("34.000", tpl.render(context)); tpl = new dd.Template('{{ num1|floatformat:-3 }}'); t.is("34.2", tpl.render(context)); tpl = new dd.Template('{{ num2|floatformat:-3 }}'); t.is("34", tpl.render(context)); }, function test_filter_get_digit(t){ var dd = dojox.dtl; var context = new dd.Context({ pi: 314159265 }); var tpl = new dd.Template('{{ pi|get_digit:1 }}'); t.is("3", tpl.render(context)); tpl = new dd.Template('{{ pi|get_digit:"2" }}'); t.is("1", tpl.render(context)); tpl = new dd.Template('{{ pi|get_digit:0 }}'); t.is("314159265", tpl.render(context)); tpl = new dd.Template('{{ "nada"|get_digit:1 }}'); t.is("0", tpl.render(context)); }, function test_filter_iriencode(t){ var dd = dojox.dtl; var tpl = new dd.Template('{{ "http://homepage.com/~user"|urlencode|iriencode }}'); t.is("http%3A//homepage.com/%7Euser", tpl.render()); tpl = new dd.Template('{{ "pottedmeat@dojotoolkit.org"|iriencode }}'); t.is("pottedmeat%40dojotoolkit.org", tpl.render()); }, function test_filter_join(t){ var dd = dojox.dtl; var context = new dd.Context({ items: ["foo", "bar", "baz" ]}); var tpl = new dd.Template("{{ items|join }}"); t.is("foo,bar,baz", tpl.render(context)); tpl = new dd.Template('{{ items|join:"mustard" }}'); t.is("foomustardbarmustardbaz", tpl.render(context)); }, function test_filter_length(t){ var dd = dojox.dtl; var context = new dd.Context({ fruit: [ { name: "lemons", toString: function(){ return this.name; } }, { name: "apples", toString: function(){ return this.name; } }, { name: "grapes", toString: function(){ return this.name; } } ] }); tpl = new dd.Template('{{ fruit|length }}'); t.is("3", tpl.render(context)); tpl = new dd.Template('{{ fruit|first|length }}'); t.is("6", tpl.render(context)); }, function test_filter_length_is(t){ var dd = dojox.dtl; var context = new dd.Context({ fruit: [ { name: "lemons", toString: function(){ return this.name; } }, { name: "apples", toString: function(){ return this.name; } }, { name: "grapes", toString: function(){ return this.name; } } ] }); tpl = new dd.Template('{{ fruit|length_is:"3" }}'); t.is("true", tpl.render(context)); tpl = new dd.Template('{{ fruit|length_is:"4" }}'); t.is("false", tpl.render(context)); }, function test_filter_linebreaks(t){ var dd = dojox.dtl; var context = new dd.Context({ unbroken: "This is just\r\n\n\ra bunch\nof text\n\n\nand such" }); tpl = new dd.Template('{{ unbroken|linebreaks }}'); t.is("<p>This is just</p>\n\n<p>a bunch<br />of text</p>\n\n<p>and such</p>", tpl.render(context)); }, function test_filter_linebreaksbr(t){ var dd = dojox.dtl; var context = new dd.Context({ unbroken: "This is just\r\n\n\ra bunch\nof text\n\n\nand such" }); tpl = new dd.Template('{{ unbroken|linebreaksbr }}'); t.is("This is just<br /><br />a bunch<br />of text<br /><br /><br />and such", tpl.render(context)); }, function test_filter_linenumbers(t){ var dd = dojox.dtl;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -