Jump to content
Wikipedia The Free Encyclopedia

Module:Disambiguation/testcases

From Wikipedia, the free encyclopedia
This is the test cases page for the module Module:Disambiguation. Results of the test cases.
 localmDab=require('Module:Disambiguation/sandbox')
 localScribuntoUnit=require('Module:ScribuntoUnit')
 localmMockTitle=require('Module:Mock title')
 localsuite=ScribuntoUnit:new()

 localdabPageTestData={
 {
 description='content containing "{{disambiguation}}"',
 page='New',
 content="'''New''' may refer to:\n...\n{{disambiguation}}\n",
 expectedBool=true,
 expectedText='yes',
 },
 {
 description='content not containing a dab template',
 page='Paris',
 content="'''Paris''' is the capital and most populous city of France.\n",
 expectedBool=false,
 expectedText='',
 },
 {
 description='content containing disambiguation templates with parameters',
 page='Black Swan (disambiguation)',
 content="'''[[Black swan]]''' is the common name for an Australasian waterfowl.\n...\n{{Disambiguation|ship}}\n",
 expectedBool=true,
 expectedText='yes',
 },
 {
 description='content containing hndis templates with named parameters',
 page='Frederick II',
 content="''Frederick II''' may refer to:\n...\n{{hndis|name=Frederick 02}}\n",
 expectedBool=true,
 expectedText='yes',
 },
 {
 description='content containing mountainindex set index templates with parameters',
 page='List of peaks named Signal',
 content="A '''signal mountain''' is a mountain suited to sending and receiving visual signals\n...\n{{Mountainindex|Signal}}\n",
 expectedBool=false,
 expectedText='',
 },
 {
 description='content containing "{{italic disambiguation}}"',
 page='Abby (The Last of Us)',
 content="{{italic disambiguation}}\n'''Abigail''' \"'''Abby'''\" '''Anderson''' is a character in the video game The Last of Us Part II.\n",
 expectedBool=false,
 expectedText='',
 },
 }

 for_,datainipairs(dabPageTestData)do
 mMockTitle.registerMockTitle{title=data.page,content=data.content}

 suite[string.format(
 "test isDisambiguation: %s returns %s",
 data.description,
 tostring(data.expectedBool)
 )]=function(suite)
 suite:assertEquals(data.expectedBool,mDab.isDisambiguation(data.content))
 end

 suite[string.format(
 "test _isDisambiguationPage: %s returns %s",
 data.description,
 tostring(data.expectedBool)
 )]=function(suite)
 localactual=mMockTitle.patchTitleConstructors(
 mDab._isDisambiguationPage,
 data.page
 )
 suite:assertEquals(data.expectedBool,actual)
 end

 suite[string.format(
 'test isDisambiguationPage: %s returns "%s"',
 data.description,
 data.expectedText
 )]=function(suite)
 localframe=mw.getCurrentFrame():newChild{
 title='Module talk:Disambiguation',
 args={data.page},
 }
 localactual=mMockTitle.patchTitleConstructors(
 mDab.isDisambiguationPage,
 frame
 )
 suite:assertEquals(data.expectedText,actual)
 end
 end

 localdabContent={
 '{{disambiguation}}',
 '{{ disambiguation }}',
 '{{Disambiguation}}',
 '{{ Disambiguation }}',
 '{{ disambiguation | foo }}',
 '{{ disambiguation | foo=bar }}',
 '{{ disambiguation | foo = bar }}',
 '{{DAB}}',
 '{{dab}}',
 '{{dabpage}}',
 '{{dbig}}',
 '{{dis}}',
 '{{disam}}',
 '{{disamb}}',
 '{{disambig}}',
 '{{disambig misspelling}}',
 '{{disambig-plants}}',
 '{{disambiguation page}}',
 '{{begriffsklärung}}',
 '{{meta disambig}}',
 '{{project disambiguation}}',
 '{{shortcut disambig}}',
 '{{WP disambig}}',
 '{{WP-disambig}}',
 '{{Wikipedia disambiguation}}',
 '{{Airport disambiguation}}',
 '{{Biology disambiguation}}',
 '{{Call sign disambiguation}}',
 '{{Caselaw disambiguation}}',
 '{{Chinese title disambiguation}}',
 '{{Disambiguation cleanup}}',
 '{{Genus disambiguation}}',
 '{{Hospital disambiguation}}',
 '{{Human name disambiguation}}',
 '{{Human name disambiguation cleanup}}',
 '{{Letter–number combination disambiguation}}',
 '{{Mathematical disambiguation}}',
 '{{Military unit disambiguation}}',
 '{{Music disambiguation}}',
 '{{Number disambiguation}}',
 '{{Opus number disambiguation}}',
 '{{Phonetics disambiguation}}',
 '{{Place name disambiguation}}',
 '{{Portal disambiguation}}',
 '{{Road disambiguation}}',
 '{{School disambiguation}}',
 '{{Species Latin name abbreviation disambiguation}}',
 '{{Species Latin name disambiguation}}',
 '{{Station disambiguation}}',
 '{{Synagogue disambiguation}}',
 '{{Taxonomy disambiguation}}',
 '{{Template disambiguation}}',
 '{{WoO number disambiguation}}',
 '{{Airport disambig}}',
 '{{Callsigndis}}',
 '{{Case law disambiguation}}',
 '{{CJKVdab}}',
 '{{Disambig-Chinese-char-title}}',
 '{{Chinese title disambig}}',
 '{{Disamb-cleanup}}',
 '{{Cleanup disambig}}',
 '{{CleanupDisambig}}',
 '{{Dabclean}}',
 '{{Dab-cleanup}}',
 '{{Disambig-CU}}',
 '{{Disambig-cu}}',
 '{{Disambig cleanup}}',
 '{{Geodis-cleanup}}',
 '{{Disambig-cleanup}}',
 '{{Disambiguation-cleanup}}',
 '{{Disambcleanup}}',
 '{{Disambigcleanup}}',
 '{{Disambiguate-cleanup}}',
 '{{Dab cleanup}}',
 '{{Cleanup disambiguation}}',
 '{{Genus disambig}}',
 '{{Hospitaldis}}',
 '{{Bio-dab}}',
 '{{Hndisambig}}',
 '{{Hndab}}',
 '{{HnDis}}',
 '{{Personal name disambiguation}}',
 '{{HNDIS}}',
 '{{Hndis}}',
 '{{Personal name}}',
 '{{Human name dab}}',
 '{{Personal name disambiguation cleanup}}',
 '{{Hndis-cleanup}}',
 '{{Letter-NumberCombdisambig}}',
 '{{Letter-NumberCombinationDisambiguation}}',
 '{{LNCD}}',
 '{{Letter-Number combination disambiguation}}',
 '{{Letter-NumberCombDisambig}}',
 '{{Letter-Number Combination Disambiguation}}',
 '{{Letter-number combination disambiguation}}',
 '{{Mathematics disambiguation}}',
 '{{Mathdab}}',
 '{{Math dab}}',
 '{{Math disambiguation}}',
 '{{Maths disambiguation}}',
 '{{Mil-unit-disambig}}',
 '{{Mil-unit-dis}}',
 '{{Music disambig}}',
 '{{Numdisambig}}',
 '{{Numdab}}',
 '{{Numberdis}}',
 '{{Geodab}}',
 '{{Geo-dis}}',
 '{{Geodisambig}}',
 '{{Geodis}}',
 '{{DisambigG}}',
 '{{DisambigGeo}}',
 '{{Disambiggeo}}',
 '{{Geographic disambiguation}}',
 '{{Portal disambig}}',
 '{{Roaddis}}',
 '{{Schooldis}}',
 '{{Schooldab}}',
 '{{School disambig}}',
 '{{LatinNameDisambig}}',
 '{{SpeciesLatinNameDisambig}}',
 '{{Station dab}}',
 '{{Species disambiguation}}',
 '{{Template disambig}}',
 '{{Template dab}}',
 '{{Template ambiguous}}',
 '__DISAMBIG__'
 }

 for_,contentinipairs(dabContent)do
 suite[string.format(
 'test isDisambiguation: content containing "%s" returns true',
 content
 )]=function(suite)
 suite:assertTrue(mDab.isDisambiguation(content))
 end
 end

 localnonDabContent={
 'just some text',
 '__FOO__',
 '{{}}',
 '{{ }}',
 '{{italic disambiguation}}',
 '{{Italic disambiguation}}',
 '{{ italic disambiguation }}',
 '{{ Italic disambiguation }}',
 '{{italic disambiguation|foo}}',
 '{{ italic disambiguation | foo }}',
 }

 for_,contentinipairs(nonDabContent)do
 suite[string.format(
 'test isDisambiguation: content containing "%s" returns false',
 content
 )]=function(suite)
 suite:assertFalse(mDab.isDisambiguation(content))
 end
 end

 returnsuite

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