Module:Category handler/testcases: Difference between revisions
Appearance
Content deleted Content added
add a couple more |
start rewriting the tests |
||
Line 1: | Line 1: | ||
-- Unit tests for [[Module:Category handler]]. Click talk page to run tests. |
-- Unit tests for [[Module:Category handler]]. Click talk page to run tests. |
||
local |
local m_category_handler = require('Module:Category handler/sandbox') |
||
local chmain = m_category_handler._main |
|||
local ScribuntoUnit = require('Module:ScribuntoUnit') |
|||
local suite = ScribuntoUnit:new() |
|||
-- Define table of defaults |
|||
function p:test_template_testcases_page() |
|||
local d = {} |
|||
self:preprocess_equals_preprocess_many('{{#invoke:Category handler|main', '}}', '{{category handler', '}}', { |
|||
d.absent = nil |
|||
{[[]]}, |
|||
d.blank = '' |
|||
{[[ |
|||
d.category = 'Category:Somecat' |
|||
d.category1 = 'Category:Somecat1' |
|||
{[[ |
|||
d.category2 = 'Category:Somecat2' |
|||
| Somecat |
|||
d.category3 = 'Category:Somecat3' |
|||
| page = Somearticle]]}, |
|||
d.category4 = 'Category:Somecat4' |
|||
{[[ |
|||
d.article = 'Somearticle' |
|||
| Somecat |
|||
d.file = 'File:Example.png' |
|||
d.yes = 'yes' |
|||
{[[ |
|||
| Somecat |
|||
-------------------------------------------------------------------------------- |
|||
| page = File:Example/test |
|||
-- Test nil |
|||
| nocat = ]]}, |
|||
-------------------------------------------------------------------------------- |
|||
{[[ |
|||
| Somecat |
|||
function suite:test_nil() |
|||
| page = File:Example/test |
|||
self:assertEquals(d.absent, chmain{nil}) |
|||
| nocat = true]]}, |
|||
end |
|||
{[[ |
|||
| main = Category:Somecat1 Category:Somecat2 |
|||
-------------------------------------------------------------------------------- |
|||
| 1 = Category:Somecat3 <!--For help, user and template space--> |
|||
-- Test defaults |
|||
| help = 1 |
|||
-------------------------------------------------------------------------------- |
|||
| user = 1 |
|||
| template = 1 |
|||
function suite:test_default_current_page() |
|||
| talk = <!--No categories on talk pages--> |
|||
-- Will test either module or module talk space, neither of which are categorised by default. |
|||
| other = Category:Somecat4 <!--For all other namespaces--> |
|||
self:assertEquals(d.absent, chmain{d.category}) |
|||
| nocat = {{{nocat|}}} <!--So "nocat=true/false" works-->]]}, |
|||
end |
|||
{[[ |
|||
| main = Category:Somecat1 Category:Somecat2 |
|||
function suite:test_default_main() |
|||
| 3 = Category:Somecat3 <!--For help, user and template space--> |
|||
self:assertEquals(d.category, chmain{d.category, page = d.article}) |
|||
| help = 3 |
|||
end |
|||
| user = 3 |
|||
| template = 3 |
|||
function suite:test_default_file() |
|||
| talk = <!--No categories on talk pages--> |
|||
self:assertEquals(d.category, chmain{d.category, page = d.file}) |
|||
| other = Category:Somecat4 <!--For all other namespaces--> |
|||
end |
|||
| nocat = {{{nocat|}}} <!--So "nocat=true/false" works-->]]}, |
|||
function suite:test_default_file_nocat_true() |
|||
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = true}) |
|||
end |
|||
function suite:test_default_file_nocat_blank() |
|||
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = ''}) |
|||
end |
|||
function suite:test_default_file_nocat_yes() |
|||
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = d.yes}) |
|||
end |
|||
-------------------------------------------------------------------------------- |
|||
-- Test numbered parameters |
|||
-------------------------------------------------------------------------------- |
|||
function suite:test_numbered_main() |
|||
self:assertEquals(d.category, chmain{ |
|||
[1] = d.category, |
|||
main = 1, |
|||
page = d.article |
|||
}) |
|||
end |
|||
function suite:test_numbered_two_params() |
|||
self:assertEquals(d.category2, chmain{ |
|||
[1] = d.category1, |
|||
[2] = d.category2, |
|||
main = 1, |
|||
file = 2, |
|||
page = d.file |
|||
}) |
|||
end |
|||
-------------------------------------------------------------------------------- |
|||
-- Test overriding defaults |
|||
-------------------------------------------------------------------------------- |
|||
function suite:test_numbered_main() |
|||
self:assertEquals(d.absent, chmain{ |
|||
main = d.category, |
|||
page = d.file |
|||
}) |
|||
end |
|||
--[=[ |
|||
{[[ |
{[[ |
||
| main = Category:Somecat1 Category:Somecat2 |
| main = Category:Somecat1 Category:Somecat2 |
||
Line 188: | Line 238: | ||
}) |
}) |
||
end |
end |
||
return p |
|||
--]=] |
|||
return suite |
Revision as of 07:28, 10 April 2014
![]() | This is the test cases page for the module Module:Category handler. Results of the test cases. |
-- Unit tests for [[Module:Category handler]]. Click talk page to run tests.
local m_category_handler = require('Module:Category handler/sandbox')
local chmain = m_category_handler._main
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
-- Define table of defaults
local d = {}
d.absent = nil
d.blank = ''
d.category = 'Category:Somecat'
d.category1 = 'Category:Somecat1'
d.category2 = 'Category:Somecat2'
d.category3 = 'Category:Somecat3'
d.category4 = 'Category:Somecat4'
d.article = 'Somearticle'
d.file = 'File:Example.png'
d.yes = 'yes'
--------------------------------------------------------------------------------
-- Test nil
--------------------------------------------------------------------------------
function suite:test_nil()
self:assertEquals(d.absent, chmain{nil})
end
--------------------------------------------------------------------------------
-- Test defaults
--------------------------------------------------------------------------------
function suite:test_default_current_page()
-- Will test either module or module talk space, neither of which are categorised by default.
self:assertEquals(d.absent, chmain{d.category})
end
function suite:test_default_main()
self:assertEquals(d.category, chmain{d.category, page = d.article})
end
function suite:test_default_file()
self:assertEquals(d.category, chmain{d.category, page = d.file})
end
function suite:test_default_file_nocat_true()
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = true})
end
function suite:test_default_file_nocat_blank()
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = ''})
end
function suite:test_default_file_nocat_yes()
self:assertEquals(d.absent, chmain{d.category, page = d.file, nocat = d.yes})
end
--------------------------------------------------------------------------------
-- Test numbered parameters
--------------------------------------------------------------------------------
function suite:test_numbered_main()
self:assertEquals(d.category, chmain{
[1] = d.category,
main = 1,
page = d.article
})
end
function suite:test_numbered_two_params()
self:assertEquals(d.category2, chmain{
[1] = d.category1,
[2] = d.category2,
main = 1,
file = 2,
page = d.file
})
end
--------------------------------------------------------------------------------
-- Test overriding defaults
--------------------------------------------------------------------------------
function suite:test_numbered_main()
self:assertEquals(d.absent, chmain{
main = d.category,
page = d.file
})
end
--[=[
{[[
| main = Category:Somecat1 Category:Somecat2
| 3 = Category:Somecat3 <!--For help, user and template space-->
| help = 3
| user = 3
| template = 3
| talk = <!--No categories on talk pages-->
| other = Category:Somecat4 <!--For all other namespaces-->
| nocat = {{{nocat|}}} <!--So "nocat=true/false" works-->
| page = Somearticle]]},
{[[
| other = Somecat]]},
{[[
| other = Somecat
| page = User talk:Example/Archive 5]]},
{[[
| other = Somecat
| page = User talk:Example/Archive 5
| nocat = false]]},
{[[
| other = Somecat
| categories = no]]},
{[[
| other = Somecat
| page = User talk:Example/Archive 5
| categories = yes]]},
{[[
| other = Somecat
| category2 = no]]},
{[[
| other = Somecat
| category2 = ]]},
{[[
| other = Somecat
| category2 = ¬]]},
{[[
| other = Somecat
| category2 = {{{category|¬}}}]]},
{[[
| other = Somecat
| page = User talk:Example/Archive 5
| category2 = yes]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = no]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = no
| page = User:Example]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = no
| page = User:Example/test]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = only]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = only
| page = User:Example]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = only
| page = User:Example/test]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = no
| page = User:Example]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = no
| page = User:Example/test]]},
{[[
| main = Category:Somecat1
| other = Category:Somecat2
| subpage = only
| page = User:Example/test]]},
})
end
function p:test_blacklist()
self:preprocess_equals_preprocess_many('{{#invoke:Category handler|main', '}}', '{{category handler', '}}', {
{[[
| main = Category:Somecat1
| page = Main Page]]},
{[[
| talk = Category:Somecat1
| page = Talk:Main Page]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Cascade-protected items]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Cascade-protected items/]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Cascade-protected items/Foo]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Cascade-protected itemsFoo]]},
{[[
| talk = Category:Somecat1
| page = Wikipedia talk:Cascade-protected items]]},
{[[
| user = Category:Somecat1
| page = User:UBX]]},
{[[
| user = Category:Somecat1
| page = User talk:UBX]]},
{[[
| user = Category:Somecat1
| page = User:UBX/Sociology]]},
{[[
| user = Category:Somecat1
| page = User:UBX/Userboxes]]},
{[[
| user = Category:Somecat1
| page = User talk:UBX/Userboxes]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Template messages]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Template messages/]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Template messagesFoo]]},
{[[
| wikipedia = Category:Somecat1
| page = Wikipedia:Template messages/Cleanup]]},
{[[
| talk = Category:Somecat1
| page = Talk:Jerusalem/Archive 2]]},
{[[
| talk = Category:Somecat1
| page = Talk:Jerusalem/archive 2]]},
{[[
| talk = Category:Somecat1
| page = Talk:Jerusalem]]},
})
end
--]=]
return suite