(t *testing.T)
| 106 | } |
| 107 | |
| 108 | func TestResolveInput_MergeCommit(t *testing.T) { |
| 109 | repo := initBareRepo(t) |
| 110 | writeCommit(t, repo, "a.txt", "one\n", "root") |
| 111 | root := gitOut(t, repo, "rev-parse", "HEAD") |
| 112 | // Determine the current branch name (main or master). |
| 113 | mainBranch := gitOut(t, repo, "rev-parse", "--abbrev-ref", "HEAD") |
| 114 | |
| 115 | runGitTest(t, repo, "checkout", "-q", "-b", "side") |
| 116 | writeCommit(t, repo, "b.txt", "side\n", "side change") |
| 117 | |
| 118 | runGitTest(t, repo, "checkout", "-q", mainBranch) |
| 119 | writeCommit(t, repo, "c.txt", "mainline\n", "main change") |
| 120 | firstParent := gitOut(t, repo, "rev-parse", "HEAD") |
| 121 | runGitTest(t, repo, "merge", "-q", "--no-ff", "-m", "merge side", "side") |
| 122 | merge := gitOut(t, repo, "rev-parse", "HEAD") |
| 123 | |
| 124 | if merge == root { |
| 125 | t.Fatal("merge commit setup failed: HEAD did not advance") |
| 126 | } |
| 127 | |
| 128 | p := NewCommitProvider(repo, merge, nil) |
| 129 | got := p.ResolveInput(context.Background()) |
| 130 | if got.ResolvedHead != merge { |
| 131 | t.Errorf("ResolvedHead = %q, want %q", got.ResolvedHead, merge) |
| 132 | } |
| 133 | if got.ResolvedBase != firstParent { |
| 134 | t.Errorf("ResolvedBase = %q, want first parent %q", got.ResolvedBase, firstParent) |
| 135 | } |
| 136 | if want := firstParent + ".." + merge; got.ExactRange != want { |
| 137 | t.Errorf("ExactRange = %q, want %q", got.ExactRange, want) |
| 138 | } |
| 139 | } |
| 140 | |
| 141 | func TestResolveInput_Workspace(t *testing.T) { |
| 142 | repo := initRepoWithChange(t) // one commit + working-tree change |
nothing calls this directly
no test coverage detected