Jump to content

Module:List/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mr. Stradivarius (talk | contribs) at 02:32, 7 January 2014 (set the nowiki option for the whitespace tests). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:List]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_bulleted()
    self:preprocess_equals_many('{{#invoke:List/sandbox|bulleted', '}}', {
		{'', ''},
		{'|foo', '<div><ul><li>foo</li></ul></div>'},
		{'|foo|bar', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|class=plainlinks', '<div class="plainlinks"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|style=font-weight: bold', '<div style="font-weight: bold;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style=font-weight: bold', '<div><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style=font-weight: bold', '<div><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|item_style1=font-weight: bold', '<div><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style2=font-weight: bold', '<div><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|ul_style=font-weight: bold', '<div><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|ol_style=font-weight: bold', '<div><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style=font-weight: bold', '<div><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|li_style1=font-weight: bold', '<div><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style2=font-weight: bold', '<div><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|type=i', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style_type=lower-greek', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list-style-type=lower-greek', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|start=2', '<div><ul start="2"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|indent=2', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
	})
end

function p:test_unbulleted()
    self:preprocess_equals_many('{{#invoke:List/sandbox|unbulleted', '}}', {
		{'', ''},
		{'|foo', '<div class="plainlist"><ul><li>foo</li></ul></div>'},
		{'|foo|bar', '<div class="plainlist"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|class=plainlinks', '<div class="plainlist plainlinks"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|style=font-weight: bold', '<div class="plainlist" style="font-weight: bold;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style=font-weight: bold', '<div class="plainlist"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style=font-weight: bold', '<div class="plainlist"><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|item_style1=font-weight: bold', '<div class="plainlist"><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style2=font-weight: bold', '<div class="plainlist"><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|ul_style=font-weight: bold', '<div class="plainlist"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|ol_style=font-weight: bold', '<div class="plainlist"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style=font-weight: bold', '<div class="plainlist"><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|li_style1=font-weight: bold', '<div class="plainlist"><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style2=font-weight: bold', '<div class="plainlist"><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|type=i', '<div class="plainlist"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style_type=lower-greek', '<div class="plainlist"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list-style-type=lower-greek', '<div class="plainlist"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|start=2', '<div class="plainlist"><ul start="2"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|indent=2', '<div class="plainlist"><ul><li>foo</li><li>bar</li></ul></div>'},
	})
end

function p:test_horizontal()
    self:preprocess_equals_many('{{#invoke:List/sandbox|horizontal', '}}', {
		{'', ''},
		{'|foo', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li></ul></div>'},
		{'|foo|bar', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|class=plainlinks', '<div class="hlist plainlinks" style="margin-left:0em;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|style=font-weight: bold', '<div class="hlist" style="margin-left:0em;font-weight: bold;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|item_style1=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|item_style2=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|ul_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|ol_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul style="font-weight: bold;"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|li_style1=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li style="font-weight: bold;">foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|li_style2=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li style="font-weight: bold;">bar</li></ul></div>'},
		{'|foo|bar|type=i', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list_style_type=lower-greek', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|list-style-type=lower-greek', '<div class="hlist" style="margin-left:0em;"><ul><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|start=2', '<div class="hlist" style="margin-left:0em;"><ul start="2"><li>foo</li><li>bar</li></ul></div>'},
		{'|foo|bar|indent=2', '<div class="hlist" style="margin-left:3.2em;"><ul><li>foo</li><li>bar</li></ul></div>'},
	})
end

function p:test_ordered()
    self:preprocess_equals_many('{{#invoke:List/sandbox|ordered', '}}', {
		{'', ''},
		{'|foo', '<div><ol><li>foo</li></ol></div>'},
		{'|foo|bar', '<div><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|class=plainlinks', '<div class="plainlinks"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|style=font-weight: bold', '<div style="font-weight: bold;"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list_style=font-weight: bold', '<div><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|item_style=font-weight: bold', '<div><ol><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|item_style1=font-weight: bold', '<div><ol><li style="font-weight: bold;">foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|item_style2=font-weight: bold', '<div><ol><li>foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|ul_style=font-weight: bold', '<div><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|ol_style=font-weight: bold', '<div><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|li_style=font-weight: bold', '<div><ol><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|li_style1=font-weight: bold', '<div><ol><li style="font-weight: bold;">foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|li_style2=font-weight: bold', '<div><ol><li>foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|type=i', '<div><ol type="i"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list_style_type=lower-greek', '<div><ol style="list-style-type:lower-greek;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list-style-type=lower-greek', '<div><ol style="list-style-type:lower-greek;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|start=2', '<div><ol start="2"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|indent=2', '<div><ol><li>foo</li><li>bar</li></ol></div>'},
	})
end

function p:test_horizontal_ordered()
    self:preprocess_equals_many('{{#invoke:List/sandbox|horizontal_ordered', '}}', {
		{'', ''},
		{'|foo', '<div class="hlist" style="margin-left:0em;"><ol><li>foo</li></ol></div>'},
		{'|foo|bar', '<div class="hlist" style="margin-left:0em;"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|class=plainlinks', '<div class="hlist plainlinks" style="margin-left:0em;"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|style=font-weight: bold', '<div class="hlist" style="margin-left:0em;font-weight: bold;"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|item_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|item_style1=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li style="font-weight: bold;">foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|item_style2=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li>foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|ul_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|ol_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol style="font-weight: bold;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|li_style=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li style="font-weight: bold;">foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|li_style1=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li style="font-weight: bold;">foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|li_style2=font-weight: bold', '<div class="hlist" style="margin-left:0em;"><ol><li>foo</li><li style="font-weight: bold;">bar</li></ol></div>'},
		{'|foo|bar|type=i', '<div class="hlist" style="margin-left:0em;"><ol type="i"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list_style_type=lower-greek', '<div class="hlist" style="margin-left:0em;"><ol style="list-style-type:lower-greek;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|list-style-type=lower-greek', '<div class="hlist" style="margin-left:0em;"><ol style="list-style-type:lower-greek;"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|start=2', '<div class="hlist" style="margin-left:0em;"><ol start="2"><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|indent=2', '<div class="hlist" style="margin-left:3.2em;"><ol><li>foo</li><li>bar</li></ol></div>'},
	})
end

function p:test_whitespace()
    self:preprocess_equals_many('{{#invoke:List/sandbox|bulleted', '}}', {
		{'|  foo  ', '<div><ul><li>  foo  </li></ul></div>'},
		{'|  foo  |  bar  ', '<div><ol><li>  foo  </li><li>  bar  </li></ol></div>'},
		{'|foo|bar', '<div><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|style =  font-size: 90%;  ', '<div style="font-size: 90%;"><ol><li>foo</li><li>bar</li></ol></div>'},
		{'|foo|bar|style=', '<div><ol><li>foo</li><li>bar</li></ol></div>'},
	}, {nowiki = true})
end

return p