author | Kim Alvefur <zash@zash.se> |
Sun, 17 Nov 2019 15:06:22 +0100 | |
changeset 10416 | b788b5257945 |
parent 10356 | dc1e6c2fb50a |
child 10417 | 604096ce2f82 |
permissions | -rw-r--r-- |
9741
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 |
local template = [[ |
10354 | 2 |
{greet!?Hi}, {name?world}! |
9741
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 |
]]; |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
local expect1 = [[ |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 |
Hello, WORLD! |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
]]; |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
local expect2 = [[ |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
Hello, world! |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 |
]]; |
10354 | 10 |
local expect3 = [[ |
11 |
Hi, YOU! |
|
12 |
]]; |
|
10355
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
13 |
local template_array = [[ |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
14 |
{foo#{idx}. {item} |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
15 |
}]] |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
16 |
local expect_array = [[ |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
17 |
1. HELLO |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
18 |
2. WORLD |
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
19 |
]] |
10416
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
20 |
local template_func_pipe = [[ |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
21 |
{foo|sort#{idx}. {item} |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
22 |
}]] |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
23 |
local expect_func_pipe = [[ |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
24 |
1. A |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
25 |
2. B |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
26 |
3. C |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
27 |
4. D |
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
28 |
]] |
10356
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
29 |
local template_map = [[ |
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
30 |
{foo%{idx}: {item!} |
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
31 |
}]] |
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
32 |
local expect_map = [[ |
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
33 |
FOO: bar |
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
34 |
]] |
9741
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 |
describe("util.interpolation", function () |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 |
it("renders", function () |
10416
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
38 |
local render = require "util.interpolation".new("%b{}", string.upper, { sort = function (t) table.sort(t) return t end }); |
9741
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 |
assert.equal(expect1, render(template, { greet = "Hello", name = "world" })); |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 |
assert.equal(expect2, render(template, { greet = "Hello" })); |
10354 | 41 |
assert.equal(expect3, render(template, { name = "you" })); |
10355
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10354
diff
changeset
|
42 |
assert.equal(expect_array, render(template_array, { foo = { "Hello", "World" } })); |
10416
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10356
diff
changeset
|
43 |
assert.equal(expect_func_pipe, render(template_func_pipe, { foo = { "c", "a", "d", "b", } })); |
10356
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10355
diff
changeset
|
44 |
assert.equal(expect_map, render(template_map, { foo = { foo = "bar" } })); |
9741
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 |
end); |
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 |
end); |