* wip: skeleton code for trash adapter * refactor: split trash implementation for mac and linux * fix: ensure we create the .Trash/$uid dir * feat: code complete linux trash implementation * doc: write up trash features * feat: code complete mac trash implementation * cleanup: remove previous, terrible, undocumented trash feature * fix: always disabled trash * feat: show original path of trashed files * doc: add a note about calling actions directly * fix: bugs in trash implementation * fix: schedule_wrap in mac trash * doc: fix typo and line wrapping * fix: parsing of arguments to :Oil command * doc: small documentation tweaks * doc: fix awkward wording in the toggle_trash action * fix: warning on Windows when delete_to_trash = true * feat: :Oil --trash can open specific trash directories * fix: show all trash files in device root * fix: trash mtime should be sortable * fix: shorten_path handles optional trailing slash * refactor: overhaul the UI * fix: keep trash original path vtext from stacking * refactor: replace disable_changes with an error filter * fix: shorten path names in home directory relative to root * doc: small README format changes * cleanup: remove unnecessary preserve_undo logic * test: add a functional test for the freedesktop trash adapter * test: more functional tests for trash * fix: schedule a callback to avoid main loop error * refactor: clean up mutator logic * doc: some comments and type annotations
25 lines
1 KiB
Lua
25 lines
1 KiB
Lua
local oil = require("oil")
|
|
local util = require("oil.util")
|
|
describe("url", function()
|
|
it("get_url_for_path", function()
|
|
local cases = {
|
|
{ "", "oil://" .. util.addslash(vim.fn.getcwd()) },
|
|
{ "term://~/oil.nvim//52953:/bin/sh", "oil://" .. vim.loop.os_homedir() .. "/oil.nvim/" },
|
|
{ "/foo/bar.txt", "oil:///foo/", "bar.txt" },
|
|
{ "oil:///foo/bar.txt", "oil:///foo/", "bar.txt" },
|
|
{ "oil:///", "oil:///" },
|
|
{ "oil-ssh://user@hostname:8888//bar.txt", "oil-ssh://user@hostname:8888//", "bar.txt" },
|
|
{ "oil-ssh://user@hostname:8888//", "oil-ssh://user@hostname:8888//" },
|
|
}
|
|
for _, case in ipairs(cases) do
|
|
local input, expected, expected_basename = unpack(case)
|
|
local output, basename = oil.get_buffer_parent_url(input, true)
|
|
assert.equals(expected, output, string.format('Parent url for path "%s" failed', input))
|
|
assert.equals(
|
|
expected_basename,
|
|
basename,
|
|
string.format('Basename for path "%s" failed', input)
|
|
)
|
|
end
|
|
end)
|
|
end)
|