Module:bac à sable/Andreyyshore/ro-réfl/testcases

[rafraichir]

averbaccdatcontrRésultat obtenuRésultat attendu
aface<a facea facePassed
afacem<a mă facea mă facePassed
afaces<a se facea se facePassed
afacei<a-i facea-i facePassed
afaceț<a-ți facea-ți facePassed
facăș<să-și facăsă-și facăPassed
facălș<să și-l facăsă și-l facăPassed
facăeș<să și le facăsă și le facăPassed
faceșîși faceîși facePassed
facelșși-l faceși-l facePassed
a făcutv>v-a făcutv-a făcutPassed
a făcutș>și-a făcutși-a făcutPassed
a făcutlș>și l-a făcutși l-a făcutPassed
a făcutoș>și-a făcut-oși-a făcut-oPassed
daitmmi te daimi te daiPassed
ai dattm>mi te-ai datmi te-ai datPassed
faciommi-o facimi-o faciPassed
ai făcutom>mi-ai făcut-omi-ai făcut-oPassed
facesse facese facePassed
facesmmi se facemi se facePassed
a făcutsm>mi s-a făcutmi s-a făcutPassed
facăsm<să mi se facăsă mi se facăPassed
afacelv<a vi-l facea vi-l facePassed
fi făcutov<să v-o fi făcutsă v-o fi făcutPassed
faclv<să vi-l facsă vi-l facPassed
anunțv<să vă anunțsă vă anunțPassed
anunțv>să v-anunțsă v-anunțPassed
anunțo>să anunț-osă o-anunțFailed
sanunțo<s o anunțs-o anunțFailed
anunțl<să-l anunțsă-l anunțPassed

local modu = require("Module:bac à sable/Andreyyshore/ro-réfl")

local SUCCESS_IMAGE = "[[File:OOjs UI icon check-constructive.svg|20px|alt=Passed|link=|Test réussi]]"
local FAILURE_IMAGE = "[[File:OOjs UI icon close-ltr-destructive.svg|20px|alt=Failed|link=|Test échoué]]"
local IGNORED_IMAGE = "[[File:OOjs UI icon cancel-progressive.svg|20px|alt=Failed|link=|Test ignoré]]"

local cases = {
	{ "a", "face", "", "", "<", "a face" },
	{ "a", "face", "m", "", "<", "a mă face" },
	{ "a", "face", "s", "", "<", "a se face" },
	{ "a", "face", "", "i", "<", "a-i face" },
	{ "a", "face", "", "ț", "<", "a-ți face" },
	{ "să", "facă", "", "ș", "<", "să-și facă" },
	{ "să", "facă", "l", "ș", "<", "să și-l facă" },
	{ "să", "facă", "e", "ș", "<", "să și le facă" },
	{ "", "face", "", "ș", "", "își face" },
	{ "", "face", "l", "ș", "", "și-l face" },
	{ "", "a făcut", "", "v", ">", "v-a făcut" },
	{ "", "a făcut", "", "ș", ">", "și-a făcut" },
	{ "", "a făcut", "l", "ș", ">", "și l-a făcut" },
	{ "", "a făcut", "o", "ș", ">", "și-a făcut-o" },
	{ "", "dai", "t", "m", "", "mi te dai" },
	{ "", "ai dat", "t", "m", ">", "mi te-ai dat" },
	{ "", "faci", "o", "m", "", "mi-o faci" },
	{ "", "ai făcut", "o", "m", ">", "mi-ai făcut-o" },
	{ "", "face", "s", "", "", "se face" },
	{ "", "face", "s", "m", "", "mi se face" },
	{ "", "a făcut", "s", "m", ">", "mi s-a făcut" },
	{ "să", "facă", "s", "m", "<", "să mi se facă" },
	{ "a", "face", "l", "v", "<", "a vi-l face" },
	{ "să", "fi făcut", "o", "v", "<", "să v-o fi făcut" },
	{ "să", "fac", "l", "v", "<", "să vi-l fac" },
	{ "să", "anunț", "", "v", "<", "să vă anunț" },
	{ "să", "anunț", "", "v", ">", "să v-anunț" },
	{ "să", "anunț", "o", "", ">", "să o-anunț" },
	{ "s", "anunț", "o", "", "<", "s-o anunț" },
	{ "să", "anunț", "l", "", "<", "să-l anunț" },
}

local function create_table_header()
	local table_header = mw.html.create("tr")
	table_header:tag("th"):tag("code"):wikitext("a")
	table_header:tag("th"):tag("code"):wikitext("verb")
	table_header:tag("th"):tag("code"):wikitext("acc")
	table_header:tag("th"):tag("code"):wikitext("dat")
	table_header:tag("th"):tag("code"):wikitext("contr")
	table_header:tag("th"):wikitext("Résultat obtenu")
	table_header:tag("th"):wikitext("Résultat attendu")
	table_header:tag("th")
	return table_header
end

local function create_table_row(data)
	local table_row = mw.html.create("tr")
	local result = modu.pronoms(data[1], data[2], data[3], data[4], data[5])
	table_row:tag("td"):tag("code"):wikitext(data[1])
	table_row:tag("td"):tag("code"):wikitext(data[2])
	table_row:tag("td"):tag("code"):wikitext(data[3])
	table_row:tag("td"):tag("code"):wikitext(data[4])
	table_row:tag("td"):tag("code"):wikitext(data[5])
	table_row:tag("td"):wikitext(result)
	table_row:tag("td"):wikitext(data[6])
	table_row:tag("td"):wikitext((result == data[6]) and SUCCESS_IMAGE or FAILURE_IMAGE)
	return table_row
end

local function create_table()
	local i
	local created_table = mw.html.create("table")
	created_table:addClass("wikitable")
	created_table:node(create_table_header())
	for i = 1, #cases do
		created_table:node(create_table_row(cases[i]))
	end
	return created_table
end

local function run_tests()
	local purge_url = tostring(mw.uri.fullUrl(mw.title.getCurrentTitle().fullText, "action=purge&forcelinkupdate"))
	return "<span class=\"plainlinks\">[" .. purge_url .. " &#91;rafraichir&#93;]</span>\n\n" .. tostring(create_table())
end

return { run_tests = run_tests }