refactor(git): drive :G dispatch from buffer content
This commit is contained in:
@@ -234,90 +234,3 @@ t.test("complete unknown subcommand falls back to tracked paths", function()
|
||||
local matches = cmd.complete("", "G nonexistent ", 14)
|
||||
eq_sorted(matches, { "a", "b" })
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs default is index vs worktree", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff" })
|
||||
t.eq(left, ":")
|
||||
t.eq(right, nil)
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs --cached is HEAD vs index", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff", "--cached" })
|
||||
t.eq(left, "HEAD")
|
||||
t.eq(right, ":")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs --staged is HEAD vs index", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff", "--staged" })
|
||||
t.eq(left, "HEAD")
|
||||
t.eq(right, ":")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs single rev is rev vs worktree", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff", "HEAD" })
|
||||
t.eq(left, "HEAD")
|
||||
t.eq(right, nil)
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs single rev with --cached is rev vs index", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right =
|
||||
cmd._compute_diff_refs(r, { "diff", "--cached", "HEAD" })
|
||||
t.eq(left, "HEAD")
|
||||
t.eq(right, ":")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs two revs", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
git(dir, "commit", "--allow-empty", "-m", "second")
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right =
|
||||
cmd._compute_diff_refs(r, { "diff", "HEAD~1", "HEAD" })
|
||||
t.eq(left, "HEAD~1")
|
||||
t.eq(right, "HEAD")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs double-dot range", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
git(dir, "commit", "--allow-empty", "-m", "second")
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff", "HEAD~1..HEAD" })
|
||||
t.eq(left, "HEAD~1")
|
||||
t.eq(right, "HEAD")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs triple-dot range", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
git(dir, "commit", "--allow-empty", "-m", "second")
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right =
|
||||
cmd._compute_diff_refs(r, { "diff", "HEAD~1...HEAD" })
|
||||
t.eq(left, "HEAD~1")
|
||||
t.eq(right, "HEAD")
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs path-only falls back to defaults", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right = cmd._compute_diff_refs(r, { "diff", "a" })
|
||||
t.eq(left, ":")
|
||||
t.eq(right, nil)
|
||||
end)
|
||||
|
||||
t.test("compute_diff_refs ignores args after --", function()
|
||||
local dir = make_repo({ a = "x" })
|
||||
local r = assert(require("git.repo").resolve(dir))
|
||||
local left, right =
|
||||
cmd._compute_diff_refs(r, { "diff", "--", "HEAD" })
|
||||
t.eq(left, ":")
|
||||
t.eq(right, nil)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user