Modul:LuaWikiTests
LuaWikiTests[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
--[=[
A modul teszteli a "LuaWiki" modult
===================================
LuaWiki - Lua programozás támogatása a Wiki környezetben
* .error(about) -- vörösben fog megjelenni az adott oldalon a hibaüzenet
-- Paraméter:
-- about -- string, a hibaüzenet
* .getArg( arg, assign )
-- Sablon paraméterét adja vissza
-- Paraméter:
-- arg -- string vagy szám a sablon paraméterének azonosítója
-- assign -- tetszőleges opcionális érték; default value
* .initVariables( request )
-- Inicializálja a wikiVariables táblát a request argumentumban megadott tábla szerint
-- Paraméter
-- @request -- tábla, melynek minden eleme vagy
-- * string; a változó neve ( pl. "FULLPAGENAMEE" )
-- * tábla: két elemmel a névvel és true logikai értékkel, ha a névhez számérték tartozik
-- ( pl. {"CURRENTYEAR",true} )
* .getVariable( seek, numeric )
-- Visszaad egy elemet a wikiVariables táblából; telepíti azt, ha még nincs ott
-- Argumentumok:
-- @seek, -- string; a lekérdezendő wiki-változó neve
-- @numeric -- true, ha a lekérdezendő numerikus, különben false
* .isExisting( seek )
-- visszaadott értéke true, amennyiben az oldal létezik, false különben
-- Paraméter
-- @seek -- string; az oldal teljes neve (full page name)
* .transclude ( s, args )
-- kibont egy s sablont, ha ilyen van és azt stringként adja vissza, különben hibaüzenetet ad "Parancsfájl-hiba"
-- ha erre a piros hibaüzenetre rákattintasz, mivel az egy link, akkor kapod meg felugró ablakban a tulajdonképpeni
-- hibaüzenetet
-- Paraméterek:
-- s -- string; a keresett sablon neve
-- args -- tábla vagy nil; a sablon argumentumai
]=]
local LuaWiki = require('Modul:LuaWiki')
local p = {}
function p.val_to_str(v)
if type(v) == 'string' then
v = mw.ustring.gsub(v, '\n', '\\n')
if mw.ustring.match(mw.ustring.gsub(v, '[^\'"]', ''), '^"+$') then
return "'" .. v .. "'"
end
return '"' .. mw.ustring.gsub(v, '"', '\\"' ) .. '"'
else
return type(v) == 'table' and p.table_to_str(v) or tostring(v)
end
end
function p.table_key_to_str(k)
if type(k) == 'string' and mw.ustring.match(k, '^[_%a][_%a%d]*$') then
return k
else
return '[' .. p.val_to_str(k) .. ']'
end
end
function p.table_to_str(tbl)
local result, done = {}, {}
for k, v in ipairs(tbl) do
table.insert(result, p.val_to_str(v))
done[k] = true
end
for k, v in pairs(tbl) do
if not done[k] then
table.insert(result, p.table_key_to_str(k) .. '=' .. p.val_to_str(v))
end
end
return '{' .. table.concat(result, ',') .. '}'
end
function p.dump(tbl, recursive)
if type(tbl) ~= 'table' then
return '<not a table!>'
end
local s = '{ '
for k,v in pairs(tbl) do
if type(k) ~= 'number' then
k = '"'..k..'"'
end
if type(v) == 'table' then
if recursive then
v = p.dump(v, true)
else
v = 'table'
end
elseif type(v) == 'boolean' then -- no boolean -> string autoconversion in Lua
if v then
v = 'true'
else
v = 'false'
end
elseif type(v) == 'function' then
if v then
v = 'function'
end
end
s = s .. '['..k..'] = ' .. v .. ','
end -- for k,v in pairs(tbl)
return s .. '} '
end
local MiKell= {{"CURRENTYEAR",true}, "FULLPAGENAMEE"}
p.run = function()
LuaWiki.initVariables(MiKell)
local ev= LuaWiki.getVariable("CURRENTYEAR") ; ev = ev + 20
local teljeslapneev = LuaWiki.getVariable("FULLPAGENAMEE")
--local s= "Év=" ..tostring(ev) .." ,Teljes lapnév=" .. teljeslapneev
-- Év=2033 ,Teljes lapnév=Modulvita:LuaWikiTests
-- if LuaWiki.isExisting("Wikipédia:Javaslatok_kiemelt_szócikkekre" ) then s= "Javaslatok_kiemelt_szócikkekre- létező cikk" end
-- Javaslatok_kiemelt_szócikkekre- létező cikk
--s=LuaWiki.transclude ("Sablon:életkor-holt",{1840,2,22,1913,8,13} ) -- (73 évesen)
s=LuaWiki.transclude ("Sablon:Életkor-holt",{1840,2,22,1913,8,13} ) --Lua error a(z) Modul:LuaWiki modulban a(z) 204. sorban:
-- Nem létező sablon: 'Sablon:életkert-holt'.
return s
end -- run
return p