internal/cli:命令保留旗標機制,修正 login add 旗標被全域剖析搶走(#18) #20

Merged
alex merged 3 commits from fix/issue18-reserved-flags into main 2026-09-10 10:37:21 +08:00
Showing only changes of commit 0ed6f262c8 - Show all commits
+4 -4
View File
@@ -79,7 +79,7 @@ func TestExtractGlobals(t *testing.T) {
"--output", "table", "--output", "table",
"--timeout", "45s", "--timeout", "45s",
"next", "next",
}) }, nil)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -100,7 +100,7 @@ func TestExtractGlobals(t *testing.T) {
func TestExtractGlobalsAfterCommand(t *testing.T) { func TestExtractGlobalsAfterCommand(t *testing.T) {
// 全域選項出現在命令之後也應抽出(README:teai next --output table)。 // 全域選項出現在命令之後也應抽出(README:teai next --output table)。
g := defaultGlobals() g := defaultGlobals()
rest, err := extractGlobals(&g, []string{"version", "--output", "table"}) rest, err := extractGlobals(&g, []string{"version", "--output", "table"}, nil)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -124,7 +124,7 @@ func TestExtractGlobalsKeepsCommandFlags(t *testing.T) {
} }
for _, args := range cases { for _, args := range cases {
g := defaultGlobals() g := defaultGlobals()
rest, err := extractGlobals(&g, args) rest, err := extractGlobals(&g, args, nil)
if err != nil { if err != nil {
t.Fatalf("extractGlobals(%v) 不應報錯:%v", args, err) t.Fatalf("extractGlobals(%v) 不應報錯:%v", args, err)
} }
@@ -145,7 +145,7 @@ func TestExtractGlobalsKeepsCommandFlags(t *testing.T) {
func TestExtractGlobalsDoubleDashStops(t *testing.T) { func TestExtractGlobalsDoubleDashStops(t *testing.T) {
g := defaultGlobals() g := defaultGlobals()
rest, err := extractGlobals(&g, []string{"--output", "table", "--", "--url", "x"}) rest, err := extractGlobals(&g, []string{"--output", "table", "--", "--url", "x"}, nil)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }