Module:UnitTests/testcases: Difference between revisions
Appearance
Content deleted Content added
. |
+strict so there will be failures when used with modules that also use strict; it would be nice to turn this on in the main module however we do not know how that will affect modules using that as all probably are not global friendly yet |
||
Line 1: | Line 1: | ||
-- Example Unit tests for [[Module:UnitTests]]. Click talk page to run tests. |
-- Example Unit tests for [[Module:UnitTests]]. Click talk page to run tests. |
||
require[[strict]] |
|||
local p = require('Module:UnitTests') |
local p = require('Module:UnitTests') |
||
Revision as of 19:59, 8 February 2023
![]() | This is the test cases page for the module Module:UnitTests. Results of the test cases. |
-- Example Unit tests for [[Module:UnitTests]]. Click talk page to run tests.
require[[strict]]
local p = require('Module:UnitTests')
local frame0 = mw.getCurrentFrame()
local frame0_getTitle = frame0:getTitle()
local getCurrentFrame_getTitle = mw.getCurrentFrame():getTitle()
local arg = ...
function p._test(frame)
return
"# " .. frame:getTitle() .. "\n" ..
"# " .. frame0:getTitle() .. "\n" ..
"# " .. frame0_getTitle .. "\n" ..
"# " .. getCurrentFrame_getTitle .. "\n" ..
"# " .. mw.dumpObject(arg) .. "\n" ..
""
end
function p._test0(frame)
return
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
"# nil\n" ..
""
end
function p.preprocess(frame)
--return frame.args[1]
return frame:preprocess(frame.args[1])
end
function p.p1(frame)
return frame:preprocess('{{#invoke:UnitTests/testcases | _test}}')
end
function p.p2(frame)
return frame:preprocess('{{#invoke:UnitTests/testcases/frame | _test}}')
end
function p:test()
local testcases_expected_result = "" ..
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
"# Module:UnitTests/testcases\n" ..
""
self:preprocess_equals('{{#invoke:UnitTests/testcases | _test}}', "\n" ..
testcases_expected_result ..
"# nil\n" ..
"")
local testcases_frame_expected_result = "" ..
"# Module:UnitTests/testcases/frame\n" ..
"# Module:UnitTests/testcases/frame\n" ..
"# Module:UnitTests/testcases/frame\n" ..
"# Module:UnitTests/testcases/frame\n" ..
""
self:preprocess_equals('{{#invoke:UnitTests/testcases/frame | _test}}', "\n" ..
testcases_frame_expected_result ..
"# nil\n" ..
"")
self:equals("<nowiki>mw.getCurrentFrame():preprocess( '{{#invoke:UnitTests/testcases/frame | _test}}' )</nowiki>",
mw.getCurrentFrame():preprocess( '{{#invoke:UnitTests/testcases/frame | _test}}' ),
"\n" ..
testcases_frame_expected_result ..
"# nil\n" ..
"")
self:equals("<nowiki>frame0:preprocess( '{{#invoke:UnitTests/testcases/frame | _test}}' )</nowiki>",
frame0:preprocess( '{{#invoke:UnitTests/testcases/frame | _test}}' ),
"\n" ..
testcases_frame_expected_result ..
"# nil\n" ..
"")
--[[self:equals("<nowiki>frame0:expandTemplate{ title = '#invoke:UnitTests/testcases/frame', args = { '_test' } }</nowiki>",
frame0:expandTemplate{ title = '#invoke:UnitTests/testcases/frame', args = { '_test' } },
"\n" ..
testcases_frame_expected_result ..
"# nil\n" ..
"")]]
self:equals("require('Module:UnitTests/testcases/frame')._test(mw.getCurrentFrame())",
"\n"..require('Module:UnitTests/testcases/frame')._test(mw.getCurrentFrame()),
"\n" ..
testcases_expected_result ..
'# "Module:UnitTests/testcases/frame"\n' ..
"")
self:equals("p._test(frame0)",
"\n"..p._test(frame0),
"\n" ..
testcases_expected_result ..
"# nil\n" ..
"")
self:equals("p._test(mw.getCurrentFrame())",
"\n"..p._test(mw.getCurrentFrame()),
"\n" ..
testcases_expected_result ..
"# nil\n" ..
"")
--[[self:preprocess_equals('{{#invoke:UnitTests/testcases | _test0}}', "\n" ..
testcases_expected_result ..
"# nil\n" ..
"")
self:preprocess_equals('{{#invoke:UnitTests/testcases | _test0}}', "\n" .. p._test0())
]]
end
function p:error1()
error("p:error1")
end
function p.error2()
error("p.error2")
end
function p:error3()
error("p:error3")
end
function p.error3()
error("p.error3")
end
function p.error4()
error("p.error4")
end
function p:error4()
error("p:error4")
end
function p:test_error5()
error("p:test_error5")
end
function p:_test6()
error("p:_test6")
end
function p.ttest_error7()
error("p.test_error7")
end
function p._test8()
error("p.test8")
end
return p