Jump to content
Wikipedia The Free Encyclopedia

Module:Namespace detect/testcases

From Wikipedia, the free encyclopedia
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.
 localp=require('Module:UnitTests')
 localnsDetect=require('Module:Namespace detect/sandbox')._main

 functionp:test_template_testcases_page()
 self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main','}}',{
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.]],'Anytalkpagetext.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |demospace=]],'Any talk page text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |demospace=main]],'Article text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |demospace=talk]],'Any talk page text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |demospace=helptalk]],'Other pages text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=]],'Any talk page text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Example/test]],'Article text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=User:Example/test]],'User page text.'},
 {[[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Usertalk:Example/test]],'Any talk page text.'},
 })
 end

 functionp:test_new()
 self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main','}}',{
 {[[]],''},
 {[[
 |main=Articletext.
 |talk=
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Usertalk:Example/test]],''},
 {[[
 |main=Articletext.
 |talk=
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=User:Example/test]],'User page text.'},
 {[[
 |main=Articletext.
 |TALK=Talkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Usertalk:Example/test]],'Other pages text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Usertalk:Example/test]],'talk page text with a delete character here: ""'},
 {[[
 |main=Articletext.
 |talk=Talkpagetext.
 |wikipedia=Wikipediapagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |demospace=Wikipedia]],'Wikipedia page text.'},
 {[[
 |main=
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Foo]],''},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=
 |other=Otherpagestext.
 |page=User:Example/test]],''},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |book=Bookpagetext.
 |other=Otherpagestext.
 |page=Book:Foo]],'Book page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |image=Imagepagetext.
 |other=Otherpagestext.
 |page=File:Foo]],'Image page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |file=Filepagetext.
 |other=Otherpagestext.
 |page=File:Foo]],'File page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |image=
 |other=Otherpagestext.
 |page=File:Foo]],''},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |file=
 |other=Otherpagestext.
 |page=File:Foo]],''},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |mediawiki=MediaWikipagetext.
 |other=Otherpagestext.
 |page=MediaWiki:Foo]],'MediaWiki page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |template=Templatepagetext.
 |other=Otherpagestext.
 |page=Template:Foo]],'Template page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |help=Helppagetext.
 |image=Imagepagetext.
 |other=Otherpagestext.
 |page=Help:Foo]],'Help page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |category=Categorypagetext.
 |other=Otherpagestext.
 |page=Category:Foo]],'Category page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |portal=Portalpagetext.
 |other=Otherpagestext.
 |page=Portal:Foo]],'Portal page text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |nonexistent=Nonexistentnamespacepagetext.
 |other=Otherpagestext.
 |page=Nonexistent:Foo]],'Article text.'},
 {[[
 |main=Articletext.
 |talk=talkpagetextwithadeletecharacterhere:""
 |user=Userpagetext.
 |nonexistent=Nonexistentnamespacepagetext.
 |other=Otherpagestext.
 |demospace=Nonexistent]],'Other pages text.'},
 })
 end

 functionp:test_bad_titles()
 self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main','}}',{
 {[==[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Talk:Square[[brackets]]aren't allowed in page titles]==], 'Otherpagestext.'},
 })
 end

 functionp:test_subject_namespaces()
 self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main','}}',{
 {[==[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Talk:Foo]==],'Any talk page text.'},
 {[==[
 |subjectns=yes
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Talk:Foo]==],'Article text.'},
 {[==[
 |subjectns=no
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Talk:Foo]==],'Any talk page text.'},
 {[==[
 |subjectns=yes
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |other=Otherpagestext.
 |page=Wikipediatalk:Foo]==],'Other pages text.'},
 })
 end

 functionp:test_multiple_word_namespaces()
 self:preprocess_equals_many('{{#invoke:Namespace detect/sandbox|main','}}',{
 {[==[
 |main=Articletext.
 |talk=Anytalkpagetext.
 |user=Userpagetext.
 |educationprogram=EducationProgrampagestext.
 |other=Otherpagestext.
 |page=EducationProgram:Foo]==],'Education Program pages text.'},
 })
 end

 functionp: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

 returnp

AltStyle によって変換されたページ (->オリジナル) /