Misplaced Pages

Module:Wikt-lang/testcases

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
< Module:Wikt-lang

This is an old revision of this page, as edited by Gonnym (talk | contribs) at 13:22, 5 December 2024. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 13:22, 5 December 2024 by Gonnym (talk | contribs)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
This is the test cases page for the module Module:Wikt-lang. Results of the test cases.
-- Unit tests for ]. Click talk page to run tests.
local p = require('Module:UnitTests')
local m_Language = require('Module:Wikt-lang')
local name_from_tag = require('Module:Lang')._name_from_tag

function p:test_1_link()
	self:preprocess_equals_preprocess_many('{{#invoke:Wikt-lang/sandbox|main|', '}}', '{{#invoke:Wikt-lang|wiktlang|', '}}',
		{
			{"grc|δημοκρᾰτῐ́ᾱ"},
			{"ha|àzàhàr̃iyyā̀"},
			{"la|coëō"},
			{"nci|Quetzalcōātl"},
			{"ru|ру́сский язы́к"},
			{"he|שלום"},
			{"sh|ćá|ća"},														-- fake word with c-acute and tonal acute; add a real word if you know one
		}, {nowiki=1})
end

function p:test_2_private_codes()
	self:preprocess_equals_preprocess_many('{{#invoke:Wikt-lang/sandbox|main|', '}}', '{{#invoke:Wikt-lang|wiktlang|', '}}',
		{
			{"cel-x-proto|*beru"}, -- this private code is taken from Module:Lang's data
			{"cel-x-bryproto|test"},
			{"gem-x-proto|test"},
			{"gmw-x-proto|test"},
			{"gmq-x-gut|test"},
			{"grk-x-proto|test́к"},
			{"ine-x-bsproto|test"},
			{"ine-x-proto|test"},
			{"non-x-proto|test"},
			{"poz-x-polproto|test"},
			{"sem-x-proto|test"},
			{"sla-x-proto|test"},
			{"zle-x-ort|test"},
		}, {nowiki=1})
end

local function get_test_patterns(main)
	local data = require('Module:Wikt-lang/data/sandbox')
	local language_codes = {}

	if main then
		for code, values in pairs(data) do
			table.insert(language_codes, {code, values.name})
		end
	end

	local function comp(a, b)
		return a < b
	end

	table.sort(language_codes, comp)
	return language_codes
end

function p:test_3_all_database_links()
	local wiktionary_test_patterns = get_test_patterns(true)
	local full_test_patterns = {}

	for i = 1, #wiktionary_test_patterns do
		local code = wiktionary_test_patterns
		table.insert(full_test_patterns, {code .. "|test", code .. "|test"})
	end
	
	self:preprocess_equals_preprocess_many('{{#invoke:Wikt-lang/sandbox|main|', '}}', '{{#invoke:Wikt-lang|wiktlang|no_cat=yes|', '}}', full_test_patterns, {nowiki=1})
end

function p:test_4_errors()
	self:preprocess_equals_preprocess_many('{{#invoke:Wikt-lang/sandbox|main|', '}}', '{{#invoke:Wikt-lang|wiktlang|', '}}',
		{
			-- not a valid code
			{"abcd|test"},
			
			-- not a valid private code
			{"abc-x-proto|test"},

			-- no code
			{""},
			
			-- text, but no code
			{"|test"},

			-- display text, but no code
			{"||test"},
			
			-- no text
			{"la|"},
			
			-- no link text
			{"la||test"},

		}, {nowiki=1})
end

return p
Category: