Difference between revisions of "Module:List/testcases"
Jump to navigation
Jump to search
blackwiki>Mr. Stradivarius (add list style tests) |
blackwiki>Mr. Stradivarius (add numbering and list tag tests) |
||
| Line 29: | Line 29: | ||
d.itemStyleParam1 = 'item_style1' | d.itemStyleParam1 = 'item_style1' | ||
d.itemValueParam1 = 'item_value1' | d.itemValueParam1 = 'item_value1' | ||
| + | |||
| + | -- Attributes | ||
| + | d.arbitraryStart = '5' | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
| Line 78: | Line 81: | ||
local data = mList.makeListData(d.bulletedFunc, {list_style = d.arbitraryStyle}) | local data = mList.makeListData(d.bulletedFunc, {list_style = d.arbitraryStyle}) | ||
self:assertEquals(d.arbitraryStyle, data.listStyle) | self:assertEquals(d.arbitraryStyle, data.listStyle) | ||
| + | end | ||
| + | |||
| + | function suite:testDataStart() | ||
| + | local data = mList.makeListData(d.bulletedFunc, {start = d.arbitraryStart}) | ||
| + | self:assertEquals(d.arbitraryStart, data.start) | ||
| + | end | ||
| + | |||
| + | function suite:testDataHorizontalNumberingFix() | ||
| + | local data = mList.makeListData(d.horizontalOrderedFunc, {start = '5'}) | ||
| + | self:assertEquals('5', data.start) | ||
| + | self:assertEquals('listitem 4', data.counterReset) | ||
| + | end | ||
| + | |||
| + | function suite:testDataHorizontalNumberingFixBadInput() | ||
| + | local data = mList.makeListData(d.horizontalOrderedFunc, {start = 'foo'}) | ||
| + | self:assertEquals('foo', data.start) | ||
| + | self:assertEquals(nil, data.counterReset) | ||
| + | end | ||
| + | |||
| + | function suite:testDataHorizontalNumberingFixNumberInput() | ||
| + | local data = mList.makeListData(d.horizontalOrderedFunc, {start = 6}) | ||
| + | self:assertEquals(6, data.start) | ||
| + | self:assertEquals('listitem 5', data.counterReset) | ||
| + | end | ||
| + | |||
| + | function suite:testDataListTag() | ||
| + | self:assertEquals('ul', mList.makeListData(d.bulletedFunc, {}).listTag) | ||
| + | self:assertEquals('ul', mList.makeListData(d.horizontalFunc, {}).listTag) | ||
| + | self:assertEquals('ul', mList.makeListData(d.unbulletedFunc, {}).listTag) | ||
| + | self:assertEquals('ol', mList.makeListData(d.orderedFunc, {}).listTag) | ||
| + | self:assertEquals('ol', mList.makeListData(d.horizontalOrderedFunc, {}).listTag) | ||
end | end | ||
Revision as of 10:46, 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'
-- Attributes
d.arbitraryStart = '5'
--------------------------------------------------------------------------------
-- 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:testDataItemStyle1()
local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemStyleParam1] = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.items[1].style)
end
function suite:testDataItemStyle1NoContent()
local data = mList.makeListData(d.bulletedFunc, {[d.itemStyleParam1] = d.arbitraryStyle})
self:assertEquals(nil, data.items[1])
end
function suite:testDataItemValue1()
local data = mList.makeListData(d.bulletedFunc, {d.item1, [d.itemValueParam1] = d.arbitraryValue})
self:assertEquals(d.arbitraryValue, data.items[1].value)
end
function suite:testDataItemValue1NoContent()
local data = mList.makeListData(d.bulletedFunc, {[d.itemValueParam1] = d.arbitraryValue})
self:assertEquals(nil, data.items[1])
end
function suite:testDataItemStyle()
local data = mList.makeListData(d.bulletedFunc, {item_style = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.itemStyle)
end
function suite:testDataListStyle()
local data = mList.makeListData(d.bulletedFunc, {list_style = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.listStyle)
end
function suite:testDataStart()
local data = mList.makeListData(d.bulletedFunc, {start = d.arbitraryStart})
self:assertEquals(d.arbitraryStart, data.start)
end
function suite:testDataHorizontalNumberingFix()
local data = mList.makeListData(d.horizontalOrderedFunc, {start = '5'})
self:assertEquals('5', data.start)
self:assertEquals('listitem 4', data.counterReset)
end
function suite:testDataHorizontalNumberingFixBadInput()
local data = mList.makeListData(d.horizontalOrderedFunc, {start = 'foo'})
self:assertEquals('foo', data.start)
self:assertEquals(nil, data.counterReset)
end
function suite:testDataHorizontalNumberingFixNumberInput()
local data = mList.makeListData(d.horizontalOrderedFunc, {start = 6})
self:assertEquals(6, data.start)
self:assertEquals('listitem 5', data.counterReset)
end
function suite:testDataListTag()
self:assertEquals('ul', mList.makeListData(d.bulletedFunc, {}).listTag)
self:assertEquals('ul', mList.makeListData(d.horizontalFunc, {}).listTag)
self:assertEquals('ul', mList.makeListData(d.unbulletedFunc, {}).listTag)
self:assertEquals('ol', mList.makeListData(d.orderedFunc, {}).listTag)
self:assertEquals('ol', mList.makeListData(d.horizontalOrderedFunc, {}).listTag)
end
--------------------------------------------------------------------------------
-- Test deprecated parameters
--------------------------------------------------------------------------------
function suite:testDeprecatedLiStyle()
local data = mList.makeListData(d.bulletedFunc, {li_style = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.itemStyle)
end
function suite:testDeprecatedLiStyle1()
local data = mList.makeListData(d.bulletedFunc, {d.item1, li_style1 = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.items[1].style)
end
function suite:testDeprecatedLiStyle1NoContent()
local data = mList.makeListData(d.bulletedFunc, {li_style1 = d.arbitraryStyle})
self:assertEquals(nil, data.items[1])
end
function suite:testDeprecatedUlStyle()
local data = mList.makeListData(d.bulletedFunc, {ul_style = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.listStyle)
end
function suite:testDeprecatedOlStyle()
local data = mList.makeListData(d.bulletedFunc, {ol_style = d.arbitraryStyle})
self:assertEquals(d.arbitraryStyle, data.listStyle)
end
--------------------------------------------------------------------------------
-- Test renderList
--------------------------------------------------------------------------------
return suite