aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-07-13 10:25:52 +0200
committerKim Alvefur <zash@zash.se>2016-07-13 10:25:52 +0200
commit6aab36d1ad11b6ba9fe66ecbf540028921e745fc (patch)
tree211c2095c4ed506159c6508b1a901ac0ac56af38 /tests
parent4616176276adc08c8ed2379bca0fada582d0cda5 (diff)
parentd76cafb53946682bc1034c872bccca4f28b6696e (diff)
downloadprosody-6aab36d1ad11b6ba9fe66ecbf540028921e745fc.tar.gz
prosody-6aab36d1ad11b6ba9fe66ecbf540028921e745fc.zip
Merge 0.10->trunk
Diffstat (limited to 'tests')
-rw-r--r--tests/test.lua1
-rw-r--r--tests/test_net_http_parser.lua47
-rw-r--r--tests/test_util_cache.lua6
3 files changed, 51 insertions, 3 deletions
diff --git a/tests/test.lua b/tests/test.lua
index bb15250d..d6aa3b31 100644
--- a/tests/test.lua
+++ b/tests/test.lua
@@ -28,6 +28,7 @@ function run_all_tests()
dotest "util.random"
dotest "util.xml"
dotest "util.xmppstream"
+ dotest "net.http.parser"
dosingletest("test_sasl.lua", "latin1toutf8");
dosingletest("test_utf8.lua", "valid");
diff --git a/tests/test_net_http_parser.lua b/tests/test_net_http_parser.lua
new file mode 100644
index 00000000..1157b5ac
--- /dev/null
+++ b/tests/test_net_http_parser.lua
@@ -0,0 +1,47 @@
+local httpstreams = { [[
+GET / HTTP/1.1
+Host: example.com
+
+]], [[
+HTTP/1.1 200 OK
+Content-Length: 0
+
+]], [[
+HTTP/1.1 200 OK
+Content-Length: 7
+
+Hello
+HTTP/1.1 200 OK
+Transfer-Encoding: chunked
+
+1
+H
+1
+e
+2
+ll
+1
+o
+0
+
+
+]]
+}
+
+function new(new)
+
+ for _, stream in ipairs(httpstreams) do
+ local success;
+ local function success_cb(packet)
+ success = true;
+ end
+ stream = stream:gsub("\n", "\r\n");
+ local parser = new(success_cb, error, stream:sub(1,4) == "HTTP" and "client" or "server")
+ for chunk in stream:gmatch("..?.?") do
+ parser:feed(chunk);
+ end
+
+ assert_is(success);
+ end
+
+end
diff --git a/tests/test_util_cache.lua b/tests/test_util_cache.lua
index 78666edc..cbc60bc7 100644
--- a/tests/test_util_cache.lua
+++ b/tests/test_util_cache.lua
@@ -196,12 +196,12 @@ function new(new)
assert_equal(i, 4);
local evicted_key, evicted_value;
- local c = new(3, function (_key, _value)
+ local c2 = new(3, function (_key, _value)
evicted_key, evicted_value = _key, _value;
end);
local function set(k, v, should_evict_key, should_evict_value)
evicted_key, evicted_value = nil, nil;
- c:set(k, v);
+ c2:set(k, v);
assert_equal(evicted_key, should_evict_key);
assert_equal(evicted_value, should_evict_value);
end
@@ -219,7 +219,7 @@ function new(new)
local evicted_key, evicted_value;
- local c3 = new(1, function (_key, _value, c3)
+ local c3 = new(1, function (_key, _value)
evicted_key, evicted_value = _key, _value;
if _key == "a" then
-- Sanity check for what we're evicting