path_spec.lua

Branches > main > 4623b60 > files / nvim / pack / plugins / opt / oil.nvim / tests / path_spec.lua

local pathutil = require("oil.pathutil")
describe("pathutil", function()
  it("calculates parent path", function()
    local cases = {
      { "/foo/bar", "/foo/" },
      { "/foo/bar/", "/foo/" },
      { "/", "/" },
      { "", "" },
      { "foo/bar/", "foo/" },
      { "foo", "" },
    }
    for _, case in ipairs(cases) do
      local input, expected = unpack(case)
      local output = pathutil.parent(input)
      assert.equals(expected, output, string.format('Parent path "%s" failed', input))
    end
  end)

  it("calculates basename", function()
    local cases = {
      { "/foo/bar", "bar" },
      { "/foo/bar/", "bar" },
      { "/", nil },
      { "", nil },
    }
    for _, case in ipairs(cases) do
      local input, expected = unpack(case)
      local output = pathutil.basename(input)
      assert.equals(expected, output, string.format('Basename "%s" failed', input))
    end
  end)
end)