Přeskočit na obsah

Modul:Parse/testcases

Z Wikipedie, otevřené encyklopedie

Dokumentaci tohoto modulu lze vytvořit na stránce Modul:Parse/testcases/Dokumentace

local myModule = require 'Modul:Parse'
local ScribuntoUnit = require 'Modul:ScribuntoUnit'
local suite = ScribuntoUnit:new()

function suite:testEmptyText()
	self:assertEquals('', myModule.splitAndMap('', { a = '[[a]]' }))
	self:assertEquals('', myModule.splitAndMap(' ', { a = '[[a]]' }))
end

function suite:testTidyText()
	self:assertEquals('[[a]]', myModule.splitAndMap(' a ', { a = '[[a]]' }))
	self:assertEquals('[[a]][[a]]', myModule.splitAndMap('a,, ,a, ', { a = '[[a]]' }))
end

function suite:testReplacements()
	self:assertEquals(
		'[[a]]b[[c]]',
		myModule.splitAndMap('a,b,c', { a = '[[a]]', c = '[[c]]' })
	)
	self:assertEquals(
		'[[ab]]',
		myModule.splitAndMap('ab', { a = '[[a]]', b = '[[b]]', ab = '[[ab]]' })
	)
	local data = {}
	setmetatable(data, { __index = function (t, key) return '[[' .. key .. ']]' end })
	self:assertEquals(
		'[[a]][[b]][[c]]',
		myModule.splitAndMap('a,b,c', data)
	)
end

return suite