Module:grc-headword/testcases
Appearance
- පහත දැක්වෙන උපදෙස්, Module:grc-headword/testcases/documentation හි පිහිටා ඇත. Module:grc-headword/testcases/documentation]]. [සංස්කරණය] Categories were auto-generated by Module:module categorization. [edit]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • tested module • sandbox
1 of 0 tests failed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
nouns | |||
Script error during testing: Module:template_link:79: attempt to call upvalue 'parse_template_name' (a nil value)stack traceback: [C]: in function 'parse_template_name' Module:template_link:79: in function 'render_title' Module:template_link:154: in function 'show_template' Module:grc-headword/testcases:27: in function 'display' Module:grc-headword/testcases:39: in function 'func' Module:UnitTests:295: in function 'iterate' Module:grc-headword/testcases:110: in function <Module:grc-headword/testcases:43> (tail call): ? [C]: in function 'xpcall' Module:UnitTests:369: in function <Module:UnitTests:328> (tail call): ? mw.lua:527: in function <mw.lua:507> [C]: ? [C]: in function 'expandTemplate' mw.lua:333: in function 'expandTemplate' Module:documentation:895: in function 'chunk' mw.lua:527: in function <mw.lua:507> [C]: ? |
local tests = require("Module:UnitTests")
-- arguments: parent_frame, frame, pagename?
local test_headword = require("Module:grc-headword").test
local show_template = require("Module:template link").format_link
local clone = require("Module:table").shallowcopy
-- For now the categories don't really need testing.
local to_be_removed = { "categories", "pos_category" }
local function remove_keys(t, keys)
for _, key in ipairs(keys) do
t[key] = nil
end
return t
end
local function tag_and_link(term)
return '<span class="Polyt" lang="grc">[[' .. term .. '#Ancient Greek|' .. term .. ']]</span>'
end
local abbrevs = { adjectives = "adj", participles = "part" }
local function display(frame, parent_frame, pagename)
parent_frame = clone(parent_frame)
local name = ("grc-" .. (abbrevs[frame[1]] or frame[1]) .. (frame[2] and "-" .. frame[2] or "")):gsub("s$", "")
return tag_and_link(pagename) .. ":<br>" .. show_template(name, parent_frame)
end
local options = {
nowiki = true,
display = function (text)
return "<code>" .. text:gsub("&#(%d+);", string.char):gsub("(%a[%w_]*=%b{},) ", "%1<br>") .. "</code>"
end,
}
function tests:check(frame, parent_frame, pagename, expected)
local data = test_headword(frame, parent_frame, pagename)
remove_keys(data, to_be_removed)
self:equals_deep(display(frame, parent_frame, pagename),
data, expected, options)
end
function tests:test()
local examples = {
"nouns",
{
{ "nouns" }, { "δήμου", "m", "second" }, "δῆμος",
{genders={"m"}, heads={"δῆμος"}, inflections={{"δήμου", label="genitive"}}, no_redundant_head_cat=true}
},
{
{ "nouns" }, { "ῐ̔́ππος", "ῐ̔́ππου", "m", "second" }, "ἵππος",
{genders={"m"}, heads={"ῐ̔́ππος"}, inflections={{"ῐ̔́ππου", label="genitive"}}, no_redundant_head_cat=false}
},
"indeclinable nouns",
{
{ "proper nouns" }, { "Γαβρῑήλ", "m" }, "Γαβριήλ",
{heads={"Γαβρῑήλ"}, genders={"m"}, inflections={{label="[[Appendix:Glossary#indeclinable|indeclinable]]"}}, no_redundant_head_cat=false}
},
{
{ "proper nouns" }, { "m" }, "Γαβριήλ",
{heads={"Γαβριήλ"}, genders={"m"}, inflections={{label="[[Appendix:Glossary#indeclinable|indeclinable]]"}}, no_redundant_head_cat=true}
},
{
{ "proper nouns" }, { head = "Γαβρῑήλ", g = "m" }, "Γαβριήλ",
{heads={"Γαβρῑήλ"}, genders={"m"}, inflections={{label="[[Appendix:Glossary#indeclinable|indeclinable]]"}}, no_redundant_head_cat=false}
},
"verbs",
{
{ "verbs" }, { "ῐ̔́στημῐ" }, "ἵστημι",
{genders={}, heads={"ῐ̔́στημῐ"}, inflections={}}
},
"particles",
{
{ "particles" }, { disc = 1 }, "γε",
{genders={}, heads={"γε"}, inflections={{label="discourse particle"}}}
},
"adjectives and participles",
{
{ "adjectives", "1&2" }, { "σή", "σόν" }, "σός",
{genders={"m"}, heads={"σός"}, inflections={{"σή", label="feminine"}, {"σόν", label="neuter"}}}
},
{
{ "participles", "1&2" }, { "στᾰ́μενος", "στᾰμένη", "στᾰ́μενον" }, "στάμενος",
{genders={"m"}, heads={"στᾰ́μενος"}, inflections={{"στᾰμένη", label="feminine"}, {"στᾰ́μενον", label="neuter"}}}
},
{
{ "adjectives", "1&3" }, { "βᾰρῠ́ς", "βᾰρεῖᾰ", "βᾰρῠ́" }, "βαρύς",
{genders={"m"}, heads={"βᾰρῠ́ς"}, inflections={{"βᾰρεῖᾰ", label="feminine"}, {"βᾰρῠ́", label="neuter"}}}
},
{
{ "participles", "1&3" }, { "στᾱ́ς", "στᾶσᾰ", "στᾰ́ν" }, "στάς",
{genders={"m"}, heads={"στᾱ́ς"}, inflections={{"στᾶσᾰ", label="feminine"}, {"στᾰ́ν", label="neuter"}}}
},
{
{ "adjectives", "2nd" }, { "ᾰ̓́δῐκος", "ᾰ̓́δῐκον" }, "ἄδικος",
{genders={"m", "f"}, heads={"ᾰ̓́δῐκος"}, inflections={{"ᾰ̓́δῐκον", label="neuter"}}}
},
{
{ "adjectives", "3rd" }, { "ῠ̔γῐής", "ῠ̔γῐές" }, "ὑγιής",
{genders={"m", "f"}, heads={"ῠ̔γῐής"}, inflections={{"ῠ̔γῐές", label="neuter"}}}
},
--[[
{
{}, {}, "",
{}
},
--]]
}
self:iterate(examples, "check")
end
return tests