Modulo:Sandbox/RiccardoCasini/Test

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

-- Tutti i moduli Lua su Wikipedia devono iniziare definendo una variabile di tipo tabella che contenga -- le funzioni accessibili dall'esterno. Può avere qualunque nome e contenere anche altri dati. Per esempio
local p = {};

-- Viene aggiunta una funzione alla variabile. Questa è richiamabile da Wikipedia mediante il -- comando #invoke. -- L'argomento "frame" conterrà i dati che Wikipedia invia a questa funzione quando viene -- chiamata. function p.hello( frame )

   -- L'istruzione successiva termina la funzione e ritorna la stringa "Hello, World!" a Wikipedia
   -- che verrà visualizzata al posto del richiamo del comando #invoke 
   return "Hello, world!"

-- termina la funzione end

function p.hello_nome1( frame )

   -- Come l'esempio sopra, ma si aspetta anche due parametri posizionale che contengano un nome
   -- e un saluto, la chiamata Hello, Franco, come va?
   -- sarà sostituita da "Hello, Franco, come va?" 
   return "Hello, " .. frame.args[1] .. ", " .. frame.args[2] .. "?"

-- termina la funzione end

function p.hello_nome2( frame )

   -- Come l'esempio sopra, ma si aspetta anche due parametri nominali che contengano un nome
   -- e un saluto, la chiamata Hello, Franco, come va?
   -- sarà sostituita da "Hello, Franco, come va?" 
   return "Hello, " .. frame.args["nome"] .. ", " .. frame.args["saluto"] .. "?"

-- termina la funzione end

-- Il modulo deve terminare restituendo la variabile che contiene le sue funzioni a Wikipedia return p

-- Questo modulo può ora essere usato chiamando Hello, world!. -- Il comando #invoke inizia con il nome del modulo, in questo caso "HelloWorld", -- quindi il nome di una delle sue funzioni come argomento, in questo caso "hello".


-- local p = require("Modulo:UnitTests")

function p:test_navbox()

self:preprocess_equals_many("

", {

-- nessun parametro

{ "", "

" },

-- style

{ "style=-test-style: 1", "

" },

-- bodystyle

{ "bodystyle=-test-bodystyle: 1", "

" },

-- style e bodystyle

{ "style=-test-style: 1|bodystyle=-test-bodystyle: 1", "

" },

-- state = "collapsed"

{ "state=collapsed", "

" },

-- state != "collapsed"

{ "state=unknown", "

" },

-- title

{ "title=titolo", "

titolo

" },

-- title e titlestyle

{ "title=titolo|titlestyle=-test-titlestyle: 1", "

titolo

" },

-- title e above

{ "title=titolo|above=sopra", "

titolo
sopra

" },

-- title, above e abovestyle

{ "title=titolo|above=sopra|abovestyle=-test-abovestyle: 1", "

titolo
sopra

" },

-- title e below

{ "title=titolo|below=sotto", "

titolo
sotto

" },

-- title, below e belowstyle

{ "title=titolo|below=sotto|belowstyle=-test-belowstyle: 1", "

titolo
sotto

" },

-- title, above e below

{ "title=titolo|above=sopra|below=sotto", "

titolo
sopra
sotto

" },

-- title e list1

{ "title=titolo|list1=lista1", "

titolo
lista1

" },

-- title e list30

{ "title=titolo|list30=lista30", "

titolo
lista30

" },

-- title e list31

{ "title=titolo|list31=lista31", "

titolo

" },

-- title, list1 e liststyle

{ "title=titolo|list1=lista1|liststyle=-test-liststyle: 1", "

titolo
lista1

" },

-- title, list1 e list1style

{ "title=titolo|list1=lista1|list1style=-test-list1style: 1", "

titolo
lista1

" },

-- title, list1 e oddstyle

{ "title=titolo|list1=lista1|oddstyle=-test-oddstyle: 1", "

titolo
lista1

" },

-- title, group1 e list1

{ "title=titolo|group1=gruppo1|list1=lista1", "

titolo
gruppo1lista1

" },

-- title, group1, groupstyle e list1

{ "title=titolo|group1=gruppo1|groupstyle=-test-groupstyle: 1|list1=lista1", "

titolo
gruppo1lista1

" },

-- title, group1, group1style e list1

{ "title=titolo|group1=gruppo1|group1style=-test-group1style: 1|list1=lista1", "

titolo
gruppo1lista1

" },

-- title, list1 e image

{ "title=titolo|list1=lista1|image=", "

titolo
lista1

" },

-- title, list1, image e imagestyle

{ "title=titolo|list1=lista1|image=|imagestyle=-test-imagestyle: 1", "

titolo
lista1

" },

-- title, list1 e list2

{ "title=titolo|list1=lista1|list2=lista2", "

titolo
lista1
lista2

" },

-- title, list1, list2, oddstyle e evenstyle

{ "title=titolo|list1=lista1|list2=lista2|oddstyle=-test-oddstyle: 1|evenstyle=-test-evenstyle: 1", "

titolo
lista1
lista2

" },

-- title, group1, list1, group2, list2

{ "title=titolo|group1=gruppo1|list1=lista1|group2=gruppo2|list2=lista2", "

titolo
gruppo1lista1
gruppo2lista2

" },

-- group senza list

{ "title=titolo|group1=gruppo1", "

titolo
gruppo1

" }

}) end

function p:test_navbox_subgroup()

self:preprocess_equals_many("

", {

-- nessun parametro

{ "", "

" },

-- bodystyle

{ "bodystyle=-test-bodystyle: 1", "

" },

-- list1

{ "list1=lista1", "

lista1

" },

-- list20

{ "list20=lista20", "

lista20

" },

-- list21

{ "list21=lista21", "

" },

-- list1 e liststyle

{ "list1=lista1|liststyle=-test-liststyle: 1", "

lista1

" },

-- list1 e oddstyle

{ "list1=lista1|oddstyle=-test-oddstyle: 1", "

lista1

" },

-- group1 e list1

{ "group1=gruppo1|list1=lista1", "

gruppo1lista1

" },

-- group1, groupstyle e list1

{ "group1=gruppo1|groupstyle=-test-groupstyle: 1|list1=lista1", "

gruppo1lista1

" },

-- list1 e list2

{ "list1=lista1|list2=lista2", "

lista1
lista2

" },

-- list1, list2, oddstyle e evenstyle

{ "list1=lista1|list2=lista2|oddstyle=-test-oddstyle: 1|evenstyle=-test-evenstyle: 1", "

lista1
lista2

" },

-- group1, list1, group2, list2

{ "group1=gruppo1|list1=lista1|group2=gruppo2|list2=lista2", "

gruppo1lista1
gruppo2lista2

" },

}) end

return p