Modul:Text/test
Erscheinungsbild
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
--[=[ 2015-05-22
Module:Text test
]=]
local Handler = { }
local Text = { }
local QuoteLang = false
local QuoteType = false
Handler.quoteTable = function ( args, frame )
local r = Text.test( "quote" )
local slang = mw.language.getContentLanguage():getCode()
local strip = [==[
|-
| {{#language:%%s|%s}} || <code>{{#invoke:Text|quoteUnquoted|1|%%s|1}}</code> || <code>{{#invoke:Text|quoteUnquoted|2|%%s|2}}</code> || <code>%%s</code>
]==]
local s, v1, v2
QuoteLang = r.QuoteLang
QuoteType = r.QuoteType
r = [==[
{| class="wikitable sortable"
|-
! lang !! 1 !! 2 !! code
]==]
strip = string.format( strip, slang )
if not frame then
frame = mw.getCurrentFrame()
end
for k, v in pairs( QuoteLang ) do
if type( v ) == "string" then
s = string.format( strip, k, k, k, v )
r = r .. frame:preprocess( s )
else
r = r .. "\n|-\n!" .. k
end
end
r = r .. [==[
|}
{| class="wikitable sortable"
! code !!colspan="3"| 1 !!colspan="3"| 2
]==]
for k, v in pairs( QuoteType ) do
if type( v ) == "table" then
v1 = v[ 1 ]
v2 = v[ 2 ]
if type( v1 ) == "table" then
s = string.format( "%s1%s||%d||%d",
mw.ustring.char( v1[ 1 ] ),
mw.ustring.char( v1[ 2 ] ),
v1[ 1 ],
v1[ 2 ] )
else
s = "???"
end
s = s .. "||"
if type( v2 ) == "table" then
s = string.format( "%s%s2%s||%d||%d",
s,
mw.ustring.char( v2[ 1 ] ),
mw.ustring.char( v2[ 2 ] ),
v2[ 1 ],
v2[ 2 ] )
else
s = s .. "???"
end
else
s = "??????????"
end
r = string.format( "%s\n|-\n|<code>%s</code>||%s", r, k, s )
end
r = r .. "\n|}"
return r
end -- Handler.quoteTable()
-- Export
local p = { }
function p.test( frame )
local lucky, r
lucky, Text = pcall( require, "Module:Text" )
if type( Text ) == "table" then
local suite
if type( frame ) == "string" then
suite = frame
else
suite = frame.args[ 1 ]
end
Text = Text.Text()
if type( Handler[ suite ] ) == "function" then
r = Handler[ suite ]( frame.args, frame )
else
r = "<span class='error'>Unkown Handler: "
.. suite .. "</span>"
end
else
r = "<span class='error'>" .. Text .. "</span>"
end
return r
end -- p.test()
return p