10 of 0 tests failed. (refresh)

TextExpectedActual
testcases for getCategoryName:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for getFamily:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for getOtherNames:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for getScriptCodes:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for getWikidataItem:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for getWikipediaArticle:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for makeEntryName:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for makeSortKey:
Script error during testing: package.lua:80: module 'Module:languages/data3/g' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for makeWikipediaLink:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
testcases for toJSON:
Script error during testing: package.lua:80: module 'Module:languages/data2' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function <package.lua:89>
	(tail call): ?
	mw.lua:496: in function 'executeModule'
	mw.lua:768: in function 'loadData'
	Module:languages/sandbox:436: in function 'getRawLanguageData'
	Module:languages/sandbox:474: in function 'getByCode'
	Module:languages/cache/sandbox:8: in function <Module:languages/cache/sandbox:7>
	...
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

local tests = require("Module:UnitTests")

local tag = require("Module:script utilities").tag_text
local m_languages = require("Module:languages/sandbox")

-- Auto-create language objects: langs.en -> language object for English.
local langs = require("Module:languages/cache/sandbox")

function tests:check(funcName)
	-- Use English language object to test for existence of function.
	func = langs.en[funcName] or error("No function named " .. funcName .. " in language object.")
	local options = {}
	return function(self, lang, example, expected, ...)
		function options.display(text)
			return tag(text, lang)
		end
		self:equals(tag(example, lang) .. " (" .. lang:getCanonicalName() .. ", <code>" .. lang:getCode() .. "</code>)",
			func(lang, example, ...),
			expected,
			options)
	end
end

function tests:test_makeEntryName()
	local examples = {
		{ langs.la, "hūmānitās", "humanitas" },
		{ langs.la, "coëō", "coeo" },
		{ langs.ha, "àzàhàr̃iyyā̀", "azahariyya" },
		{ langs.es, "¿cómo te llamas?", "cómo te llamas" },
		{ langs.es, "¿ ?", "¿ ?" },
		{ langs.es, "¡ !", "¡ !" },
		{ langs.mul, "¡", "¡" },
		{ langs.grc, "Πηληῐ̈ᾰ́δης", "Πηληϊάδης" },
		{ langs.ar, "العَرَبِيَّة", "العربية" },
		{ langs.ar, "ٱ", "ٱ" }, -- special case: alif waṣla
		{ langs.ar, "ـُ", "ـُ" }, -- special case: taṭwīl with vowel diacritic
	}
	
	self:iterate(examples, self:check("makeEntryName"))
end

function tests:test_makeSortKey()
	local examples = {
		"diacritic removal",
		{ langs.grc, "Πηληῐ̈ᾰ́δης", "ΠΗΛΗΙΑΔΗΣ" },
		{ langs.nv, "shį́į́dą́ą́ʼ", "SHIIDAA" },
		"dedicated sortkey modules",
		{ langs.vi, "Tuyên ngôn toàn thế giới về nhân quyền của Liên Hợp Quốc", "TUYE₂N NGO₂N TOAN1 THE₂4 GIO₃I4 VE₂1 NHA₂N QUYE₂N1 CUA2 LIE₂N HO₃P5 QUO₂C4" },
		{ langs.zh, "命裡有時終須有,命裡無時莫強求", "口05衣07月02日06糸05頁03月02,口05衣07火08日06艸07弓08水02" },
		{ langs.zh, "⿺辶⿳穴⿲月⿱⿲幺言幺⿲長馬長刂心⿺辶⿳穴⿲月⿱⿲幺言幺⿲長馬長刂心麵", "辵54辵54麥09" },
		"dotted and dotless i",
		{ langs.tr, "İzmir", "İZMİR" },
		{ langs.tr, "ışık", "IŞIK" }
	}
	self:iterate(examples, self:check("makeSortKey"))
end

function tests:test_getWikipediaArticle()
	local examples = {
		{"en", "English language"},
		{"af", "Afrikaans"},
		{"ae", "Avestan"},
		{"ht", "Haitian Creole"},
		{"ase", "American Sign Language"},
		{"dv", "Maldivian language"},
		{"eo", "Esperanto"},
		{"goh", "Old High German"},
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals(lang, langs[lang]:getWikipediaArticle(), expected)
	end)
end

function tests:test_makeWikipediaLink()
	local examples = {
		{"en", "[[w:English language|English]]"},
		{"af", "[[w:Afrikaans|Afrikaans]]"},
		{"ae", "[[w:Avestan|Avestan]]"},
	}
	
	self:iterate(examples, function(self, lang, expected)
		self:equals(lang, langs[lang]:makeWikipediaLink(), expected, {nowiki=1})
	end)
end

function tests:test_getFamily()
	local examples = {
		{"en", "gmw"},
		{"ht", "crp"},
		{"ase", "sgn"}
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals(lang, langs[lang]:getFamily():getCode(), expected)
	end)
end

function tests:test_getScriptCodes()
	local examples = {
		{"en", {"Latn", "Brai", "Shaw", "Dsrt"}},
		{"ht", {"Latn"}},
		{"ase", {"Sgnw"}}
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals_deep(lang, langs[lang]:getScriptCodes(), expected)
	end)
end

function tests:test_getOtherNames()
	local examples = {
		{"ht", {"Creole", "Haitian", "Kreyòl"}},
		{"ase", {"Ameslan", "ASL"}}
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals_deep(lang, langs[lang]:getOtherNames(), expected)
	end)
end

function tests:test_getCategoryName()
	local examples = {
		{"en", "English language"},
		{"af", "Afrikaans language"},
		{"av", "Avar language"},
		{"ht", "Haitian Creole language"},
		{"ase", "American Sign Language"}
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals(lang, langs[lang]:getCategoryName(), expected)
	end)
end

function tests:test_getWikidataItem()
	local examples = {
		{"en", "Q1860"},
		{"eo", "Q143"},
		{"aql-pro", "Q18389588"},
		{"mkh-ban-pro", nil},
		
	}

	self:iterate(examples, function(self, lang, expected)
		self:equals(lang, langs[lang]:getWikidataItem(), expected)
	end)
end

function tests:test_toJSON() 
	self:equals('en-toJSON', langs.en:toJSON(), [[{"ancestors" : ["enm"], "code" : "en", "canonicalName" : "English", "wikimediaLanguages" : ["en", "simple"], "wikidataItem" : "Q1860", "scripts" : ["Latn", "Brai", "Shaw", "Dsrt"], "family" : "gmw", "otherNames" : ["Modern English", "New English", "Hawaiian Creole English", "Hawai'ian Creole English", "Hawaiian Creole", "Hawai'ian Creole", "Polari", "Yinglish"], "categoryName" : "English language", "type" : "regular"}]])
end

for k, v in require "Module:table".sortedPairs(tests) do
	if type(k) == "string" and k:sub(1, 5) == "test_" then
		local new_key = k:gsub('^test_(.+)$', 'testcases for <code>%1</code>')
		tests[new_key], tests[k] = v, nil
	end
end

return tests
"https://si.wiktionary.org/w/index.php?title=Module:languages/sandbox/testcases&oldid=55033" වෙතින් සම්ප්‍රවේශනය කෙරිණි