Module:No globals/testcases: Difference between revisions
From The Goon Show Depository
en>Yurik (unit tests) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:21, 20 July 2022
local p = require('Module:ScribuntoUnit'):new()
-- Allow test runner to use both the Module:XXX itself and Module:XXX/sandbox with the same testcases
function p:module()
return self.frame and self.frame.args and self.frame.args.module or 'No globals'
end
function p:test()
require('Module:' .. p:module())
-- try returning undeclared variable
self:assertThrows(function() return foo end, "Tried to read nil global foo", 'test1')
-- try writing to an undeclared variable
self:assertThrows(function() bar = 0 end, "Tried to write global bar", 'test2')
-- try reading and writing to variable arg -- should be exempt, and cause no errors
local tmp = arg
arg = arg
end
return p