Jump to content

Module:Params/testcases/mdummy: Difference between revisions

From mediawiki.org
Content deleted Content added
m Grufo moved page Module:Params/testcases/dummy to Module:Params/testcases/mdummy: Add an “m” to the title for marking it as a module
simplify and remove "newtab" global bug
Line 4: Line 4:
local args = frame.args
local args = frame.args
local ret = ''
local ret = ''
newtab = {}
local keys = {}
for key, val in pairs(args) do newtab[key] = val end
for key,val in ipairs(args) do
if not keys[key] then
for key,val in ipairs(newtab) do
ret = ret .. '[' .. key .. '=' .. val .. ']'
ret = ret .. '[' .. key .. '=' .. val .. ']'
newtab[key] = nil
keys[key] = true
end
end
end
for key,val in pairs(newtab) do
for key,val in pairs(args) do
ret = ret .. '[' .. key .. '=' .. val .. ']'
if not keys[key] then
ret = ret .. '[' .. key .. '=' .. val .. ']'
keys[key] = true
end
end
end
return ret
return ret

Revision as of 14:51, 19 July 2025

Module documentation

This submodule is designed to be used as a dummy callback by templates that want to test Module:Params.

Usage

{{#invoke:Params/testcases/mdummy|function_name}}

Functions

Here follows the list of functions.

echo_sb

The echo_sb function simply echoes all the parameters it was called with, surrounding these within square brackets. It is virtually identical to the {{Module:Params/testcases/tdummy echo sb}} template.

Examples:

  • {{#invoke:params/testcases/mdummy|echo_sb|foo|bar|Jupiter|hello=world}}
    ↳ [1=foo][2=bar][3=Jupiter][hello=world]

local iface = {}

iface.echo_sb = function(frame)
	local args = frame.args
	local ret = ''
	local keys = {}
	for key,val in ipairs(args) do
		if not keys[key] then
			ret = ret .. '[' .. key .. '=' .. val .. ']'
			keys[key] = true
		end
	end
	for key,val in pairs(args) do
		if not keys[key] then
			ret = ret .. '[' .. key .. '=' .. val .. ']'
			keys[key] = true
		end
	end
	return ret
end

return iface