local timeago = require('std.timeago') describe('std.timeago', function() describe('_.format', function() it('should return "now" when diff < 45 seconds', function() local time = os.time() - 44 local result = timeago.format(time) assert.equal('now', result) end) it('should return "1 mi" (singular) when diff ≈ 60s', function() local time = os.time() - 60 local result = timeago.format(time) assert.equal('1 mi', result) end) it('should return "2 mis" (plural) when diff ≈ 90s', function() local time = os.time() - 90 local result = timeago.format(time) assert.equal('2 mis', result) end) it('should return "1 hr" (singular) when diff ≈ 60min', function() local time = os.time() - 60 * 60 local result = timeago.format(time) assert.equal('1 hr', result) end) it('should return "2 hrs" (plural) when diff ≈ 90min', function() local time = os.time() - 90 * 60 local result = timeago.format(time) assert.equal('2 hrs', result) end) it('should return "1 dy" (singular) when diff ≈ 24hrs', function() local time = os.time() - 24 * 60 * 60 local result = timeago.format(time) assert.equal('1 dy', result) end) it('should return "2 dys" (plural) when diff ≈ 48hrs', function() local time = os.time() - 48 * 60 * 60 local result = timeago.format(time) assert.equal('2 dys', result) end) it('should return "1 wk" (singular) when diff ≈ 10 days', function() -- 10 days = 1.43 weeks, which is < 1.5 threshold for singular local time = os.time() - 10 * 24 * 60 * 60 local result = timeago.format(time) assert.equal('1 wk', result) end) it('should return "1 mo" (singular) when diff ≈ 35 days', function() -- 35 days = 5 weeks = 1.17 months, which is < 1.5 threshold for singular local time = os.time() - 35 * 24 * 60 * 60 local result = timeago.format(time) assert.equal('1 mo', result) end) it('should return "1 yr" (singular) when diff ≈ 365 days', function() local time = os.time() - 365 * 24 * 60 * 60 local result = timeago.format(time) assert.equal('1 yr', result) end) it('should return "2 yrs" (plural) when diff ≈ 730 days', function() local time = os.time() - 730 * 24 * 60 * 60 local result = timeago.format(time) assert.equal('2 yrs', result) end) end) end)