Content deleted Content added
try adding spellout tests using the #time parser function |
No edit summary |
||
(14 intermediate revisions by 6 users not shown) | |||
Line 1:
-- Unit tests for [[Module:
local p = require('Module:UnitTests')
local Date = require('Module:Date')._Date
local nowDateObj = Date('currentdate')
local dates = {
nowDateObj - '18y',
Date('July 1 2009'),
nowDateObj - '4m' + '1d',
Date('1 July 2049'),
}
local function checker(id, unit)
-- id = 1, 2, ... : dates[id] is the wanted date
-- unit = 'date', 'y', 'm', 'w', 'd', 'h'
local dateObj = dates[id] or error('invalid id: ' .. tostring(id))
if unit == 'date' then
return dateObj:text()
end
local diff = nowDateObj - dateObj
if unit == 'h' then
return math.floor(diff.days_ago * 24)
end
return tostring(math.abs(diff:age(unit)))
end
function p:test_main()
local lang = mw.language.getContentLanguage()
-- Calculate the time since/until the test dates here, since the expected output is dependent on the current time in most cases.
local currentTime = lang:formatDate( 'U' )
Line 10 ⟶ 32:
local secondssincejul09 = math.floor( jul09 )
local minutessincejul09 = math.floor( jul09 / 60 )
local yearsuntilaug57 = math.floor( ( lang:formatDate ( 'U', '4 August 2057' ) - currentTime ) / 31557600 )
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals('{{#invoke:
self:preprocess_equals_preprocess('{{#invoke:Time ago/sandbox|main|'..checker(1, 'date')..'|magnitude=days}}' , checker(1, 'd')..' days ago')
self:preprocess_equals_preprocess('{{#invoke:Time ago/sandbox|main|'..checker(1, 'date')..'|magnitude=weeks}}' , checker(1, 'w')..' weeks ago')
self:preprocess_equals_preprocess('{{#invoke:Time ago/sandbox|main|'..checker(1, 'date')..'|magnitude=months}}', checker(1, 'm')..' months ago')
self:preprocess_equals_preprocess('{{#invoke:Time ago/sandbox|main|'..checker(1, 'date')..'|magnitude=years}}' , checker(1, 'y')..' years ago')
-- Testing whether the module is accurate on the day
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -10 years }}}}', '10 years ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -10 years -1 days}}}}', '10 years ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years }}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -1 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -2 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -3 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -4 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -5 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -6 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -7 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -8 days}}}}', '12 months ago')
self:preprocess_equals('{{#invoke:Time ago/sandbox|main|{{#time: r | -1 years -8 days}}|numeric=y}}', '12')
end
|