-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
64 lines (56 loc) · 1.77 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const test = require("ava");
const pupo = require(".");
test("normal placeholder", (t) => {
t.is(pupo("{foo}", { foo: "!" }), "!");
t.is(pupo("{foo}", { foo: 10 }), "10");
t.is(pupo("{foo}", { foo: 0 }), "0");
t.is(pupo("{foo}{foo}", { foo: "!" }), "!!");
t.is(pupo("{foo}{bar}{foo}", { foo: "!", bar: "#" }), "!#!");
t.is(pupo("yo {foo} lol {bar} sup", { foo: "🦄", bar: "🌈" }), "yo 🦄 lol 🌈 sup");
});
test("nested and array", (t) => {
t.is(
pupo("{foo}{deeply.nested.valueFoo}", {
foo: "!",
deeply: {
nested: {
valueFoo: "#",
},
},
}),
"!#"
);
t.is(
pupo("{foo}{deeply.nested.value-foo}", {
foo: "!",
deeply: {
nested: {
"value-foo": "#",
},
},
}),
"!#"
);
t.is(pupo("{0}{1}", ["!", "#"]), "!#");
});
test("encoding HTML entities", (t) => {
t.is(pupo("{{foo}}", { foo: "!" }), "!");
t.is(pupo("{{foo}}", { foo: 10 }), "10");
t.is(pupo("{{foo}}", { foo: 0 }), "0");
t.is(pupo("{{foo}}{{foo}}", { foo: "!" }), "!!");
t.is(pupo("{foo}{{bar}}{foo}", { foo: "!", bar: "#" }), "!#!");
t.is(pupo("yo {{foo}} lol {{bar}} sup", { foo: "🦄", bar: "🌈" }), "yo 🦄 lol 🌈 sup");
t.is(
pupo("{foo}{{deeply.nested.valueFoo}}", {
foo: "!",
deeply: {
nested: {
valueFoo: "<br>#</br>",
},
},
}),
"!<br>#</br>"
);
t.is(pupo("{{0}}{{1}}", ["!", "#"]), "!#");
t.is(pupo("{{0}}{{1}}", ["<br>yo</br>", "<i>lol</i>"]), "<br>yo</br><i>lol</i>");
});