canola.nvim/spec/url_spec.lua
Barrett Ruth 0d3088f57e
refactor: rename oil to canola across entire codebase (#70)
Problem: the codebase still used the upstream \`oil\` naming everywhere —
URL schemes, the \`:Oil\` command, highlight groups, user events, module
paths, filetypes, buffer/window variables, LuaCATS type annotations,
vimdoc help tags, syntax groups, and internal identifiers.

Solution: mechanical rename of every reference. URL schemes now use
\`canola://\` (plus \`canola-ssh://\`, \`canola-s3://\`, \`canola-sss://\`,
\`canola-trash://\`, \`canola-test://\`). The \`:Canola\` command replaces
\`:Oil\`. All highlight groups, user events, augroups, namespaces,
filetypes, require paths, type annotations, help tags, and identifiers
follow suit. The \`upstream\` remote to \`stevearc/oil.nvim\` has been
removed and the \`vim.g.oil\` deprecation shim dropped.
2026-03-05 14:50:10 -05:00

32 lines
1.1 KiB
Lua

local canola = require('canola')
local util = require('canola.util')
describe('url', function()
it('get_url_for_path', function()
local cases = {
{ '', 'canola://' .. util.addslash(vim.fn.getcwd()) },
{
'term://~/canola.nvim//52953:/bin/sh',
'canola://' .. vim.loop.os_homedir() .. '/canola.nvim/',
},
{ '/foo/bar.txt', 'canola:///foo/', 'bar.txt' },
{ 'canola:///foo/bar.txt', 'canola:///foo/', 'bar.txt' },
{ 'canola:///', 'canola:///' },
{
'canola-ssh://user@hostname:8888//bar.txt',
'canola-ssh://user@hostname:8888//',
'bar.txt',
},
{ 'canola-ssh://user@hostname:8888//', 'canola-ssh://user@hostname:8888//' },
}
for _, case in ipairs(cases) do
local input, expected, expected_basename = unpack(case)
local output, basename = canola.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)