Jump to content

Module:Template test case: Difference between revisions

move arg-trimming code to the TableInvocation class
(add nowiki exports and finish the NowikiInvocation class)
(move arg-trimming code to the TableInvocation class)
Line 138: Line 138:
local optionKey = type(k) == 'string' and k:match('^_(.*)$')
local optionKey = type(k) == 'string' and k:match('^_(.*)$')
if optionKey then
if optionKey then
rawOptions[optionKey] = v
if type(v) == 'string' then
v = mw.text.trim(v)
end
if v ~= '' then
rawOptions[optionKey] = v
end
else
else
invokeArgs[k] = v
invokeArgs[k] = v
Line 209: Line 214:
return require('Module:Arguments').getArgs(frame, {
return require('Module:Arguments').getArgs(frame, {
wrappers = wrappers,
wrappers = wrappers,
valueFunc = function (k, v)
trim = false,
if type(k) == 'string' and k:find('^_') then
removeBlanks = false
v = mw.text.trim(v)
if v ~= '' then
return v
end
else
return v
end
end
})
})
end
end
Line 230: Line 227:


function p.table(frame)
function p.table(frame)
return p._table(getTableArgs(frame, 'Template:Test case'))
return p._table(getTableArgs(frame, 'Template:Test case from arguments'))
end
end


Line 254: Line 251:
function p.nowiki(frame)
function p.nowiki(frame)
local args = require('Module:Arguments').getArgs(frame, {
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Template:Test case'
wrappers = 'Template:Test case from invocation'
})
})
return p._nowiki(args)
return p._nowiki(args)
Cookies help us deliver our services. By using our services, you agree to our use of cookies.