Mercurial > prosody-hg
annotate spec/util_interpolation_spec.lua @ 10367:649acbfbf7fe
util.prosodyctl: Enforce strict JID validation on user creation
This is where 64ddcbc9a328 should have started. By preventing creation
of users with invalid JIDs, it will slowly become safer to enforce
strict validation on everything.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 01 Nov 2019 22:53:14 +0100 |
| parents | dc1e6c2fb50a |
| children | b788b5257945 |
| rev | line source |
|---|---|
|
9737
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local template = [[ |
| 10350 | 2 {greet!?Hi}, {name?world}! |
|
9737
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 ]]; |
| 10350 | 10 local expect3 = [[ |
| 11 Hi, YOU! | |
| 12 ]]; | |
|
10351
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
13 local template_array = [[ |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
14 {foo#{idx}. {item} |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
15 }]] |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
16 local expect_array = [[ |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
17 1. HELLO |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
18 2. WORLD |
|
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
19 ]] |
|
10352
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
20 local template_map = [[ |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
21 {foo%{idx}: {item!} |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
22 }]] |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
23 local expect_map = [[ |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
24 FOO: bar |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
25 ]] |
|
9737
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 describe("util.interpolation", function () |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 it("renders", function () |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 local render = require "util.interpolation".new("%b{}", string.upper); |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 assert.equal(expect1, render(template, { greet = "Hello", name = "world" })); |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 assert.equal(expect2, render(template, { greet = "Hello" })); |
| 10350 | 32 assert.equal(expect3, render(template, { name = "you" })); |
|
10351
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
33 assert.equal(expect_array, render(template_array, { foo = { "Hello", "World" } })); |
|
10352
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
34 assert.equal(expect_map, render(template_map, { foo = { foo = "bar" } })); |
|
9737
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 end); |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 end); |
