Module:Wikidata4Bio/testcases
Lua
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
Module:Wikidata4Bio (talk · edit · hist · links · doc · subpages · tests / results · sandbox · all modules)
- Usage
- This module is a testcases of Module:Wikidata4Bio
Code
-- Unit tests for [[Module:Wikidata4Bio]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local module = 'Wikidata4Bio'
local currentPage = 'wikidata4bio/testcases'
function formatResult(result,debugtext)
return mw.text.nowiki(result)
end
-- Copy from here to Module:Wikidata4Bio/sandbox/testcases
function p:test_calcVNEntry()
-- Test calcVNEntry() - Standard cases
local result1 = formatResult('frenchNameLong','parameter fr rejected as contained in WikidataLabel, Case1: WikidataLabel')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|vnFromWikidata=frenchNameLong|vnSource=WikidataLabel|default=frenchName}}', result1)
local result2 = formatResult('[[:fr:interwiki|frenchNameLong]]','parameter fr rejected as contained in WikidataLabel, Case1bis: [[interwiki|WikidataLabel]]')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|interwiki=interwiki|vnFromWikidata=frenchNameLong|vnSource=WikidataLabel|default=frenchName}}', result2)
local result3 = formatResult('[[frenchNameLong]]','WikidataLabel rejected as contained in VNparameter which is a link, Case2: VNparameter')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|interwiki=interwiki|vnFromWikidata=frenchName|vnSource=WikidataLabel|default=[[frenchNameLong]]}}', result3)
local result4 = formatResult('[[:fr:interwiki|frenchNameLong]]','WikidataLabel rejected as contained in VNparameter, Case3: [[interwiki|parameter]]')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|interwiki=interwiki|vnFromWikidata=frenchName|vnSource=WikidataLabel|default=frenchNameLong}}', result4)
local result5 = formatResult('frenchNameLong','WikidataLabel rejected as contained in VNparameter + no interwiki, Case4: VNparameter')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|vnFromWikidata=frenchName|vnSource=WikidataLabel|default=frenchNameLong}}', result5)
local result6 = formatResult('frenchName, default','Case5: WikidataLabel, VNparameter')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|vnFromWikidata=frenchName|vnSource=WikidataLabel|default=default}}', result6)
local result7 = formatResult('[[:fr:interwiki|frenchName]], default','Case5bis: [[interwiki|WikidataLabel]], VNparameter')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|interwiki=interwiki|vnFromWikidata=frenchName|vnSource=WikidataLabel|default=default}}', result7)
local result8 = formatResult('frenchName','Case6: WikidataLabel')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|vnFromWikidata=frenchName|vnSource=WikidataLabel}}', result8)
local result9 = formatResult('[[:fr:interwiki|frenchName]]','Case6bis: [[interwiki|WikidataLabel]]')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_calcVNEntry|lang=fr|interwiki=interwiki|vnFromWikidata=frenchName|vnSource=WikidataLabel}}', result9)
end
function p:test_extractSciNameOutOfDecoratedSciName()
-- Test testcase_extractSciNameOutOfDecoratedSciName() - Standard cases
self:preprocess_equals('{{#invoke:' .. module .. "|testcase_extractSciNameOutOfDecoratedSciName|''sciname'' author}}", 'sciname')
self:preprocess_equals('{{#invoke:' .. module .. "|testcase_extractSciNameOutOfDecoratedSciName|'''''sciname''''' author}}", 'sciname')
self:preprocess_equals('{{#invoke:' .. module .. "|testcase_extractSciNameOutOfDecoratedSciName|'''''sciname'' author'''}}", 'sciname')
self:preprocess_equals('{{#invoke:' .. module .. "|testcase_extractSciNameOutOfDecoratedSciName|sciname}}", 'nil')
end
function p:test_isLink()
-- Test testcase_isLink() - Standard cases
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_isLink|[[link]]}}', 'true')
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_isLink|notlink}}', 'false')
-- Test isLink() - limit cases
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_isLink}}', 'false')
end
function p:test_getScientificNames()
-- Test getScientificNames() - Standard cases
self:preprocess_equals('{{#invoke:' .. module .. '|testcase_getScientificNames}}', mw.text.nowiki("''" .. currentPage .. "'', ''{{pagename}}'', " .. currentPage .. ", {{pagename}}"))
end
return p