Module:Test17

La bibliothèque libre.
Aller à la navigation Aller à la recherche
Documentation du module [voir] [modifier] [purger]
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