Module:Namespace detect/testcases
Appearance
From Wikipedia, the free encyclopedia
-- 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