Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:EFloras/testcases

From Wikipedia, the free encyclopedia
local p = require("Module:UnitTests")
local eFloras = require "Module:eFloras"

function p:test_italicize()
	local examples = {
		{ "Symphyotrichum novae-angliae", "<i>Symphyotrichum novae-angliae</i>" },
		{ "Mummenhoffia alliaceae", "<i>Mummenhoffia alliaceae</i>" },
		{ "Rubus aliceae", "<i>Rubus aliceae</i>" },
		{ "Cypripedium reginae", "<i>Cypripedium reginae</i>" },
		{ "Aster ericoides var. ericoides", "<i>Aster ericoides</i> var. <i>ericoides</i>" },
		{
			"Fragaria vesca subsp. vesca f. semperflorens",
			"<i>Fragaria vesca</i> subsp. <i>vesca</i> f. <i>semperflorens</i>"
		},
		{ "Fragaria × ananassa", "<i>Fragaria</i> × <i>ananassa</i>" },
		{ "Populus sect. Tacamahaca", "<i>Populus</i> sect. <i>Tacamahaca</i>" },
		{ "Populus Sect. Tacamahaca", "<i>Populus</i> Sect. <i>Tacamahaca</i>" },
		{ "Rosaceae", "Rosaceae" },
		{ "Fumarioideae", "Fumarioideae" },
		{ "Astereae", "Astereae" },
		{ "Asterinae", "Asterinae" },
		"Ignores italics and bolding",
		{
			"Fragaria vesca'' subsp. ''vesca'' f. ''semperflorens",
			"<i>Fragaria vesca</i> subsp. <i>vesca</i> f. <i>semperflorens</i>"
		},
		{
			"'''''Fragaria vesca'' subsp. ''vesca'' f. ''semperflorens'''''",
			"<i>Fragaria vesca</i> subsp. <i>vesca</i> f. <i>semperflorens</i>"
		},
		"Returns unparsable input unchanged",
		{ "Fragaria vesca L.", "Fragaria vesca L." },
		{ "''Cypripedium reginae'' Walter", "''Cypripedium reginae'' Walter" },
		{
			"''Cypripedium parviflorum'' Salisb. var. ''pubescens'' (Willd.) Knight",
			"''Cypripedium parviflorum'' Salisb. var. ''pubescens'' (Willd.) Knight"
		},
		{ "Prunus virginiana L. 1753 not DuRoi 1771", "Prunus virginiana L. 1753 not DuRoi 1771" },
		{ "{{{1}}}", "{{{1}}}" },
		{ "Blah blah!! @x?* edf", "Blah blah!! @x?* edf" },
	}
	
	local options -- = { nowiki = true }
	
	self:iterate(
		examples,
		function (self, input, expected)
			self:equals(input, eFloras.italicize(input), expected, options)
		end)
end

return p