Module:auto cat/testcases

Long Wiktionary

8 tests failed. (refresh)

Text Expected Actual
test_family_cat:
Failed Indo-European languages family cat topic cat
Failed Terms derived from Romance languages poscatboiler topic cat
Passed Computer languages topic cat topic cat
Passed fr:Computer languages topic cat topic cat
Failed Terms derived from creole or pidgin languages poscatboiler topic cat
Passed Extinct languages topic cat topic cat
Failed Mixed languages family cat topic cat
Failed Terms derived from substrate languages poscatboiler topic cat
Script error during testing: Module:auto_cat:32: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
	[C]: ?
	[C]: in function 'pairs'
	Module:auto_cat:32: in function 'add_args'
	Module:auto_cat:116: in function 'handler'
	Module:auto_cat:253: in function 'test'
	Module:auto_cat/testcases:7: in function 'check'
	Module:auto_cat/testcases:36: in function <Module:auto_cat/testcases:26>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:304: in function <Module:UnitTests:266>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
Text Expected Actual
test_langcatboiler:
Passed Java programming language topic cat topic cat
Script error during testing: Module:auto_cat:32: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
	[C]: ?
	[C]: in function 'pairs'
	Module:auto_cat:32: in function 'add_args'
	Module:auto_cat:127: in function 'handler'
	Module:auto_cat:253: in function 'test'
	Module:auto_cat/testcases:7: in function 'check'
	Module:auto_cat/testcases:21: in function <Module:auto_cat/testcases:17>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:304: in function <Module:UnitTests:266>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
Text Expected Actual
test_language_splitter:
Script error during testing: Module:auto_cat:32: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
	[C]: ?
	[C]: in function 'pairs'
	Module:auto_cat:32: in function 'add_args'
	Module:auto_cat:116: in function 'handler'
	Module:auto_cat:253: in function 'test'
	Module:auto_cat/testcases:7: in function 'check'
	Module:auto_cat/testcases:43: in function <Module:auto_cat/testcases:40>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:304: in function <Module:UnitTests:266>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

local tests = require("Module:UnitTests")
local m_auto = require("Module:auto cat")

function tests:check(title, expected)
	self:equals(
		"[[:Category:" .. title .. "|" .. title .. "]]",
		m_auto.test(title),
		expected,
		{
			display = function(template)
				return "[[Template:" .. template .. "|" .. template .. "]]"
			end
		}
	)
end

function tests:test_langcatboiler()
	-- langcatboiler not enabled by default because it requires additional args
	-- self:check('German language', 'langcatboiler')
	self:check('Java programming language', 'topic cat')
	self:check('Nouns by language', 'poscatboiler')
	-- langcatboiler not enabled by default because it requires additional args
	-- self:check('American Sign Language', 'langcatboiler')
end

function tests:test_family_cat()
	self:check('Indo-European languages', 'family cat')
	self:check('Terms derived from Romance languages', 'poscatboiler')
	self:check('Computer languages', 'topic cat')
	self:check('fr:Computer languages', 'topic cat')
	self:check('Terms derived from creole or pidgin languages', 'poscatboiler')
	-- self:check('Egyptian hieroglyphic script languages', 'scriptcatboiler')
	self:check('Extinct languages', 'topic cat')
	self:check('Mixed languages', 'family cat')
	self:check('Terms derived from substrate languages', 'poscatboiler')
	self:check('English given names from Austronesian languages', 'name cat')
	self:check('English given names', 'poscatboiler')
end

function tests:test_language_splitter()
	-- Autocat must grab "Norwegian Nynorsk" and not "Norwegian" as the language
	-- name here.
	self:check('Norwegian Nynorsk words prefixed with des-', 'prefix cat')
end

return tests