Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:ScribuntoUnit/testcases

From Wikipedia, the free encyclopedia
local ScribuntoUnit = require('Module:ScribuntoUnit')

local p = {}

--------------------------------------------------------------------------------
-- Test assertEquals

local function testAssertEquals(msg, expected, actual, shouldFail)
	local out = msg .. ' '
	local errmsg = ''

	local success, details = pcall(function ()
		local suite = ScribuntoUnit:new()
		suite:assertEquals(expected, actual)
	end)
	
	if not success and (type(details) ~= 'table' or not details.ScribuntoUnit) then -- a real error, not a failed assertion
		local errmsg = 'Lua error: ' .. tostring(details)
	end
	
	if success == not shouldFail then
		out = out .. 'OK'
	else
		out = out .. 'FAIL'	.. (errmsg and ' -- ' .. errmsg or '')			
	end

	return out
end
	
function p.testAssertEqualsWithEqualStrings()
	
	return testAssertEquals(
		'Testing that assertEquals does not throw error for equal strings...',
		'abc',
		'abc',
		false
	)

end

function p.testAssertEqualsWithUnequalStrings()
	
	return testAssertEquals(
		'Testing that assertEquals throws error for unequal strings...',
		'abc',
		'def',
		true
	)

end

--------------------------------------------------------------------------------
-- TODO: Test more methods
--

return p