Module: Int/testcases

DCCWiki, a community DCC encyclopedia.
Jump to: navigation, search

Template:Cross2 tests failed.

Name Expected Actual
Template:Cross testRenderIntMessage View history ⧼vector-view-history⧽
Template:Cross testRenderIntMessageWithLang View history ⧼vector-view-history⧽

local p = require('Module:ScribuntoUnit'):new()
local m = require('Module:Int')

local function callWithArgs(msg, lang, args)
	local templateArgs = { msg }
	if args then
		for n, v in ipairs(args) do
			templateArgs[n+1] = v
		end
	end
	local frame = (mw.getCurrentFrame()
		:newChild{ args = templateArgs }
		:newChild{ args = { [1] = msg, lang = lang } })
	return m.renderIntMessage(frame)
end

function p:testRenderIntMessage()
	self:assertEquals('View history', callWithArgs('vector-view-history'))
	self:assertEquals('View history', callWithArgs('vector-view-history', nil, {'unused', 'data', 2.71}))
	self:assertEquals('View $1 notices', callWithArgs('notification-link-text-expand-notice-count'))
	self:assertEquals('View 1 notice', callWithArgs('notification-link-text-expand-notice-count', nil, {'1'}))
	self:assertEquals('View 1 notice', callWithArgs('notification-link-text-expand-notice-count', nil, {1}))
end

function p:testRenderIntMessageWithLang()
	self:assertEquals('View history', callWithArgs('vector-view-history', ''))
	self:assertEquals('View history', callWithArgs('vector-view-history', 'en'))
	-- Apostrophes are invalid in language codes; they should be ignored rather than throwing an error
	self:assertEquals('View history', callWithArgs('vector-view-history', '"de"'))
	self:assertEquals('Versionsgeschichte', callWithArgs('vector-view-history', 'de'))
end

return p