Module:List/testcases
Appearance
![]() | This is the test cases page for the module Module:List. Results of the test cases. |
-- 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=3', '<div class="hlist" style="margin-left:0em;"><ol start="2" style="counter-reset:listitem 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><ul><li> foo </li><li> bar </li></ul></div>'},
{'|foo|bar', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
{'|', ''},
{'| | ', ''},
{'| | bar ', '<div><ul><li> bar </li></ul></div>'},
{'|foo|bar|style = font-size: 90% ', '<div style="font-size: 90%;"><ul><li>foo</li><li>bar</li></ul></div>'},
{'|foo|bar|style=', '<div><ul><li>foo</li><li>bar</li></ul></div>'},
}, {nowiki = true})
end
return p