Module:Wikidata4Bio/sandbox/testcases

Lua

CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules

Module:Wikidata4Bio/sandbox (talk · edit · hist · links · doc · subpages · tests / results · sandbox · all modules)


Usage
This module is a testcases of Module:Wikidata4Bio/sandbox

Code

-- Unit tests for [[Module:Wikidata4Bio/sandbox]]. Click talk page to run tests.
local p = require('Module:UnitTests')

local module = 'Wikidata4Bio/sandbox'
local currentPage = 'wikidata4bio/sandbox/testcases'
function formatResult(result,debugtext)
	return mw.text.nowiki(result) .. '<BR/>Debug:<BR/>- Lang fr: ' .. mw.text.nowiki(debugtext)
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