Module:ArgRest/testcases

-- Unit tests for Module:. Click talk page to run tests. local p = require('Module:UnitTests')

local pre = "', 'abc')	self:preprocess_equals(pre .. ' a |b|c|d}}', 'a + b + c + d')	self:preprocess_equals(pre .. ' |a|b|c}}', 'a b c')	-- Functioning with named parameters	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-a=c | 2-b=d }}', 'abcd')	self:preprocess_equals(pre .. '  -  | 1-a=a | 1-b=b | 2-a=c | 2-b=d | 3-a=e | 3-b = f}}', 'a - b + c - d + e - f')	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-a=c }}', 'abcd')	-- Test determination not to move on if the "main" parameter was skipped	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-b=d }}', 'ab')	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-b=d }}', 'ab')	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-b=d | 3-a=e }}', 'ab')	-- Empty defaults, and lack of defaults	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-a=c }}', 'abc')	self:preprocess_equals(pre .. '  | 1-a=a | 1-b=b | 2-a=c }}', 'abc') end function p:test_outerSyntax Test whether the module can handle being inside of HTML. self:preprocess_equals('' .. pre .. ' |a|b|c}}' .. "", 'abc', {nowiki=1}) Test whether the module can handle being inside of templates. self:preprocess_equals('' .. "}}", "abc") self:preprocess_equals('' .. "|no=no}}", "no") self:preprocess_equals_preprocess('' .. "}}", "") self:preprocess_equals_preprocess('' .. "final}}", "") end function p:test_innerSyntax -- Functioning with HTML self:preprocess_equals(pre .. ' |a|b|c}}', 'a'b'c', {nowiki=1}) -- Functioning with inner templates self:preprocess_equals(pre .. ' |a|b}}', 'ab') self:preprocess_equals(pre .. ' |1-a=a|1-b=b|2-a=c|2-b=d}}', 'a and bc and d') end -- Sandbox variants function p:test_sandboxBasicFunctioning -- Functioning with unnamed parameters self:preprocess_equals(pre .. ' |a|b|c}}', 'abc') self:preprocess_equals(pre .. ' a |b|c|d}}', 'a + b + c + d') self:preprocess_equals(pre .. ' |a|b|c}}', 'a b c') -- Functioning with named parameters self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c | 2-b=d }}', 'abcd') self:preprocess_equals(pre .. ' -  | 1-a=a | 1-b=b | 2-a=c | 2-b=d | 3-a=e | 3-b = f}}', 'a - b + c - d + e - f') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c }}', 'abcd') -- Test determination not to move on if the "main" parameter was skipped self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-b=d }}', 'ab') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-b=d }}', 'ab') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-b=d | 3-a=e }}', 'ab') -- Empty defaults, and lack of defaults self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c }}', 'abc') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c }}', 'abc') -- Aliases self:preprocess_equals(pre .. ' | 1-a=a | 2-a=b | 3-b=c }}', 'abc') self:preprocess_equals(pre .. ' | 1-b=a | 2-b=b | 3-b=c }}', 'abc') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c | 2-c=d }}', 'abcd') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c }}', 'abc') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c }}', 'abcd') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c | 2-c=d | 3-a=e | 3-d=f }}', 'abcdef') self:preprocess_equals(pre .. ' | 1-a=a | 1-b=b | 2-a=c | 2-c=d | 3-a=e | 3-d=f | 4-a=g }}', 'abcdefgh') end function p:test_sandboxOuterSyntax Test whether the module can handle being inside of HTML. self:preprocess_equals('' .. pre .. ' |a|b|c}}' .. "", 'abc', {nowiki=1}) Test whether the module can handle being inside of templates. self:preprocess_equals('' .. "}}", "abc") self:preprocess_equals('' .. "|no=no}}", "no") self:preprocess_equals_preprocess('' .. "}}", "") self:preprocess_equals_preprocess('' .. "final}}", "") end function p:test_sandboxInnerSyntax -- Functioning with HTML self:preprocess_equals(pre .. ' |a|b|c}}', 'a'b'c', {nowiki=1}) -- Functioning with inner templates self:preprocess_equals(pre .. ' |a|b}}', 'ab') self:preprocess_equals(pre .. ' |1-a=a|1-b=b|2-a=c|2-b=d}}', 'a and bc and d') end

return p