Mercurial > prosody-hg
annotate spec/util_interpolation_spec.lua @ 10486:479e96e554c8
net.server_epoll: Add debug logging for delayed reading
In :onreadable, if there is still buffered incoming data after reading
from the socket (as indicated by the :dirty method, usually because
LuaSocket has an 8k buffer that's full but it read a smaller amount),
another attempt to read is scheduled via this :pausefor method. This is
also called from some other places where it would be pointless to read
because there shouldn't be any data.
In the delayed read case, this should report that the socket is "dirty".
If it reports that the socket is "clean" then the question is where
the buffer contents went?
If this doesn't get logged after the scheduled time (0.000001s by
default) then this would suggests a problem with timer or scheduling.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 07 Dec 2019 19:05:10 +0100 |
| parents | 604096ce2f82 |
| children | af1e3b7d9ea3 |
| 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 ]] |
|
10412
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
20 local template_func_pipe = [[ |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
21 {foo|sort#{idx}. {item} |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
22 }]] |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
23 local expect_func_pipe = [[ |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
24 1. A |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
25 2. B |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
26 3. C |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
27 4. D |
|
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
28 ]] |
|
10352
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
29 local template_map = [[ |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
30 {foo%{idx}: {item!} |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
31 }]] |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
32 local expect_map = [[ |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
33 FOO: bar |
|
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
34 ]] |
|
9737
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 () |
|
10412
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
38 local render = require "util.interpolation".new("%b{}", string.upper, { sort = function (t) table.sort(t) return t end }); |
|
9737
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" })); |
| 10350 | 41 assert.equal(expect3, render(template, { name = "you" })); |
|
10351
72b23c5f74fb
util.interpolation: Test array syntax
Kim Alvefur <zash@zash.se>
parents:
10350
diff
changeset
|
42 assert.equal(expect_array, render(template_array, { foo = { "Hello", "World" } })); |
|
10412
b788b5257945
util.interpolation: Test template filters
Kim Alvefur <zash@zash.se>
parents:
10352
diff
changeset
|
43 assert.equal(expect_func_pipe, render(template_func_pipe, { foo = { "c", "a", "d", "b", } })); |
|
10413
604096ce2f82
util.interpolation: Add commented test case for passing nil to filter
Kim Alvefur <zash@zash.se>
parents:
10412
diff
changeset
|
44 -- assert.equal("", render(template_func_pipe, { foo = nil })); -- FIXME |
|
10352
dc1e6c2fb50a
util.interpolation: Test map syntax
Kim Alvefur <zash@zash.se>
parents:
10351
diff
changeset
|
45 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
|
46 end); |
|
3d6f5b20cca6
spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 end); |
