canola.nvim/spec/url_spec.lua
Barrett Ruth e2cd1e66cf
Some checks are pending
quality / changes (push) Waiting to run
quality / Lua Format Check (push) Blocked by required conditions
quality / Lua Lint Check (push) Blocked by required conditions
quality / Lua Type Check (push) Blocked by required conditions
quality / Markdown Format Check (push) Blocked by required conditions
test / Test (Neovim nightly) (push) Waiting to run
test / Test (Neovim stable) (push) Waiting to run
refactor: revert canola namespace to oil and remove vim.g config (#120)
* refactor: revert module namespace from canola back to oil

Problem: the canola rename creates unnecessary friction for users
migrating from stevearc/oil.nvim — every `require('oil')` call and
config reference must change.

Solution: revert all module paths, URL schemes, autocmd groups,
highlight groups, and filetype names back to `oil`. The repo stays
`canola.nvim` for identity; the code is a drop-in replacement.

* refactor: remove `vim.g.oil` declarative config

Problem: the `vim.g.oil` configuration path was added prematurely.
It adds a second config entrypoint before the plugin has stabilized
enough to justify it.

Solution: remove `vim.g.oil` support from `plugin/oil.lua`,
`config.setup()`, docs, and tests. Users configure via
`require("oil").setup({})`.
2026-03-10 22:49:56 -04:00

32 lines
1.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)