You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.5 KiB
Lua

before_each(function()
lor = _G.lor
app = lor({
debug = true
})
Request = _G.request
Response = _G.response
req = Request:new()
res = Response:new()
end)
after_each(function()
lor = nil
app = nil
Request = nil
Response = nil
req = nil
res = nil
end)
describe("basic test for common usages", function()
it("use middleware should works.", function()
local count = 1
app:use("/user", function(req, res, next)
count = 2
next()
count = 5
end)
app:use("/user/123", function(req, res, next)
count = 3
next()
end)
app:get("/user/:id/create", function(req, res, next)
count = 4
end)
req.path ="/user/123/create"
req.method = "get"
app:handle(req, res)
assert.is.equals(count, 5)
end)
it("error middleware should work.", function()
local origin_error_msg, error_msg = "this is an error", ""
app:use("/user", function(req, res, next)
next()
end)
app:get("/user/123/create", function(req, res, next)
next(origin_error_msg) -- let other handlers continue...
end)
app:erroruse(function(err, req, res, next)
error_msg = err
end)
req.path = "/user/123/create"
req.method = "get"
app:handle(req, res)
assert.is.equals(error_msg, origin_error_msg)
end)
end)