Module:Int/testcases
Documentation for this module may be created at Module:Int/testcases/doc
local p = require('Module:ScribuntoUnit'):new() local m = require('Module:Int') local function callWithArgs(msg, lang, args, missing) 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, missing = missing } }) 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 function p:testRenderIntMessageWithMissingFallback() self:assertEquals( '⧼Module:Int/test-missing⧽', callWithArgs('Module:Int/test-missing'), "parameter <code>|missing=</code> unset" ) self:assertEquals( '⧼Module:Int/test-missing⧽', callWithArgs('Module:Int/test-missing', nil, nil, ''), "parameter <code>|missing=</code> set to the empty string" ) self:assertEquals( 'test-missing', callWithArgs('Module:Int/test-missing', nil, nil, 'test-missing'), "parameter <code>|missing=...</code> set" ) end return p