Module:Hexasoft-test
Documentation page : view / edit
This is a wikified documentation.
- yes
- really.
-- empty: can be removed
-- test: the title librairy
local p = {}
function p.text(frame)
local ret
ret = "mw.text.listToText( { 1, 2, 3, 4, 5 }, '; ', ' or ' ) : "
ret = ret .. mw.text.listToText( { 1, 2, 3, 4, 5 }, '; ', ' or ' )
ret = ret .. "<br/><br/>"
ret = ret .. "unstrip " .. frame.args[1] .. " (" .. string.len(frame.args[1]) .. ") : "
local tmp = mw.text.unstrip(frame.args[1])
ret = ret .. tmp .. " (" .. string.len(tmp) .. ")<br/><br/>"
tmp = mw.ustring.gsub(tmp, "bl[ai]", "BLAS")
ret = ret .. tmp .. " (" .. string.len(tmp) .. ")<br/><br/>"
return ret
end
-- dump a table content, with formating
function p.dump(tbl, name, dec)
if (tbl == nil or type(tbl) ~= "table") then
return "Table ''" .. (name or "<nil>") .. "'' is invalid.<br/>"
end
-- limit depth
if (dec > 3) then
return ""
end
local res = ""
if (name ~= nil) then
res = res .. "Table ''" .. name .. "'' content:\n"
end
-- just check all content, first the functions, then anything but tables, then table
for k, v in pairs(tbl) do -- functions
if (type(v) == "function") then
res = res .. string.rep("*", dec)
res = res .. k .. " (" .. type(v) .. "): " .. (tostring(v or "<nil>")) .. "\n"
end
end
for k, v in pairs(tbl) do -- not functions and tables
if (type(v) ~= "function" and type(v) ~= "table") then
res = res .. string.rep("*", dec)
res = res .. k .. " (" .. type(v) .. "): " .. (tostring(v or "<nil>")) .. "\n"
end
end
for k, v in pairs(tbl) do -- only tables
if (type(v) == "table") then
res = res .. string.rep("*", dec)
res = res .. k .. " (" .. type(v) .. "): " .. (tostring(v or "<nil>")) .. "\n"
-- a table, we recursively treat what's inside it
res = res .. p.dump(v, nil, dec+1)
end
end
return res
end
function p.test(frame)
local res = ""
local title = mw.title.getCurrentTitle()
res = res .. "Titre :<br/>* id : " .. title.id .. "<br/>"
res = res .. "* titre : " .. title.prefixedText .. "<br/>"
res = res .. "* ns : " .. title.nsText .. "<br/>"
res = res .. "* ns (int) : " .. title.namespace .. "<br/>"
res = res .. "* contentModel : " .. title.contentModel .. "<br/><br/>"
res = res .. ">>>>>>>><br/>"
if (title.getContent ~= nil) then
res = res .. title:getContent()
else
res = res .. "title.getContent() non présent.<br/>"
end
res = res .. "<br/><<<<<<<<<br/>"
-- test "ifexist"
local nt = mw.title.new("Uroplatus guentheri", 0)
if (nt == nil) then
res = res .. "Erreur création titre.<br/>"
else
if (nt.id ~= 0) then
res = res .. "L'article [[Uroplatus guentheri]] existe.<br/>"
else
res = res .. "L'article [[Uroplatus guentheri]] n'existe pas.<br/>"
end
end
local nt = mw.title.new("Uroplatus guentherixxx", 0)
if (nt == nil) then
res = res .. "Erreur création titre.<br/>"
else
if (nt.id ~= 0) then
res = res .. "L'article [[Uroplatus guentherixxx]] existe.<br/>"
else
res = res .. "L'article [[Uroplatus guentherixxx]] n'existe pas.<br/>"
end
end
-- test site.stats
res = res .. "Stats : " .. mw.site.stats.pages .. " pages sur le wiki, dont " .. mw.site.stats.articles .. " articles, avec " .. mw.site.stats.activeUsers .. " utilisateurs actifs.<br/><br/>"
if (mw.text ~= nil) then
res = res .. "mw.text est présent.<br/>"
else
res = res .. "mw.text n'est pas présent.<br/>"
end
-- test : check mw content
res = res .. p.dump(mw, "mw", 1)
return res
end
return p