Module:families/testcases
Jump to navigation
Jump to search
- The following documentation is located at Module:families/testcases/documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • tested module • sandbox
1 of 8 tests failed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
roa | Romance | Romance | |
gem | Germanic | Germanic |
Text | Expected | Actual | |
---|---|---|---|
roa | Q19814 | Q19814 | |
gem | Q21200 | Q21200 |
Text | Expected | Actual | |
---|---|---|---|
roa | [[w:Romance languages|Romance]] | [[w:Romance languages|Romance]] | |
gem | [[w:Germanic languages|Germanic]] | [[w:Germanic languages|Germanic]] | |
sgn-jsl | [[w:Japanese Sign Language family|Japanese Sign Languages]] | [[w:Japanese Sign Language family|Japanese Sign Languages]] |
Text | Expected | Actual | |
---|---|---|---|
roa-JSON | {"type" : "family", "wikidataItem" : "Q19814", "code" : "roa", "canonicalName" : "Romance", "otherNames" : ["Romanic", "Latin", "Neolatin", "Neo-Latin"], "categoryName" : "Romance languages", "family" : "itc"} | {"type" : [ "family", "full", "regular" ], "code" : "roa", "canonicalName" : "Romance", "aliases" : [ "Romanic", "Latin", "Neolatin", "Neo-Latin" ], "wikidataItem" : "Q19814", "varieties" : [], "protoLanguage" : "la", "family" : "itc", "otherNames" : [], "categoryName" : "Romance languages"} |
local tests = require("Module:UnitTests")
local getByCode = require("Module:families").getByCode
local families = {}
setmetatable(families, { -- Auto-create family objects: families.roa -> family object for Romance.
__index = function(self, key)
local family = getByCode(key) or error("No language with code " .. key .. ".")
self[key] = family
return family
end
})
function tests:test_getCanonicalName()
local examples = {
{"roa", "Romance"},
{"gem", "Germanic"},
}
self:iterate(examples, function(self, code, expected)
self:equals(code, families[code]:getCanonicalName(), expected)
end)
end
function tests:test_makeWikipediaLink()
local examples = {
{"roa", "[[w:Romance languages|Romance]]"},
{"gem", "[[w:Germanic languages|Germanic]]"},
{"sgn-jsl", "[[w:Japanese Sign Language family|Japanese Sign Languages]]"},
}
self:iterate(examples, function(self, code, expected)
self:equals(code, families[code]:makeWikipediaLink(), expected, {nowiki=1})
end)
end
function tests:test_getWikidataItem()
local examples = {
{"roa", "Q19814"},
{"gem", "Q21200"},
}
self:iterate(examples, function(self, code, expected)
self:equals(code, families[code]:getWikidataItem(), expected)
end)
end
function tests:test_toJSON()
self:equals('roa-JSON', families.roa:toJSON(), [[{"type" : "family", "wikidataItem" : "Q19814", "code" : "roa", "canonicalName" : "Romance", "otherNames" : ["Romanic", "Latin", "Neolatin", "Neo-Latin"], "categoryName" : "Romance languages", "family" : "itc"}]])
end
return tests