Module:Namespace detect/testcases: Difference between revisions
Appearance
Content deleted Content added
add a test for multiple word namespaces |
test using preprocess_equals_many instead of preprocess_equals_preprocess_many |
||
Line 4: | Line 4: | ||
function p:test_template_testcases_page() |
function p:test_template_testcases_page() |
||
self: |
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', { |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
| talk = Any talk page text. |
| talk = Any talk page text. |
||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text.]]}, |
| other = Other pages text.]], 'Any talk page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 15: | Line 15: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = ]]}, |
| demospace = ]], 'Any talk page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 21: | Line 21: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = main]]}, |
| demospace = main]], 'Article text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 27: | Line 27: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = talk]]}, |
| demospace = talk]], 'Any talk page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 33: | Line 33: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = help talk]]}, |
| demospace = help talk]], 'Other pages text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 39: | Line 39: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = ]]}, |
| page = ]], 'Any talk page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 45: | Line 45: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Example/test]]}, |
| page = Example/test]], 'Article text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 51: | Line 51: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User:Example/test]]}, |
| page = User:Example/test]], 'User page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 57: | Line 57: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User talk:Example/test]]}, |
| page = User talk:Example/test]], 'Any talk page text.'}, |
||
}) |
}) |
||
end |
end |
||
function p:test_new() |
function p:test_new() |
||
self: |
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', '{{namespace detect', '}}', { |
||
{[[]]}, |
{[[]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 69: | Line 69: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User talk:Example/test]]}, |
| page = User talk:Example/test]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 75: | Line 75: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User:Example/test]]}, |
| page = User:Example/test]], 'User page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 81: | Line 81: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User talk:Example/test]]}, |
| page = User talk:Example/test]], 'Other pages text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 87: | Line 87: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User talk:Example/test]]}, |
| page = User talk:Example/test]], 'talk page text with a delete character here: ""'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 94: | Line 94: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = Wikipedia ]]}, |
| demospace = Wikipedia ]], 'Wikipedia page text.'}, |
||
{[[ |
{[[ |
||
| main = |
| main = |
||
Line 100: | Line 100: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Foo]]}, |
| page = Foo]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 106: | Line 106: | ||
| user = |
| user = |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = User:Example/test]]}, |
| page = User:Example/test]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 113: | Line 113: | ||
| book = Book page text. |
| book = Book page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Book:Foo]]}, |
| page = Book:Foo]], 'Book page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 120: | Line 120: | ||
| image = Image page text. |
| image = Image page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = File:Foo]]}, |
| page = File:Foo]], 'Image page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 127: | Line 127: | ||
| file = File page text. |
| file = File page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = File:Foo]]}, |
| page = File:Foo]], 'File page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 134: | Line 134: | ||
| image = |
| image = |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = File:Foo]]}, |
| page = File:Foo]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 141: | Line 141: | ||
| file = |
| file = |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = File:Foo]]}, |
| page = File:Foo]], ''}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 148: | Line 148: | ||
| mediawiki = MediaWiki page text. |
| mediawiki = MediaWiki page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = MediaWiki:Foo]]}, |
| page = MediaWiki:Foo]], 'MediaWiki page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 155: | Line 155: | ||
| template = Template page text. |
| template = Template page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Template:Foo]]}, |
| page = Template:Foo]], 'Template page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 162: | Line 162: | ||
| image = Image page text. |
| image = Image page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Help:Foo]]}, |
| page = Help:Foo]], 'Help page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 169: | Line 169: | ||
| category = Category page text. |
| category = Category page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Category:Foo]]}, |
| page = Category:Foo]], 'Category page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 176: | Line 176: | ||
| portal = Portal page text. |
| portal = Portal page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Portal:Foo]]}, |
| page = Portal:Foo]], 'Portal page text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 183: | Line 183: | ||
| nonexistent = Nonexistent namespace page text. |
| nonexistent = Nonexistent namespace page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Nonexistent:Foo]]}, |
| page = Nonexistent:Foo]], 'Article text.'}, |
||
{[[ |
{[[ |
||
| main = Article text. |
| main = Article text. |
||
Line 190: | Line 190: | ||
| nonexistent = Nonexistent namespace page text. |
| nonexistent = Nonexistent namespace page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| demospace = Nonexistent]]}, |
| demospace = Nonexistent]], 'Other pages text.'}, |
||
}) |
}) |
||
end |
end |
||
function p:test_bad_titles() |
function p:test_bad_titles() |
||
self: |
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', { |
||
{[==[ |
{[==[ |
||
| main = Article text. |
| main = Article text. |
||
Line 201: | Line 201: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Talk:Square [[brackets]] aren't allowed in page titles]==]}, |
| page = Talk:Square [[brackets]] aren't allowed in page titles]==], 'Other pages text.'}, |
||
}) |
}) |
||
end |
end |
||
function p:test_subject_namespaces() |
function p:test_subject_namespaces() |
||
self: |
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', { |
||
{[==[ |
{[==[ |
||
| main = Article text. |
| main = Article text. |
||
Line 212: | Line 212: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Talk:Foo]==]}, |
| page = Talk:Foo]==], 'Any talk page text.'}, |
||
{[==[ |
{[==[ |
||
| subjectns = yes |
| subjectns = yes |
||
Line 219: | Line 219: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Talk:Foo]==]}, |
| page = Talk:Foo]==]}, 'Article text.', |
||
{[==[ |
{[==[ |
||
| subjectns = no |
| subjectns = no |
||
Line 226: | Line 226: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Talk:Foo]==]}, |
| page = Talk:Foo]==], 'Any talk page text.'}, |
||
{[==[ |
{[==[ |
||
| subjectns = yes |
| subjectns = yes |
||
Line 233: | Line 233: | ||
| user = User page text. |
| user = User page text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Wikipedia talk:Foo]==]}, |
| page = Wikipedia talk:Foo]==], 'Other pages text.'}, |
||
}) |
}) |
||
end |
end |
||
function p:test_multiple_word_namespaces() |
function p:test_multiple_word_namespaces() |
||
self: |
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', { |
||
{[==[ |
{[==[ |
||
| main = Article text. |
| main = Article text. |
||
Line 245: | Line 245: | ||
| education program = Education Program pages text. |
| education program = Education Program pages text. |
||
| other = Other pages text. |
| other = Other pages text. |
||
| page = Education Program:Foo]==]}, |
| page = Education Program:Foo]==], 'Education Program pages text.'}, |
||
}) |
}) |
||
end |
end |
Revision as of 13:54, 27 October 2013
![]() | 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/sandbox')._main
function p:test_template_testcases_page()
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', {
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.]], 'Any talk page text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = ]], 'Any talk page text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = main]], 'Article text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = talk]], 'Any talk page text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| demospace = help talk]], 'Other pages text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = ]], 'Any talk page text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Example/test]], 'Article text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = User:Example/test]], 'User page text.'},
{[[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]], 'Any talk page text.'},
})
end
function p:test_new()
self:preprocess_equals_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]], 'User page text.'},
{[[
| main = Article text.
| TALK = Talk page text.
| user = User page text.
| other = Other pages text.
| page = User talk:Example/test]], 'Other pages text.'},
{[[
| 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]], 'talk page text with a delete character here: ""'},
{[[
| main = Article text.
| talk = Talk page text.
| wikipedia = Wikipedia page text.
| user = User page text.
| other = Other pages text.
| demospace = Wikipedia ]], 'Wikipedia page text.'},
{[[
| 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]], 'Book page text.'},
{[[
| 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]], 'Image page text.'},
{[[
| 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]], 'File page text.'},
{[[
| 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]], 'MediaWiki page text.'},
{[[
| 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]], 'Template page text.'},
{[[
| 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]], 'Help page text.'},
{[[
| 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]], 'Category page text.'},
{[[
| 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]], 'Portal page text.'},
{[[
| 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]], 'Article text.'},
{[[
| 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]], 'Other pages text.'},
})
end
function p:test_bad_titles()
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', {
{[==[
| 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]==], 'Other pages text.'},
})
end
function p:test_subject_namespaces()
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', {
{[==[
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==], 'Any talk page text.'},
{[==[
| subjectns = yes
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==]}, 'Article text.',
{[==[
| subjectns = no
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Talk:Foo]==], 'Any talk page text.'},
{[==[
| subjectns = yes
| main = Article text.
| talk = Any talk page text.
| user = User page text.
| other = Other pages text.
| page = Wikipedia talk:Foo]==], 'Other pages text.'},
})
end
function p:test_multiple_word_namespaces()
self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main', '}}', {
{[==[
| 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]==], 'Education Program pages text.'},
})
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