Jump to content
Wikipedia The Free Encyclopedia

Module:Category handler/testcases

From Wikipedia, the free encyclopedia
This is the test cases page for the module Module:Category handler. Results of the test cases.
 -- Unit tests for [[Module:Category handler]]. Click talk page to run tests.
 localm_category_handler=require('Module:Category handler/sandbox')
 localchmain=m_category_handler._main
 localScribuntoUnit=require('Module:ScribuntoUnit')
 localsuite=ScribuntoUnit:new()

 -- Define table of defaults
 locald={}

 -- Values
 d.absent=nil
 d.blank=''
 d.negation='¬'
 d.yes='yes'
 d.no='no'
 d.subpageOnly='only'
 d.subpageNo='no'

 -- Categories
 d.category='Category:Somecat'
 d.category1='Category:Somecat1'
 d.category2='Category:Somecat2'

 -- Pages
 d.article='Somearticle'
 d.file='File:Example.png'
 d.talk='Talk:Foo'
 d.archive='User talk:Example/Archive 5'
 d.subpage='User:Example/test'
 d.basepage='User:Example'

 -- Params
 d.archiveParam='talk'

 --------------------------------------------------------------------------------
 -- Test nil
 --------------------------------------------------------------------------------

 functionsuite:test_nil()
 self:assertEquals(d.absent,chmain{nil})
 end

 --------------------------------------------------------------------------------
 -- Test defaults
 --------------------------------------------------------------------------------

 functionsuite:test_default_current_page()
 -- Will test either module or module talk space, neither of which are categorised by default.
 self:assertEquals(d.absent,chmain{d.category})
 end

 functionsuite:test_default_main()
 self:assertEquals(d.category,chmain{d.category,page=d.article})
 end

 functionsuite:test_default_file()
 self:assertEquals(d.category,chmain{d.category,page=d.file})
 end

 --------------------------------------------------------------------------------
 -- Test numbered parameters
 --------------------------------------------------------------------------------

 functionsuite:test_numbered_main()
 self:assertEquals(d.category,chmain{
 [1]=d.category,
 main=1,
 page=d.article
 })
 end

 functionsuite:test_numbered_two_params()
 self:assertEquals(d.category2,chmain{
 [1]=d.category1,
 [2]=d.category2,
 main=1,
 file=2,
 page=d.file
 })
 end

 --------------------------------------------------------------------------------
 -- Test overriding defaults
 --------------------------------------------------------------------------------

 functionsuite:test_numbered_main()
 self:assertEquals(d.absent,chmain{
 main=d.category,
 page=d.file
 })
 end

 --------------------------------------------------------------------------------
 -- Test blank namespace parameters
 --------------------------------------------------------------------------------

 functionsuite:test_blank_namespace_talk()
 self:assertEquals(d.blank,chmain{
 talk=d.blank,
 other=d.category,
 page=d.talk
 })
 end

 --------------------------------------------------------------------------------
 -- Test other parameter
 --------------------------------------------------------------------------------

 functionsuite:test_other_only()
 self:assertEquals(d.category,chmain{
 other=d.category,
 })
 end

 --------------------------------------------------------------------------------
 -- Test nocat parameter
 --------------------------------------------------------------------------------

 functionsuite:test_nocat_true()
 self:assertEquals(d.absent,chmain{d.category,page=d.file,nocat=true})
 end

 functionsuite:test_nocat_blank()
 self:assertEquals(d.category,chmain{d.category,page=d.file,nocat=''})
 end

 functionsuite:test_nocat_yes()
 self:assertEquals(d.absent,chmain{d.category,page=d.file,nocat=d.yes})
 end

 functionsuite:test_nocat_false()
 self:assertEquals(d.category,chmain{
 [d.archiveParam]=d.category,
 page=d.archive,
 nocat=false
 })
 end

 functionsuite:test_nocat_no()
 self:assertEquals(d.category,chmain{
 [d.archiveParam]=d.category,
 page=d.archive,
 nocat=d.no
 })
 end

 --------------------------------------------------------------------------------
 -- Test categories parameter
 --------------------------------------------------------------------------------

 functionsuite:test_categories_true()
 self:assertEquals(d.category,chmain{
 [d.archiveParam]=d.category,
 page=d.archive,
 categories=true
 })
 end

 functionsuite:test_categories_blank()
 self:assertEquals(d.category,chmain{d.category,page=d.file,categories=''})
 end

 functionsuite:test_categories_yes()
 self:assertEquals(d.category,chmain{
 [d.archiveParam]=d.category,
 page=d.archive,
 categories=d.yes
 })
 end

 functionsuite:test_categories_false()
 self:assertEquals(d.absent,chmain{
 file=d.category,
 page=d.file,
 categories=false
 })
 end

 functionsuite:test_categories_no()
 self:assertEquals(d.absent,chmain{
 file=d.category,
 page=d.file,
 categories=d.no
 })
 end

 --------------------------------------------------------------------------------
 -- Test category2 parameter
 --------------------------------------------------------------------------------

 functionsuite:test_category2_no()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 category2=d.no
 })
 end

 functionsuite:test_category2_blank()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 category2=d.blank
 })
 end

 functionsuite:test_category2_negation()
 self:assertEquals(d.category,chmain{
 other=d.category,
 category2=d.negation
 })
 end

 functionsuite:test_category2_blacklist()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page=d.archive,
 categories=d.yes
 })
 end

 --------------------------------------------------------------------------------
 -- Test subpage parameter
 --------------------------------------------------------------------------------

 functionsuite:test_subpage_no_basepage()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page=d.basepage,
 subpage=d.subpageNo
 })
 end

 functionsuite:test_subpage_no_subpage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page=d.subpage,
 subpage=d.subpageNo
 })
 end

 functionsuite:test_subpage_only_basepage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page=d.basepage,
 subpage=d.subpageOnly
 })
 end

 functionsuite:test_subpage_only_subpage()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page=d.subpage,
 subpage=d.subpageOnly
 })
 end

 --------------------------------------------------------------------------------
 -- Test blacklist
 --------------------------------------------------------------------------------

 functionsuite:test_blacklist_archives()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User talk:Example/Archive 5',
 })
 end

 functionsuite:test_blacklist_archives_lowercase()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User talk:Example/archive 5',
 })
 end

 functionsuite:test_blacklist_archives_notarchive()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='User talk:Example/Archove 5',
 })
 end

 functionsuite:test_blacklist_archives_incident_archive()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page="Wikipedia:Administrators' noticeboard/IncidentArchive 5",
 })
 end

 functionsuite:test_blacklist_main_page()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Main Page',
 })
 end

 functionsuite:test_blacklist_main_page_talk()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='Talk:Main Page',
 })
 end

 functionsuite:test_blacklist_cascade()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Wikipedia:Cascade-protected items',
 })
 end

 functionsuite:test_blacklist_cascade_slash()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Wikipedia:Cascade-protected items/',
 })
 end

 functionsuite:test_blacklist_cascade_subpage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Wikipedia:Cascade-protected items/Foo',
 })
 end

 functionsuite:test_blacklist_cascade_not_subpage()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='Wikipedia:Cascade-protected itemsFoo',
 })
 end

 functionsuite:test_blacklist_cascade_talk()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='Wikipedia talk:Cascade-protected items',
 })
 end

 functionsuite:test_blacklist_ubx()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User:UBX',
 })
 end

 functionsuite:test_blacklist_ubx_talk()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User talk:UBX',
 })
 end

 functionsuite:test_blacklist_ubx_subpage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User:UBX/Userboxes',
 })
 end

 functionsuite:test_blacklist_ubx_talk_subpage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='User talk:UBX/Userboxes',
 })
 end

 functionsuite:test_blacklist_template_index_basepage()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='Wikipedia:Template index',
 })
 end

 functionsuite:test_blacklist_template_index_slash()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Wikipedia:Template index/',
 })
 end

 functionsuite:test_blacklist_template_index_not_subpage()
 self:assertEquals(d.category,chmain{
 other=d.category,
 page='Wikipedia:Template indexFoo',
 })
 end

 functionsuite:test_blacklist_template_index_subpage()
 self:assertEquals(d.absent,chmain{
 other=d.category,
 page='Wikipedia:Template index/Cleanup',
 })
 end

 --------------------------------------------------------------------------------
 -- Test namespace params
 --------------------------------------------------------------------------------

 functionsuite:test_main()
 self:assertEquals(d.category,chmain{
 main=d.category,
 page='Some article',
 })
 end

 functionsuite:test_talk()
 self:assertEquals(d.category,chmain{
 talk=d.category,
 page='Talk:Some article',
 })
 end

 functionsuite:test_user()
 self:assertEquals(d.category,chmain{
 user=d.category,
 page='User:Example',
 })
 end

 functionsuite:test_user_talk()
 self:assertEquals(d.category,chmain{
 talk=d.category,
 page='User talk:Example',
 })
 self:assertEquals(d.absent,chmain{
 ['user talk']=d.category,
 page='User talk:Example',
 })
 self:assertEquals(d.absent,chmain{
 ['user_talk']=d.category,
 page='User talk:Example',
 })
 end

 functionsuite:test_wikipedia()
 self:assertEquals(d.category,chmain{
 wikipedia=d.category,
 page='Wikipedia:Example',
 })
 end

 functionsuite:test_wikipedia()
 self:assertEquals(d.category,chmain{
 wikipedia=d.category,
 page='Wikipedia:Example',
 })
 end

 functionsuite:test_project()
 self:assertEquals(d.category,chmain{
 project=d.category,
 page='Wikipedia:Example',
 })
 end

 functionsuite:test_wp()
 self:assertEquals(d.category,chmain{
 wp=d.category,
 page='Wikipedia:Example',
 })
 end

 functionsuite:test_file()
 self:assertEquals(d.category,chmain{
 file=d.category,
 page='File:Example.png',
 })
 end

 functionsuite:test_image()
 self:assertEquals(d.category,chmain{
 image=d.category,
 page='File:Example.png',
 })
 end

 functionsuite:test_mediawiki()
 self:assertEquals(d.category,chmain{
 mediawiki=d.category,
 page='MediaWiki:Protectedpagetext',
 })
 end

 functionsuite:test_template()
 self:assertEquals(d.category,chmain{
 template=d.category,
 page='Template:Example',
 })
 end

 functionsuite:test_help()
 self:assertEquals(d.category,chmain{
 help=d.category,
 page='Help:Editing',
 })
 end

 functionsuite:test_category()
 self:assertEquals(d.category,chmain{
 category=d.category,
 page='Category:Wikipedians',
 })
 end

 functionsuite:test_category()
 self:assertEquals(d.category,chmain{
 category=d.category,
 page='Category:Wikipedians',
 })
 end

 functionsuite:test_portal()
 self:assertEquals(d.category,chmain{
 portal=d.category,
 page='Portal:France',
 })
 end

 functionsuite:test_draft()
 self:assertEquals(d.category,chmain{
 draft=d.category,
 page='Draft:Example',
 })
 end

 functionsuite:test_timedtext()
 self:assertEquals(d.category,chmain{
 timedtext=d.category,
 page='TimedText:Example',
 })
 end

 functionsuite:test_module()
 self:assertEquals(d.category,chmain{
 module=d.category,
 page='Module:Sandbox',
 })
 end

 functionsuite:test_special()
 self:assertEquals(d.category,chmain{
 special=d.category,
 page='Special:WhatLinksHere',
 })
 end

 functionsuite:test_media()
 self:assertEquals(d.category,chmain{
 media=d.category,
 page='Media:Example.png',
 })
 end

 returnsuite

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