Difference between revisions of "Module:TaxonItalics/testcases"

From blackwiki
Jump to navigation Jump to search
blackwiki>Erutuon
m
blackwiki>Erutuon
(function to clean up output of function)
Line 1: Line 1:
 
local p = require('Module:UnitTests')
 
local p = require('Module:UnitTests')
 +
 +
local function clean(input)
 +
return input:gsub("''( ?)(.-)( ?)''", "%1''%2''%3")
 +
end
  
 
function p:test_italicizeTaxonName()
 
function p:test_italicizeTaxonName()
Line 24: Line 28:
 
self:iterate(examples,
 
self:iterate(examples,
 
function (self, input, expected)
 
function (self, input, expected)
self:equals(input, italicizeTaxonName(input), expected)
+
self:equals(input, clean(italicizeTaxonName(input)), expected)
 
end)
 
end)
 
end
 
end
  
 
return p
 
return p

Revision as of 07:14, 18 August 2018

Documentation for this module may be created at Module:TaxonItalics/testcases/doc

local p = require('Module:UnitTests')

local function clean(input)
	return input:gsub("''( ?)(.-)( ?)''", "%1''%2''%3")
end

function p:test_italicizeTaxonName()
	local examples = {
		{ "Pinus subg. Pinus", "''Pinus'' subg. ''Pinus''" },
		{ "Pinus subgenus Pinus", "''Pinus'' subg. ''Pinus''" },
		{ "P. subg. Pinus", "''P.'' subg. ''Pinus''" },
		{ "Pinus sect. Pinus", "''Pinus'' sect. ''Pinus''" },
		{ "Pinus section Pinus", "''Pinus'' sect. ''Pinus''" },
		{ "P. sect. Pinus", "''P.'' sect. ''Pinus''" },
		{ "Acer tataricum subsp. ginnala", "''Acer tataricum'' subsp. ''ginnala''" },
		{ "Aster ericoides var. ericoides", "''Aster ericoides'' var. ''ericoides''" },
		{ "A. ericoides varietas ericoides", "''A. ericoides'' var. ''ericoides''" },
		{ "A. e. subvar. ericoides", "''A. e.'' subvar. ''ericoides''" },
		"Incorrect strings",
		{
			"Fragaria vesca subsp. vesca f. semperflorens",
			"Fragaria vesca subsp. vesca f. semperflorens"
		},
	}
	
	local italicizeTaxonName = require "MOdule:TaxonItalics".italicizeTaxonName
	
	self:iterate(examples,
		function (self, input, expected)
			self:equals(input, clean(italicizeTaxonName(input)), expected)
		end)
end

return p