Difference between revisions of "Module:Namespace detect/testcases"
Jump to navigation
Jump to search
blackwiki>Mr. Stradivarius (add one more) |
blackwiki>Mr. Stradivarius (add a test for multiple word namespaces) |
||
| Line 234: | Line 234: | ||
| other = Other pages text. | | other = Other pages text. | ||
| page = Wikipedia talk:Foo]==]}, | | page = Wikipedia talk:Foo]==]}, | ||
| + | }) | ||
| + | end | ||
| + | |||
| + | function p:test_multiple_word_namespaces() | ||
| + | self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', { | ||
| + | {[==[ | ||
| + | | main = Article text. | ||
| + | | talk = Any talk page text. | ||
| + | | user = User page text. | ||
| + | | education program = Education Program pages text. | ||
| + | | other = Other pages text. | ||
| + | | page = Education Program:Foo]==]}, | ||
}) | }) | ||
end | end | ||
Revision as of 07:57, 27 October 2013
Documentation for this module may be created at Module:Namespace detect/testcases/doc
-- Example Unit tests for [[Module:Namespace detect]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local nsDetect = require('Module:Namespace detect/sandbox')._main
function p:test_template_testcases_page()
self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', {
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = ]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = main]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = talk]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = help talk]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = ]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Example/test]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = User:Example/test]]},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]]},
})
end
function p:test_new()
self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', {
{[[]]},
{[[
| main = Article text.
| talk =
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]]},
{[[
| main = Article text.
| talk =
| user = User page text.
| other = Other pages text.
| page = User:Example/test]]},
{[[
| main = Article text.
| TALK = Talk page text.
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]]},
{[[
| main = Article text.
| talk = Talk page text.
| wikipedia = Wikipedia page text.
| user = User page text.
| other = Other pages text.
| demospace = Wikipedia ]]},
{[[
| main =
| talk = talk page text with a delete character here: ""
| user = User page text.
| other = Other pages text.
| page = Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user =
| other = Other pages text.
| page = User:Example/test]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| book = Book page text.
| other = Other pages text.
| page = Book:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| image = Image page text.
| other = Other pages text.
| page = File:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| file = File page text.
| other = Other pages text.
| page = File:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| image =
| other = Other pages text.
| page = File:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| file =
| other = Other pages text.
| page = File:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| mediawiki = MediaWiki page text.
| other = Other pages text.
| page = MediaWiki:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| template = Template page text.
| other = Other pages text.
| page = Template:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| help = Help page text.
| image = Image page text.
| other = Other pages text.
| page = Help:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| category = Category page text.
| other = Other pages text.
| page = Category:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| portal = Portal page text.
| other = Other pages text.
| page = Portal:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| nonexistent = Nonexistent namespace page text.
| other = Other pages text.
| page = Nonexistent:Foo]]},
{[[
| main = Article text.
| talk = talk page text with a delete character here: ""
| user = User page text.
| nonexistent = Nonexistent namespace page text.
| other = Other pages text.
| demospace = Nonexistent]]},
})
end
function p:test_bad_titles()
self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', {
{[==[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Square [[brackets]] aren't allowed in page titles]==]},
})
end
function p:test_subject_namespaces()
self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', {
{[==[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==]},
{[==[
| subjectns = yes
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==]},
{[==[
| subjectns = no
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==]},
{[==[
| subjectns = yes
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Wikipedia talk:Foo]==]},
})
end
function p:test_multiple_word_namespaces()
self:preprocess_equals_preprocess_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', {
{[==[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| education program = Education Program pages text.
| other = Other pages text.
| page = Education Program:Foo]==]},
})
end
function p:test_returning_false()
self:equals('Return false from article', nsDetect{page = 'Wikipedia', main = false}, false)
self:equals('Return false from talk page', nsDetect{page = 'Talk:Wikipedia', main = true, talk = false}, false)
self:equals('Return false from category page', nsDetect{page = 'Category:Wikipedians', main = true, talk = true, category = false}, false)
self:equals('Return false from other page', nsDetect{page = 'Template:Pagetype', main = true, talk = true, other = false}, false)
end
return p