1 | var exp = require("../lib/expression.js");
|
2 |
|
3 | var check = function(str, expect, test) {
|
4 | var res = exp.resolveStr(str, "'");
|
5 | console.log("\tIncome : " + str);
|
6 |
|
7 |
|
8 | test.equal(res, expect);
|
9 | test.done();
|
10 | };
|
11 |
|
12 | module.exports = {
|
13 | "str": function(test) {
|
14 | var str = "hello";
|
15 | var expect = "'hello'";
|
16 | check(str, expect, test);
|
17 | },
|
18 | "simple var": function(test) {
|
19 | var str = "${hello}";
|
20 | var expect = "(ctx.attrs.hello)";
|
21 | check(str, expect, test);
|
22 | },
|
23 | "str and var": function(test) {
|
24 | var str = "s ${x}";
|
25 | var expect = "'s '+(ctx.attrs.x)";
|
26 | check(str, expect, test);
|
27 | },
|
28 | "var and str": function(test) {
|
29 | var str = "${x} s";
|
30 | var expect = "(ctx.attrs.x)+' s'";
|
31 | check(str, expect, test);
|
32 | },
|
33 | "multiple": function(test) {
|
34 | var str = "${x} ${y} s ${z}";
|
35 | var expect = "(ctx.attrs.x)+' '+(ctx.attrs.y)+' s '+(ctx.attrs.z)";
|
36 | check(str, expect, test);
|
37 | },
|
38 | "if expression": function(test) {
|
39 | var str = "${x == false ? y : z}";
|
40 | var expect = "(ctx.attrs.x == false ? ctx.attrs.y : ctx.attrs.z)";
|
41 | check(str, expect, test);
|
42 | },
|
43 | "sum expression": function(test) {
|
44 | var str = "${x + 1}";
|
45 | var expect = "(ctx.attrs.x + 1)";
|
46 | check(str, expect, test);
|
47 | }
|
48 |
|
49 | }; |
\ | No newline at end of file |