Difference between revisions of "Module:List/testcases"

From blackwiki
Jump to navigation Jump to search
blackwiki>Mr. Stradivarius
(start rewriting the test cases)
blackwiki>Mr. Stradivarius
(add item value tests)
Line 24: Line 24:
 
-- Styles
 
-- Styles
 
d.arbitraryStyle = 'text-align: right'
 
d.arbitraryStyle = 'text-align: right'
 +
d.arbitraryValue = 'some value'
  
 
-- Parameter names
 
-- Parameter names
 
d.itemStyleParam1 = 'item_style1'
 
d.itemStyleParam1 = 'item_style1'
 +
d.itemValueParam1 = 'item_value1'
  
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
Line 51: Line 53:
 
local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemStyleParam1] = d.arbitraryStyle})
 
local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemStyleParam1] = d.arbitraryStyle})
 
self:assertEquals(d.arbitraryStyle, data.items[1].style)
 
self:assertEquals(d.arbitraryStyle, data.items[1].style)
 +
end
 +
 +
function suite:testDataItemStyleNoContent()
 +
local data = mList.makeListData(d.bulletedFunc, {[d.itemStyleParam1] = d.arbitraryStyle})
 +
self:assertEquals(nil, data.items[1])
 +
end
 +
 +
function suite:testDataItemValue()
 +
local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemValueParam1] = d.arbitraryValue})
 +
self:assertEquals(d.arbitraryValue, data.items[1].value)
 +
end
 +
 +
function suite:testDataItemValueNoContent()
 +
local data = mList.makeListData(d.bulletedFunc, {[d.itemValueParam1] = d.arbitraryValue})
 +
self:assertEquals(nil, data.items[1])
 
end
 
end
  
 
return suite
 
return suite

Revision as of 02:38, 23 May 2014

Documentation for this module may be created at Module:List/testcases/doc

-- Unit tests for [[Module:List]]. Click talk page to run tests.

local mList = require('Module:List/sandbox')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

--------------------------------------------------------------------------------
-- Default values
--------------------------------------------------------------------------------

local d = {}

-- Function names
d.bulletedFunc = 'bulleted'
d.unbulletedFunc = 'unbulleted'
d.horizontalFunc = 'horizontal'
d.orderedFunc = 'ordered'
d.horizontalOrderedFunc = 'horizontal_ordered'

-- List items
d.item1 = 'Foo'
d.item2 = 'Bar'

-- Styles
d.arbitraryStyle = 'text-align: right'
d.arbitraryValue = 'some value'

-- Parameter names
d.itemStyleParam1 = 'item_style1'
d.itemValueParam1 = 'item_value1'

--------------------------------------------------------------------------------
-- Test makeListData
--------------------------------------------------------------------------------

function suite:testDataBlank()
	local data = mList.makeListData(d.bulletedFunc, {})
	self:assertEquals('table', type(data))
end

function suite:testDataOneItem()
	local data = mList.makeListData(d.bulletedFunc, {d.item1})
	self:assertEquals(d.item1, data.items[1].content)
end

function suite:testDataTwoItems()
	local data = mList.makeListData(d.bulletedFunc, {d.item1, d.item2})
	self:assertEquals(d.item1, data.items[1].content)
	self:assertEquals(d.item2, data.items[2].content)
end

function suite:testDataItemStyle()
	local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemStyleParam1] = d.arbitraryStyle})
	self:assertEquals(d.arbitraryStyle, data.items[1].style)
end

function suite:testDataItemStyleNoContent()
	local data = mList.makeListData(d.bulletedFunc, {[d.itemStyleParam1] = d.arbitraryStyle})
	self:assertEquals(nil, data.items[1])
end

function suite:testDataItemValue()
	local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemValueParam1] = d.arbitraryValue})
	self:assertEquals(d.arbitraryValue, data.items[1].value)
end

function suite:testDataItemValueNoContent()
	local data = mList.makeListData(d.bulletedFunc, {[d.itemValueParam1] = d.arbitraryValue})
	self:assertEquals(nil, data.items[1])
end

return suite