Add basename function to nextfile

This commit is contained in:
The Magician 2023-11-18 17:57:53 +00:00
parent d802a6e25f
commit 04e9638261
2 changed files with 55 additions and 5 deletions

View File

@ -1,7 +1,49 @@
describe("nextfile", function() describe("basename", function()
local nextfile = require "nextfile" local nextfile = require "nextfile"
it("returns true", function() it("should return the basename of an absolute filepath", function()
assert.is_true(nextfile.nextfile()) local name = nextfile.basename("/testdir/701.txt")
assert.are.equal("701", name)
end)
it("should return the basename of a relative filepath", function()
local name = nextfile.basename("../../foo/testdir/file.mp3")
assert.are.equal("file", name)
end) end)
end) end)
describe("nextfile", function()
local prevfile = require "prevfile"
local nextfile = require "nextfile"
insulate("prevfile.prevfile returns nil", function()
prevfile.prevfile = function() return nil end
it("should call prevfile.prevfile", function()
spy.on(prevfile, "prevfile")
test_directory = "/testdir"
nextfile.nextfile(test_directory)
assert.spy(prevfile.prevfile).was_called_with(test_directory)
end)
it("should return nil", function()
local file = nextfile.nextfile("/testdir")
assert.are.equal(nil, file)
end)
end)
-- insulate("prevfile.prevfile returns a numeric filename", function()
-- prevfile.prevfile = function() return "/testdir/701.txt" end
--
-- it("should return the result of incrementing the filename", function()
-- local file = nextfile.nextfile("/testdir")
--
-- assert.are.equal("/testdir/702.txt", file)
-- end)
-- end)
end)

View File

@ -1,7 +1,15 @@
local prevfile = require "prevfile"
local nextfile = {} local nextfile = {}
function nextfile.nextfile() function nextfile.basename(path)
return true return path:match("^.*/(.*)%.%w*")
end
function nextfile.nextfile(directory)
prevfile.prevfile(directory)
return nil
end end
return nextfile return nextfile