Модуль:Wikidata/date/tests

Материал из Буквицы
Перейти к навигации Перейти к поиску

Для документации этого модуля может быть создана страница Модуль:Wikidata/date/tests/doc

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

function p:test_formatAsJulian()
	self:preprocess_equals_preprocess_many(
		'{{#invoke:Wikidata/date | formatAsJulian | ', 'T00:00:00Z }}',
		'<span class="nowrap">',
		'</span>', 
		{
			{'-5-02-28', '[[28 февраля]] [[5 год до н. э.|5 до н. э.]]'},
			{'-5-02-29', '[[29 февраля]] [[5 год до н. э.|5 до н. э.]]'},
			{'-5-03-01',    '[[1 марта]] [[5 год до н. э.|5 до н. э.]]'},
			{'-0005-03-01', '[[1 марта]] [[5 год до н. э.|5 до н. э.]]'},

			{'50-02-28', '[[28 февраля]] [[50 год|50]]'},
			{'50-02-29', '[[29 февраля]] [[50 год|50]]'},
			{'50-03-01',    '[[1 марта]] [[50 год|50]]'},
			{'0050-03-01',  '[[1 марта]] [[50 год|50]]'},

			{'1500-02-28', '[[28 февраля]] [[1500 год|1500]]'},
			{'1500-02-29', '[[29 февраля]] [[1500 год|1500]]'},
			{'1500-03-01',    '[[1 марта]] [[1500 год|1500]]'},
			{'+1500-03-01',   '[[1 марта]] [[1500 год|1500]]'},
		}
	)

	-- юлианский календарь
	self:preprocess_equals_preprocess_many(
		'{{#invoke:Wikidata/date | formatAsJulian | ', 'T00:00:00Z }}',
		'<span class="nowrap"><abbr title="по юлианскому календарю">',
		'</span>', 
		{
			{'1600-02-28', '28 февраля</abbr> ([[9 марта]]) [[1600 год|1600]]'},
			{'1600-02-29', '29 февраля</abbr> ([[10 марта]]) [[1600 год|1600]]'},
			{'1600-03-01', '1</abbr> [[11 марта|(11) марта]] [[1600 год|1600]]'},
			
			{'1700-02-28', '28 февраля</abbr> ([[10 марта]]) [[1700 год|1700]]'},
			{'1700-02-29', '29 февраля</abbr> ([[11 марта]]) [[1700 год|1700]]'},
			{'1700-03-01', '1</abbr> [[12 марта|(12) марта]] [[1700 год|1700]]'},
			
			{'1899-12-20', '20 декабря 1899</abbr></span> <span class="nowrap"> ([[1 января]] [[1900 год|1900]])'},
			{'1915-01-02', '2</abbr> [[15 января|(15) января]] [[1915 год|1915]]'},

			{'1900-02-27', '27 февраля</abbr> ([[11 марта]]) [[1900 год|1900]]'},
			{'1900-02-28', '28 февраля</abbr> ([[12 марта]]) [[1900 год|1900]]'},
			{'1900-02-29', '29 февраля</abbr> ([[13 марта]]) [[1900 год|1900]]'},
			{'1900-03-01', '1</abbr> [[14 марта|(14) марта]] [[1900 год|1900]]'},
			{'1900-03-02', '2</abbr> [[15 марта|(15) марта]] [[1900 год|1900]]'},
		}
	)
	
	-- пограничный случай
	self:preprocess_equals_preprocess_many(
		'{{#invoke:Wikidata/date | formatAsJulian | ', 'T00:00:00Z }}', '', '', 
		{
			{'1925-12-31', '<span class="nowrap"><abbr title="по юлианскому календарю">31 декабря 1925</abbr></span> <span class="nowrap"> ([[13 января]] [[1926 год|1926]])</span>'},
			{'1926-01-01', "''некорректная дата (юлианский календарь не используется после 1926-01-01)''"},
		}
	)
end

return p