diff options
Diffstat (limited to 'test.lua')
-rwxr-xr-x | test.lua | 32 |
1 files changed, 25 insertions, 7 deletions
@@ -14,11 +14,6 @@ function test(description, func) end end -function test_assert(str) - local f = assert(loadstring('return ' .. str)) - assert(f(), 'assertion failed: ' .. str) -end - test("marigold.get_metavars correctly calls os.getenv", function() -- mock os.getenv @@ -37,12 +32,35 @@ test("marigold.get_metavars correctly calls os.getenv", function() REQUEST_METHOD = 'uhh, to do what?', SCRIPT_NAME = 'pretty sure this is hamlet', SERVER_NAME = 'this isnt a restaurant', + SERVER_PORT = 'what, like a ship?', SERVER_PROTOCOL = 'no really, not a restaurant', SERVER_SOFTWARE = 'not familiar with that dish...', } os.getenv = function(varname) return env_tbl[varname] end -- actually call the function - --local metavars = marigold.get_metavars() - test_assert("type(metavars) == 'table'") + metavars = marigold.get_metavars() + + assert(type(metavars) == 'table') + for k, v in pairs(env_tbl) do + assert(metavars[string.lower(k)]) + assert(metavars[string.lower(k)] == env_tbl[k]) + end + + -- restore os.getenv + os.getenv = old_getenv +end) + + +test("marigold.h produces a correct basic tag", function() + local h = marigold.h + local h1 = h('h1', 'hello, world!') + assert(type(h1) == 'table') + assert(h1.tag == 'h1') + assert(h1.content == 'hello, world!') + -- should have no entries in the h1.attributes table + for k, v in pairs(h1.attributes) do + assert(false, string.format("%s, %s", tostring(k), tostring(v))) + end + assert(#(h1.children) == 0) end) |