Module:Test17
Apparence
La documentation de ce module Scribunto écrit en Lua est incluse depuis sa sous-page de documentation.
Ce module est utilisé pour des tests de Apameia
local p = {}
-- trim1(s): deletes whitespace at the beginning and end of s
function trim1(s)
return (s:gsub("^%s*(.-)%s*$", "%1"))
end
function p.test3(tab)
local lang1=trim1(tab.args[1])
local lang2=trim1(tab.args[2])
local index=trim1(tab.args[3])
local ideb1=tonumber(tab.args[4])
local ifin1=tonumber(tab.args[5])
local ideb2=tonumber(tab.args[6])
local larg1=tonumber(tab.args[7])
local larg2=tonumber(tab.args[8])
local vspace=tonumber(tab.args[9])
local hspace=tonumber(tab.args[10])
retval=''
-- Debug lines
-- retval=mw.ustring.format('lang1 #%s# lang2 #%s# index %s <br/>',lang1,lang2,index)
-- retval=retval..mw.ustring.format('ideb1 %d ideb2 %d ifin1 %s <br/>',ideb1,ideb2,ifin1)
-- retval=retval..mw.ustring.format('larg1 %d larg2 %d vspace %d hspace %d<br/><br/>',larg1,larg2,vspace,hspace)
retval=retval..'<table style="border-spacing:30px 10px; table-layout:fixed;">\n'
local di=1
if ideb1<ideb2 then
di=1
else
di=-1
end
for i=ideb1,ifin1 do
local span2= mw.html.create( 'span' )
:attr('class', mw.ustring.format('iwpages lang-%s',lang2))
:attr('title',mw.ustring.format('%s|%s|%d|%d',lang2,index,i+di,i+di))
:attr('id',mw.ustring.format("%s:%s",lang2,index))
:attr('lang',lang2)
local span1= mw.html.create( 'span' )
:attr('class', mw.ustring.format('iwpages lang-%s',lang1))
:attr('title',mw.ustring.format('%s|%s|%d|%d',lang1,index,i,i))
:attr('id',mw.ustring.format("%s:%s",lang1,index))
:attr('lang',lang1)
td1=mw.ustring.format('<td width="%d%%">%s</td>',larg1,tostring(span1))
td2=mw.ustring.format('<td width="%d%%">%s</td>',larg2,tostring(span2))
if ideb1<ideb2 then
retval=retval..'<tr style="vertical-align:top;">'..td1..td2..'</tr>\n'
else
retval=retval..'<tr style="vertical-align:top;">'..td2..td1..'</tr>\n'
end
--retval=retval..mw.ustring.format('<tr style="vertical-align:top;"><td width="%d%%">%s</td><td width="%d%%">%s</td></tr>\n',larg1,tostring(span1),larg2,tostring(span2))
end
retval=retval..'</table>\n'
return retval
end
function p.testref(tab)
local lang1=trim1(tab.args[1])
local lang2=trim1(tab.args[2])
local index=trim1(tab.args[3])
local ideb1=tonumber(tab.args[4])
local ifin1=tonumber(tab.args[5])
local ideb2=tonumber(tab.args[6])
local larg1=tonumber(tab.args[7])
local larg2=tonumber(tab.args[8])
local vspace=tonumber(tab.args[9])
local hspace=tonumber(tab.args[10])
retval=mw.ustring.format('lang1 #%s# lang2 #%s# index %s <br/>',lang1,lang2,index)
retval=retval..mw.ustring.format('ideb1 %d ideb2 %d ifin1 %s <br/>',ideb1,ideb2,ifin1)
retval=retval..mw.ustring.format('larg1 %d larg2 %d vspace %d hspace %d<br/><br/>',larg1,larg2,vspace,hspace)
retval=retval..mw.ustring.format('Après: lang1 #%s# lang2 #%s# index %s <br/>',lang1,lang2,index)
retval=retval..'<table style="border-spacing:30px 10px; table-layout:fixed;">\n'
for i=ideb1,ifin1 do
local span2= mw.html.create( 'span' )
:attr('class', mw.ustring.format('iwpages lang-%s',lang2))
:attr('title',mw.ustring.format('%s|%s|%d|%d',lang2,index,i+1,i+1))
:attr('id',mw.ustring.format("%s:%s",lang2,index))
:attr('lang',lang2)
local span1= mw.html.create( 'span' )
:attr('class', mw.ustring.format('iwpages lang-%s',lang1))
:attr('title',mw.ustring.format('%s|%s|%d|%d',lang1,index,i,i))
:attr('id',mw.ustring.format("%s:%s",lang1,index))
:attr('lang',lang1)
td1=mw.ustring.format('<td width="%d%%">%s</td>',larg1,tostring(span1))
td2=mw.ustring.format('<td width="%d%%">%s</td>',larg2,tostring(span2))
retval=retval..'<tr style="vertical-align:top;">'..td1..td2..'</tr>\n'
--retval=retval..mw.ustring.format('<tr style="vertical-align:top;"><td width="%d%%">%s</td><td width="%d%%">%s</td></tr>\n',larg1,tostring(span1),larg2,tostring(span2))
end
retval=retval..'</table>\n'
return retval
end
return p