Module:Separated entries/testcases

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

local function callWithArgs(args, separator, conjunction, start) local frame = (mw.getCurrentFrame		:newChild{ args = args }		:newChild{ args = { separator = separator, conjunction = conjunction, start = start } }) return m.main(frame) end

local function callWithArgsBr(args, start) local frame = (mw.getCurrentFrame		:newChild{ args = args }		:newChild{ args = { start = start } }) return m.br(frame) end

local function callWithArgsComma(args, start) local frame = (mw.getCurrentFrame		:newChild{ args = args }		:newChild{ args = { start = start } }) return m.comma(frame) end

function p:testMain self:assertEquals('abc', callWithArgs({ 'a', 'b', 'c' })) self:assertEquals('a, b, c', callWithArgs({ 'a', 'b', 'c' }, ',&#32;')) self:assertEquals('a, b and c', callWithArgs({ 'a', 'b', 'c' }, ',&#32;', '&#32;and&#32;')) self:assertEquals('b and c', callWithArgs({ 'a', 'b', 'c' }, ',&#32;', '&#32;and&#32;', '2')) end

function p:testBr self:assertEquals('a b c', callWithArgsBr({ 'a', 'b', 'c' })) self:assertEquals('b c', callWithArgsBr({ 'a', 'b', 'c' }, '2')) end

function p:testComma self:assertEquals('a, b, c', callWithArgsComma({ 'a', 'b', 'c' })) self:assertEquals('b, c', callWithArgsComma({ 'a', 'b', 'c' }, '2')) end

return p