Module:Mapframe/sandbox/testcases
Appearance
![]() | This is the test cases page for the module Module:Mapframe/sandbox. Results of the test cases. |
-- Unit tests for [[Module:Example]]. Click talk page to run tests.
local mapframeModule = require('Module:Mapframe/sandbox') -- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite:testGetParameterValue()
-- @params {Table}args, {String}param_id, [{Number}suffix]
-- @returns {String|nil}
local args = {
foo = "foo",
bar = "bar",
bar2 = "bar2",
}
self:assertEquals(
"foo", mapframeModule.getParameterValue(args, "foo"),
"arg without suffix")
self:assertEquals(
"bar", mapframeModule.getParameterValue(args, "bar"),
"arg without suffix (where there is also a same-named arg with a suffix)")
self:assertEquals(
"bar2", mapframeModule.getParameterValue(args, "bar", 2),
"arg with suffix")
self:assertEquals(
nil, mapframeModule.getParameterValue(args, "bar", 3),
"arg with suffix not present (same-named arg with different suffix is present)")
self:assertEquals(
"foo", mapframeModule.getParameterValue(args, "foo", 3)
"arg with suffix not present (same-named arg without any suffix is present)")
self:assertEquals(
nil, mapframeModule.getParameterValue(args, "qux"),
"arg not present")
self:assertEquals(
nil, mapframeModule.getParameterValue(args, "qux", 3),
"-- arg with suffix not present (no same-named arg with or without any suffix)")
end
function suite:testTrimArgs()
-- @param {Table<String, String|Number>}argsTable
-- @returns {Table<String, String|Number>}
local args = {
foo = "foo",
spaced = " spaced ",
leadingSpace = " leading space",
trailingSpace = "trailingSapce ",
empty = "",
number = 42,
controlChar = "controlChar" .. string.char(0x05)
}
local expected = {
foo = "foo",
spaced = "spaced",
leadingSpace = "leading space",
trailingSpace = "trailingSapce",
number = 42,
controlChar = "controlChar"
}
self:assertDeepEquals(expected, mapframeModule.trimArgs(args))
end
return suite