Hopp til innhold

Modul:Citation/CS1/Date validation/testtilfeller

Fra Wikipedia, den frie encyklopedi


-- Unit tests for [[Modul:Citation/CS1/Date validation]]. Click talk page to run tests.
local p = require('Modul:UnitTests')

function p:test_check_date()
	self:preprocess_equals_many('{{#invoke:Citation/CS1/Date validation/testhjelper|check_date_valid| ', ' }}', {
		{'2014', true},
		{'2014–2015', true},
		{'januar 2014', true},
		{'januar–februar 2014', true},
		{'2014-01-01', true},
		{'1. januar 2014', true},
		{'10. januar 2014', true},
		{'1.–3. januar 2014', true},
		{'1. januar – 3. februar 2014', true},
		{'10.04.2014', true},
		{'10.4.2014', true},
		{'1.4.2014', true},
		{'01. januar 2014', false}, -- ganske strengt altså :)
		{'10.04.14', false}, -- ikke støtt årstall med to siffer
		{'100.04.2014', false}, -- ugyldig dag
		{'100. januar 2014', false}, -- ugyldig dag
		{'2014-13-01', false}, -- ugyldig måned
		{'2014-01-32', false}, -- ugyldig dag
		{'1–3. januar 2014', false}, --mangler punktum
		{'1 – 3. januar 2014', false}, -- ekstra mellomrom
		{'1-3. januar 2014', false}, -- bindestrek, ikke tankestrek
		{'1. januar–3. januar 2014', false}, -- bindestrek, ikke tankestrek
		{'1 januar 2014', false}, -- mangler punktum
		{'januar 1, 2014', false}, -- kvasi-engelsk
		{'1. gobbluar 2014', false}, -- ugyldig månedsnavn
		{'c. 2014', false}, -- special case for some reason defined in test_dates(), so it won't validate with check_date()
	})
end

function p:test_check_date_seasons()
	self:preprocess_equals_many('{{#invoke:Citation/CS1/Date validation/testhjelper|check_date| ', ' }}', {
		{'våren 2014', true},
		{'sommeren 2014', true},
		{'høsten 2014', true},
		{'vinteren 2014', true},
		{'Våren 2014', true},
		{'Sommeren 2014', true},
		{'Høsten 2014', true},
		{'Vinteren 2014', true},
		{'vinteren 2014–2015', false},
		{'våren 2014 – sommeren 2015', true},
		{'våren–sommeren 2014', true},
		{'VÅREN 2014', false},
		{'SOMMEREN 2014', false},
		{'HØSTEN 2014', false},
		{'VINTEREN 2014', false},
	})
end

function p:test_dates()
	self:preprocess_equals_many('{{#invoke:Citation/CS1/Date validation/testhjelper|dates| ', ' }}', {
		{'c. 2014', true},
		{'ca. 2014', true}, -- inntil videre ihvertfall, må sjekkes opp
	})
end

function p:test_is_valid_month_or_season()
	self:preprocess_equals_many('{{#invoke:Citation/CS1/Date validation/testhjelper|is_valid_month_or_season| ', ' }}', {
		{'januar', true},
		{'februar', true},
		{'mars', true},
		{'april', true},
		{'mai', true},
		{'juni', true},
		{'juli', true},
		{'august', true},
		{'september', true},
		{'oktober', true},
		{'november', true},
		{'desember', true},
		{'våren', true},
		{'sommeren', true},
		{'høsten', true},
		{'vinteren', true},
		{'January', false},
		{'winter', false},
	})
end

return p