Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

neovim/tests/std/timeago_spec.lua

Raw
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)