Ugrás a tartalomhoz

Modul:Time/tests

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen JulesWinnfield-hu (vitalap | szerkesztései) 2015. március 30., 19:52-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (+testParseTimestamp)

Time modul tesztek[mi ez?]

Név Várt Tényleges
testParseTimestamp Lua error -- Modul:Time/tests:39: attempt to call field 'newFromIso8061' (a nil value)
testAge Lua error -- Modul:Time/tests:14: attempt to call field 'newFromIso8061' (a nil value)
testFormatDate Lua error -- Modul:Time/tests:23: attempt to call field 'newFromIso8061' (a nil value)
testNew Lua error -- Modul:Time/tests:6: attempt to call field 'newFromIso8061' (a nil value)
local Time = require'Modul:Time'
local ScribuntoUnit = require'Modul:ScribuntoUnit'
local suite = ScribuntoUnit:new()

function suite:testNew()
	self:assertEquals('2013-10-23', Time.newFromIso8061('2013-10-23'):toString())
	local status, value = pcall(function () return mw.wikibase.getEntityObject().claims.P569[1].mainsnak.datavalue.value end)
	if status then
		self:assertEquals('2012-10-23', Time.newFromWikidataValue(value):toString())
	end
end

function suite:testAge()
	local time1 = Time.newFromIso8061'2003-11-09'
	local time2 = Time.newFromIso8061'2013-12-09'
	local time3 = Time.newFromIso8061'2013-10-09'
	self:assertEquals(10, Time.age(time1, time2))
	self:assertEquals(9, Time.age(time1, time3))
	self:assertTrue(Time.age(time1) >= 10)
end

function suite:testFormatDate()
	self:assertEquals('[[i. e. 323]]. [[június 10.|június 10.]]', Time.newFromIso8061('-00000000323-06-10T00:00:00Z'):formatDate())
	self:assertEquals('2013. október 23.', Time.newFromIso8061('2013-10-23'):formatDate{link = 'nem'})
	self:assertEquals('1923. augusztus', Time.new{year = 1923, month = 8, precision = Time.PRECISION.MONTH}:formatDate{link = 'nem'})
	self:assertEquals('1655', Time.newFromIso8061('1655'):formatDate{link = 'nem'})
	self:assertEquals('[[1. század]]', Time.new{year = 100, precision = Time.PRECISION.YEAR100}:formatDate())
	self:assertEquals('i. e. 2. évezred', Time.new{year = -2000, precision = Time.PRECISION.KY}:formatDate{link = 'nem'})
	self:assertEquals('1920-as évek', Time.new{year = 1922, precision = Time.PRECISION.YEAR10}:formatDate{link = 'nem'})
	self:assertEquals('1950-es évek', Time.new{year = 1950, precision = Time.PRECISION.YEAR10}:formatDate{link = 'nem'})
	self:assertEquals('1700-as évek', Time.new{year = 1705, precision = Time.PRECISION.YEAR10}:formatDate{link = 'nem'})
	self:assertEquals('2000-es évek', Time.new{year = 2006, precision = Time.PRECISION.YEAR10}:formatDate{link = 'nem'})
	self:assertEquals('[[i. e. 740-es évek]]', Time.new{year = -741, precision = Time.PRECISION.YEAR10}:formatDate())
end

-- Test cases from https://github.com/wmde/DataValuesJavascript/blob/master/tests/src/values/TimeValue.tests.js
function suite:testParseTimestamp()
	local t
	t = Time.newFromIso8061('-9000000000000000-12-31T23:59:59Z') self:assertDeepEquals({-9000000000000000, 12, 31}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-123456789012-00-00T00:00:00Z') self:assertDeepEquals({-123456789012, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-12345678901-00-00T00:00:00Z') self:assertDeepEquals({-12345678901, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-1234-01-01T01:01:01Z') self:assertDeepEquals({-1234, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-0123-01-01T01:01:01Z') self:assertDeepEquals({-123, 1, 1}, {t.year, t.month, t.day})

	t = Time.newFromIso8061('-0012-01-01T01:01:01Z') self:assertDeepEquals({-12, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-0001-01-01T01:01:01Z') self:assertDeepEquals({-1, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+0000-01-01T01:01:01Z') self:assertDeepEquals({0, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+0001-01-01T01:01:01Z') self:assertDeepEquals({1, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+0012-00-00T00:00:00Z') self:assertDeepEquals({12, 0, 0}, {t.year, t.month, t.day})

	t = Time.newFromIso8061('+0123-00-00T00:00:00Z') self:assertDeepEquals({123, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+1234-00-00T00:00:00Z') self:assertDeepEquals({1234, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+1234567890-00-00T00:00:00Z') self:assertDeepEquals({1234567890, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+12345678901-00-00T00:00:00Z') self:assertDeepEquals({12345678901, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+123456789012-00-00T00:00:00Z') self:assertDeepEquals({123456789012, 0, 0}, {t.year, t.month, t.day})

	t = Time.newFromIso8061('+1234567890123456-00-00T00:00:00Z') self:assertDeepEquals({1234567890123456, 0, 0}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+9000000000000000-12-31T23:59:59Z') self:assertDeepEquals({9000000000000000, 12, 31}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-900000000000000-12-31T23:59:59Z') self:assertDeepEquals({-900000000000000, 12, 31}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-0123-01-01T01:01:01Z') self:assertDeepEquals({-123, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+0000-01-01T01:01:01Z') self:assertDeepEquals({0, 1, 1}, {t.year, t.month, t.day})

	t = Time.newFromIso8061('+0001-01-01T01:01:01Z') self:assertDeepEquals({1, 1, 1}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+900000000000000-12-31T23:59:59Z') self:assertDeepEquals({900000000000000, 12, 31}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('-9999999999999999-12-31T23:59:59Z') self:assertDeepEquals({-9999999999999999, 12, 31}, {t.year, t.month, t.day})
	t = Time.newFromIso8061('+9999999999999999-12-31T23:59:59Z') self:assertDeepEquals({9999999999999999, 12, 31}, {t.year, t.month, t.day})
end

return suite