49 lines
1.6 KiB
Lua
49 lines
1.6 KiB
Lua
pcall(vim.fn.system, "rm -rf tests/git_branch_data")
|
|
|
|
local session_dir = vim.fn.getcwd() .. "/tests/git_branch_data/"
|
|
require("persisted").setup({
|
|
save_dir = session_dir,
|
|
use_git_branch = true,
|
|
})
|
|
|
|
describe("Git Branching", function()
|
|
it("creates a session", function()
|
|
vim.fn.system("mkdir tests/git_branch_data")
|
|
vim.fn.system("cd tests/git_branch_data && git init")
|
|
|
|
assert.equals(vim.fn.system("ls tests/git_branch_data | wc -l"):gsub("%s+", ""), "0")
|
|
|
|
vim.cmd(":e tests/stubs/test_git_branching.txt")
|
|
vim.cmd(":w tests/git_branch_data/test_git_branching.txt")
|
|
|
|
require("persisted").save()
|
|
assert.equals(vim.fn.system("ls tests/git_branch_data | wc -l"):gsub("%s+", ""), "2")
|
|
end)
|
|
|
|
it("ensures the session has the branch name in", function()
|
|
if vim.fn.isdirectory(session_dir .. "/.git") == 0 then
|
|
vim.fn.system("mkdir -p " .. session_dir)
|
|
vim.fn.system("cd " .. session_dir .. " && git init")
|
|
end
|
|
|
|
local branch_name = require("persisted").branch()
|
|
|
|
-- Check if branch_name is valid
|
|
if not branch_name then
|
|
print("Failed to get branch name.")
|
|
branch_name = ""
|
|
else
|
|
branch_name = "@@" .. branch_name
|
|
end
|
|
|
|
-- Workout what the name should be
|
|
local pattern = "/"
|
|
local name = vim.fn.getcwd():gsub(pattern, "%%") .. branch_name .. ".vim"
|
|
local session = vim.fn.glob(session_dir .. "*.vim", true, true)[1]
|
|
|
|
session:gsub(session_dir .. "/", "")
|
|
assert.equals(session, vim.fn.getcwd() .. "/tests/git_branch_data/" .. name)
|
|
-- assert.equals(sessions[1]:gsub(pattern, "%%"), name)
|
|
end)
|
|
end)
|