Module:Namespace detect/testcases
Appearance
![]() | This is the test cases page for the module Module:Namespace detect. Results of the test cases. |
-- Example Unit tests for [[Module:Namespace detect]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local nsDetect = require('Module:Namespace detect')._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_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)
end
return p