46 lines
2.0 KiB
Lua
46 lines
2.0 KiB
Lua
local utils = require("telescope._extensions.resession.utils")
|
|
|
|
describe("apply_substitutions", function()
|
|
it("should apply substitutions to a session string", function()
|
|
local session = "C__Users_user_AppData_Local_nvim"
|
|
local substitutions = utils.internal_substitutions
|
|
local result = utils.apply_substitutions(session, substitutions, true)
|
|
assert.are.same("C:/Users/user/AppData/Local/nvim", result)
|
|
end)
|
|
|
|
it("should apply substitutions in reverse to a session string", function()
|
|
local session = "C:/Users/user/AppData/Local/nvim"
|
|
local substitutions = utils.internal_substitutions
|
|
local result = utils.apply_substitutions(session, substitutions)
|
|
assert.are.same("C__Users_user_AppData_Local_nvim", result)
|
|
end)
|
|
|
|
it("should apply substitutions to a session string with user substitutions", function()
|
|
local session = "C:/Users/user/AppData/Local/nvim"
|
|
local substitutions = {
|
|
{ find = "C:/", replace = "D:/" },
|
|
{ find = "nvim", replace = "neovim" },
|
|
}
|
|
local result = utils.apply_substitutions(session, substitutions)
|
|
assert.are.same("D:/Users/user/AppData/Local/neovim", result)
|
|
end)
|
|
end)
|
|
|
|
describe("encode_session", function()
|
|
it("should encode a session string", function()
|
|
local session = "D:/Users/user/AppData/Local/neovim"
|
|
local opts = { path_substitutions = { { find = "C:/", replace = "D:/" } } }
|
|
local result = utils.encode_session(session, opts)
|
|
assert.are.same("C__Users_user_AppData_Local_neovim", result)
|
|
end)
|
|
end)
|
|
|
|
describe("decode_sessions", function()
|
|
it("should decode a list of session strings", function()
|
|
local sessions = { "C__Users_user_AppData_Local_neovim" }
|
|
local opts = { path_substitutions = { { find = "C:/", replace = "D:/" } } }
|
|
local result = utils.decode_sessions(sessions, opts)
|
|
assert.are.same({ "D:/Users/user/AppData/Local/neovim" }, result)
|
|
end)
|
|
end)
|