fix(ref): treat X#N as a reference only when X names a repository

Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
bircni committed 2026-10-12 20:32:29 +02:00
1 parent 048bb291fc
commit 2c17f374cb
2 files changed
+12 -2

No files matched your search

+2 -2
View File
@@ -26,7 +26,6 @@ func TestParseRefAcceptsNumbersQualifiedNumbersAndURLs(t *testing.T) {
{raw: " 12 ", want: ref{Number: 12}},
{raw: "alice/project#12", want: ref{Number: 12, Repo: "alice/project"}},
{raw: "localhost:3001/alice/project#12", want: ref{Number: 12, Repo: "localhost:3001/alice/project"}},
{raw: "project#12", want: ref{Number: 12, Repo: "project"}},
{raw: "https://gitea.com/alice/project/issues/3", want: ref{Number: 3, Repo: "https://gitea.com/alice/project"}},
{raw: "https://gitea.com/alice/project/issues/3#issuecomment-79", want: ref{Number: 3, Repo: "https://gitea.com/alice/project"}},
{raw: "http://localhost:3001/base/alice/project/pulls/7/files?style=split", kind: pullRef, want: ref{Number: 7, Repo: "http://localhost:3001/base/alice/project"}},
@@ -52,7 +51,7 @@ func TestParseRefAcceptsNumbersQualifiedNumbersAndURLs(t *testing.T) {
require.NoError(t, err, tc.raw)
require.Equal(t, tc.want, got, tc.raw)
}
for _, branch := range []string{"feature/login", "bob:fix", "main"} {
for _, branch := range []string{"feature/login", "bob:fix", "main", "fix#12", "project#12", "bob:fix#3"} {
_, err := parseRef(branch, pullRef)
require.ErrorIs(t, err, errNotRef, branch)
}
@@ -164,6 +163,7 @@ func TestPullSelectorAcceptsNumbersURLsAndBranches(t *testing.T) {
{"bob:fix", 17, ""},
{"alice:fix", 0, `no open pull request for branch "alice:fix" in alice/project; pass a number, URL or branch`},
{"carol:dup", 21, ""},
{"fix#12", 0, `no open pull request for branch "fix#12" in alice/project`},
{"dup", 0, "several open pull requests"},
{serverURL + "/alice/project", 0, "is not a pull request URL"},
} {