Difference between revisions of "Module:TaxonItalics/testcases"
Jump to navigation
Jump to search
blackwiki>Erutuon (hybrid genus) |
m (19 revisions imported) |
||
| (10 intermediate revisions by 3 users not shown) | |||
| Line 4: | Line 4: | ||
local orig = input | local orig = input | ||
local result = input:gsub("''( ?)(.-)( ?)''", "%1''%2''%3") | local result = input:gsub("''( ?)(.-)( ?)''", "%1''%2''%3") | ||
| + | result = mw.text.decode(result) | ||
if orig ~= result then | if orig ~= result then | ||
| − | mw.log(orig, result) | + | mw.log(orig, result, "\n") |
end | end | ||
return result | return result | ||
| Line 13: | Line 14: | ||
local examples = { | local examples = { | ||
"Below genus", | "Below genus", | ||
| − | { "Pinus subg. Pinus", "''Pinus | + | { "Pinus subg. Pinus", "''Pinus <span style=\"font-style:normal;\">subg.</span> Pinus''" }, |
| − | { "Pinus subgenus Pinus", "''Pinus | + | { "Pinus subgenus Pinus", "''Pinus <span style=\"font-style:normal;\">subg.</span> Pinus''" }, |
| − | { "P. subg. Pinus", "''P.'' | + | { "P. subg. Pinus", "''P. <span style=\"font-style:normal;\">subg.</span> Pinus''" }, |
| − | { "Pinus sect. Pinus", "''Pinus | + | { "Passiflora supersect. Tacsonia", "''Passiflora <span style=\"font-style:normal;\">supersect.</span> Tacsonia''" }, |
| − | { "Pinus section Pinus", "''Pinus | + | { "Pinus sect. Pinus", "''Pinus <span style=\"font-style:normal;\">sect.</span> Pinus''" }, |
| − | { "P. sect. Pinus", "''P. | + | { "Pinus section Pinus", "''Pinus <span style=\"font-style:normal;\">sect.</span> Pinus''" }, |
| − | { "Pinus subsect. Pinus", "''Pinus | + | { "P. sect. Pinus", "''P. <span style=\"font-style:normal;\">sect.</span> Pinus''" }, |
| − | { "P. subsect. Pinus", "''P. | + | { "Pinus subsect. Pinus", "''Pinus <span style=\"font-style:normal;\">subsect.</span> Pinus''" }, |
| − | { "Quercus series Virentes", "''Quercus | + | { "P. subsect. Pinus", "''P. <span style=\"font-style:normal;\">subsect.</span> Pinus''" }, |
| − | { "Banksia subser. Banksia", "''Banksia | + | { "Quercus series Virentes", "''Quercus <span style=\"font-style:normal;\">ser.</span> Virentes''" }, |
| − | { "Banksia subseries Banksia", "''Banksia | + | { "Banksia subser. Banksia", "''Banksia <span style=\"font-style:normal;\">subser.</span> Banksia''" }, |
| + | { "Banksia subseries Banksia", "''Banksia <span style=\"font-style:normal;\">subser.</span> Banksia''" }, | ||
"Below species", | "Below species", | ||
| − | { "Acer tataricum subsp. ginnala", "''Acer tataricum | + | { "Acer tataricum subsp. ginnala", "''Acer tataricum <span style=\"font-style:normal;\">subsp.</span> ginnala''" }, |
| − | { "Aster ericoides var. ericoides", "''Aster ericoides | + | { "Aster ericoides var. ericoides", "''Aster ericoides <span style=\"font-style:normal;\">var.</span> ericoides''" }, |
| − | { "A. ericoides varietas ericoides", "''A. ericoides | + | { "A. ericoides varietas ericoides", "''A. ericoides <span style=\"font-style:normal;\">var.</span> ericoides''" }, |
| − | { "A. e. subvar. ericoides", "''A. e. | + | { "A. e. subvar. ericoides", "''A. e. <span style=\"font-style:normal;\">subvar.</span> ericoides''" }, |
"Hybrid symbol", | "Hybrid symbol", | ||
| − | { "Fragaria × ananassa", "''Fragaria'' × ''ananassa''" }, | + | { |
| − | { "× Sorbopyrus", "× | + | "Fragaria × ananassa", |
| − | { "× Sorbopyrus auricularis", "× | + | [[''Fragaria <span style="font-style:normal;">×</span> ananassa'']] |
| + | }, | ||
| + | { | ||
| + | "Fragaria × ananassa", | ||
| + | [[''Fragaria <span style="font-style:normal;">×</span> ananassa'']] | ||
| + | }, | ||
| + | { | ||
| + | "Fragaria × ananassa", | ||
| + | [[''Fragaria <span style="font-style:normal;">×</span> ananassa'']] | ||
| + | }, | ||
| + | { | ||
| + | "× Sorbopyrus", | ||
| + | [[''<span style="font-style:normal;">×</span> Sorbopyrus'']] | ||
| + | }, | ||
| + | { | ||
| + | "× Sorbopyrus auricularis", | ||
| + | [[''<span style="font-style:normal;">×</span> Sorbopyrus auricularis'']] | ||
| + | }, | ||
"Already italicized", | "Already italicized", | ||
{ "''Pinus'' subsp. ''Pinus''", "''Pinus'' subsp. ''Pinus''" }, | { "''Pinus'' subsp. ''Pinus''", "''Pinus'' subsp. ''Pinus''" }, | ||
| + | { "''Pinus subsp. Pinus''", "''Pinus subsp. Pinus''" }, -- Incorrect example! | ||
{ "''Pinus sylvestris''", "''Pinus sylvestris''" }, | { "''Pinus sylvestris''", "''Pinus sylvestris''" }, | ||
{ "<i>Pinus</i> subsp. <i>Pinus</i>", "''Pinus'' subsp. ''Pinus''" }, | { "<i>Pinus</i> subsp. <i>Pinus</i>", "''Pinus'' subsp. ''Pinus''" }, | ||
| Line 44: | Line 64: | ||
{ | { | ||
"Fragaria vesca subsp. vesca f. semperflorens", | "Fragaria vesca subsp. vesca f. semperflorens", | ||
| − | "Fragaria vesca subsp. vesca f. semperflorens" | + | "''Fragaria vesca subsp. vesca f. semperflorens''" |
}, | }, | ||
} | } | ||
| − | local italicizeTaxonName = require " | + | local italicizeTaxonName = require "Module:TaxonItalics".italicizeTaxonName |
self:iterate(examples, | self:iterate(examples, | ||
function (self, input, expected) | function (self, input, expected) | ||
| − | + | output = clean(italicizeTaxonName(input)) | |
| + | |||
| + | --[[ | ||
| + | if output ~= expected then | ||
| + | mw.log(expected, output) | ||
| + | end | ||
| + | --]] | ||
| + | |||
| + | self:equals(input, output, expected) | ||
end) | end) | ||
end | end | ||
| + | |||
| + | p["testcases for <code>italicizeTaxonName</code>"] = p.test_italicizeTaxonName | ||
| + | p.test_italicizeTaxonName = nil | ||
return p | return p | ||
Latest revision as of 16:54, 29 September 2020
Documentation for this module may be created at Module:TaxonItalics/testcases/doc
local p = require('Module:UnitTests')
local function clean(input)
local orig = input
local result = input:gsub("''( ?)(.-)( ?)''", "%1''%2''%3")
result = mw.text.decode(result)
if orig ~= result then
mw.log(orig, result, "\n")
end
return result
end
function p:test_italicizeTaxonName()
local examples = {
"Below genus",
{ "Pinus subg. Pinus", "''Pinus <span style=\"font-style:normal;\">subg.</span> Pinus''" },
{ "Pinus subgenus Pinus", "''Pinus <span style=\"font-style:normal;\">subg.</span> Pinus''" },
{ "P. subg. Pinus", "''P. <span style=\"font-style:normal;\">subg.</span> Pinus''" },
{ "Passiflora supersect. Tacsonia", "''Passiflora <span style=\"font-style:normal;\">supersect.</span> Tacsonia''" },
{ "Pinus sect. Pinus", "''Pinus <span style=\"font-style:normal;\">sect.</span> Pinus''" },
{ "Pinus section Pinus", "''Pinus <span style=\"font-style:normal;\">sect.</span> Pinus''" },
{ "P. sect. Pinus", "''P. <span style=\"font-style:normal;\">sect.</span> Pinus''" },
{ "Pinus subsect. Pinus", "''Pinus <span style=\"font-style:normal;\">subsect.</span> Pinus''" },
{ "P. subsect. Pinus", "''P. <span style=\"font-style:normal;\">subsect.</span> Pinus''" },
{ "Quercus series Virentes", "''Quercus <span style=\"font-style:normal;\">ser.</span> Virentes''" },
{ "Banksia subser. Banksia", "''Banksia <span style=\"font-style:normal;\">subser.</span> Banksia''" },
{ "Banksia subseries Banksia", "''Banksia <span style=\"font-style:normal;\">subser.</span> Banksia''" },
"Below species",
{ "Acer tataricum subsp. ginnala", "''Acer tataricum <span style=\"font-style:normal;\">subsp.</span> ginnala''" },
{ "Aster ericoides var. ericoides", "''Aster ericoides <span style=\"font-style:normal;\">var.</span> ericoides''" },
{ "A. ericoides varietas ericoides", "''A. ericoides <span style=\"font-style:normal;\">var.</span> ericoides''" },
{ "A. e. subvar. ericoides", "''A. e. <span style=\"font-style:normal;\">subvar.</span> ericoides''" },
"Hybrid symbol",
{
"Fragaria × ananassa",
[[''Fragaria <span style="font-style:normal;">×</span> ananassa'']]
},
{
"Fragaria × ananassa",
[[''Fragaria <span style="font-style:normal;">×</span> ananassa'']]
},
{
"Fragaria × ananassa",
[[''Fragaria <span style="font-style:normal;">×</span> ananassa'']]
},
{
"× Sorbopyrus",
[[''<span style="font-style:normal;">×</span> Sorbopyrus'']]
},
{
"× Sorbopyrus auricularis",
[[''<span style="font-style:normal;">×</span> Sorbopyrus auricularis'']]
},
"Already italicized",
{ "''Pinus'' subsp. ''Pinus''", "''Pinus'' subsp. ''Pinus''" },
{ "''Pinus subsp. Pinus''", "''Pinus subsp. Pinus''" }, -- Incorrect example!
{ "''Pinus sylvestris''", "''Pinus sylvestris''" },
{ "<i>Pinus</i> subsp. <i>Pinus</i>", "''Pinus'' subsp. ''Pinus''" },
{ "<i>Pinus sylvestris</i>", "''Pinus sylvestris''" },
"Easy examples",
{ "Pinus", "''Pinus''" },
{ "Pinus sylvestris", "''Pinus sylvestris''" },
"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)
output = clean(italicizeTaxonName(input))
--[[
if output ~= expected then
mw.log(expected, output)
end
--]]
self:equals(input, output, expected)
end)
end
p["testcases for <code>italicizeTaxonName</code>"] = p.test_italicizeTaxonName
p.test_italicizeTaxonName = nil
return p