Comparison

spec/util_interpolation_spec.lua @ 10411:db2a06b9ff98

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Sat, 16 Nov 2019 16:52:31 +0100
parent 10352:dc1e6c2fb50a
child 10412:b788b5257945
comparison
equal deleted inserted replaced
10410:659b577f280c 10411:db2a06b9ff98
1 local template = [[
2 {greet!?Hi}, {name?world}!
3 ]];
4 local expect1 = [[
5 Hello, WORLD!
6 ]];
7 local expect2 = [[
8 Hello, world!
9 ]];
10 local expect3 = [[
11 Hi, YOU!
12 ]];
13 local template_array = [[
14 {foo#{idx}. {item}
15 }]]
16 local expect_array = [[
17 1. HELLO
18 2. WORLD
19 ]]
20 local template_map = [[
21 {foo%{idx}: {item!}
22 }]]
23 local expect_map = [[
24 FOO: bar
25 ]]
26
27 describe("util.interpolation", function ()
28 it("renders", function ()
29 local render = require "util.interpolation".new("%b{}", string.upper);
30 assert.equal(expect1, render(template, { greet = "Hello", name = "world" }));
31 assert.equal(expect2, render(template, { greet = "Hello" }));
32 assert.equal(expect3, render(template, { name = "you" }));
33 assert.equal(expect_array, render(template_array, { foo = { "Hello", "World" } }));
34 assert.equal(expect_map, render(template_map, { foo = { foo = "bar" } }));
35 end);
36 end);