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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9737
3d6f5b20cca6 spec: Stub tests for util.interpolation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local template = [[
10350
75eab21b7968 util.interpolation: Test #1452
Kim Alvefur <zash@zash.se>
parents: 9737
diff changeset
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
75eab21b7968 util.interpolation: Test #1452
Kim Alvefur <zash@zash.se>
parents: 9737
diff changeset
10 local expect3 = [[
75eab21b7968 util.interpolation: Test #1452
Kim Alvefur <zash@zash.se>
parents: 9737
diff changeset
11 Hi, YOU!
75eab21b7968 util.interpolation: Test #1452
Kim Alvefur <zash@zash.se>
parents: 9737
diff changeset
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
75eab21b7968 util.interpolation: Test #1452
Kim Alvefur <zash@zash.se>
parents: 9737
diff changeset
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);