mirror of
https://github.com/kristoferssolo/telescope-frecency.nvim.git
synced 2025-10-21 20:10:38 +00:00
* refactor: simplify logic to load web_devicons * refactor: make register() asynchronous * fix: load lazily modules outside this plugin * refactor: simplify logic to wait initialization * refactor: use uv.hrtime() instead of os.clock() * fix: avoid errors in calling plenary.log in async * test: store elapsed time to check in tests * test: fix module names This becomes a problem only in Ubuntu because macOS and Windows does not care cases in filenames. * test: fix types and unused modules * style: fix by stylua * refactor: make recency / entry_maker loaded lazily
19 lines
825 B
Lua
19 lines
825 B
Lua
local recency = require "frecency.recency"
|
|
|
|
describe("frecency.recency", function()
|
|
for _, c in ipairs {
|
|
{ count = 1, ages = { 200 }, score = 10 },
|
|
{ count = 2, ages = { 200, 1000 }, score = 36 },
|
|
{ count = 3, ages = { 200, 1000, 4000 }, score = 72 },
|
|
{ count = 4, ages = { 200, 1000, 4000, 10000 }, score = 112 },
|
|
{ count = 5, ages = { 200, 1000, 4000, 10000, 40000 }, score = 150 },
|
|
{ count = 6, ages = { 200, 1000, 4000, 10000, 40000, 100000 }, score = 186 },
|
|
{ count = 86, ages = { 11770, 11769, 11431, 5765, 3417, 3398, 3378, 134, 130, 9 }, score = 4988 },
|
|
} do
|
|
local dumped = vim.inspect(c.ages, { indent = "", newline = "" })
|
|
it(("%d, %s => %d"):format(c.count, dumped, c.score), function()
|
|
assert.are.same(c.score, recency.calculate(c.count, c.ages))
|
|
end)
|
|
end
|
|
end)
|