Module:Disambiguation/testcases
| This is the test cases page for the module Module:Disambiguation. Results of the test cases. |
local mDab = require('Module:Disambiguation/sandbox')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local mMockTitle = require('Module:Mock title')
local suite = ScribuntoUnit:new()
local dabPageTestData = {
{
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 _, data in ipairs(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)
local actual = 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)
local frame = mw.getCurrentFrame():newChild{
title = 'Module talk:Disambiguation',
args = {data.page},
}
local actual = mMockTitle.patchTitleConstructors(
mDab.isDisambiguationPage,
frame
)
suite:assertEquals(data.expectedText, actual)
end
end
local dabContent = {
'{{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 _, content in ipairs(dabContent) do
suite[string.format(
'test isDisambiguation: content containing "%s" returns true',
content
)] = function (suite)
suite:assertTrue(mDab.isDisambiguation(content))
end
end
local nonDabContent = {
'just some text',
'__FOO__',
'{{}}',
'{{ }}',
'{{italic disambiguation}}',
'{{Italic disambiguation}}',
'{{ italic disambiguation }}',
'{{ Italic disambiguation }}',
'{{italic disambiguation|foo}}',
'{{ italic disambiguation | foo }}',
}
for _, content in ipairs(nonDabContent) do
suite[string.format(
'test isDisambiguation: content containing "%s" returns false',
content
)] = function (suite)
suite:assertFalse(mDab.isDisambiguation(content))
end
end
return suite
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.