aboutsummaryrefslogtreecommitdiffstats
path: root/spec/util_http_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/util_http_spec.lua')
-rw-r--r--spec/util_http_spec.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/util_http_spec.lua b/spec/util_http_spec.lua
index 0f51a86c..c6087450 100644
--- a/spec/util_http_spec.lua
+++ b/spec/util_http_spec.lua
@@ -28,6 +28,11 @@ describe("util.http", function()
it("should decode important URL characters", function()
assert.are.equal("This & that = something", http.urldecode("This%20%26%20that%20%3d%20something"), "Important URL chars escaped");
end);
+
+ it("should decode both lower and uppercase", function ()
+ assert.are.equal("This & that = {something}.", http.urldecode("This%20%26%20that%20%3D%20%7Bsomething%7D%2E"), "Important URL chars escaped");
+ end);
+
end);
describe("#formencode()", function()
@@ -84,4 +89,23 @@ describe("util.http", function()
assert.equal("/foo/", http.normalize_path("/foo/", true));
end);
end);
+
+ describe("contains_token", function ()
+ it("is present in field", function ()
+ assert.is_true(http.contains_token("foo", "foo"));
+ assert.is_true(http.contains_token("foo, bar", "foo"));
+ assert.is_true(http.contains_token("foo,bar", "foo"));
+ assert.is_true(http.contains_token("bar, foo,baz", "foo"));
+ end);
+
+ it("is absent from field", function ()
+ assert.is_false(http.contains_token("bar", "foo"));
+ assert.is_false(http.contains_token("fooo", "foo"));
+ assert.is_false(http.contains_token("foo o,bar", "foo"));
+ end);
+
+ it("is weird", function ()
+ assert.is_(http.contains_token("fo o", "foo"));
+ end);
+ end);
end);