31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
package cli
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestNormalizeCommandArgsMovesFlagsBeforePositionals(t *testing.T) {
|
|
got := normalizeCommandArgs([]string{"openclaw/openclaw", "--query", "download", "--json"}, map[string]bool{"query": true})
|
|
want := []string{"--query", "download", "--json", "openclaw/openclaw"}
|
|
if !reflect.DeepEqual(got, want) {
|
|
t.Fatalf("args: got %#v want %#v", got, want)
|
|
}
|
|
}
|
|
|
|
func TestNormalizeCommandArgsKeepsInlineValues(t *testing.T) {
|
|
got := normalizeCommandArgs([]string{"openclaw/openclaw", "--limit=5"}, map[string]bool{"limit": true})
|
|
want := []string{"--limit=5", "openclaw/openclaw"}
|
|
if !reflect.DeepEqual(got, want) {
|
|
t.Fatalf("args: got %#v want %#v", got, want)
|
|
}
|
|
}
|
|
|
|
func TestNormalizeCommandArgsMovesShortStringFlags(t *testing.T) {
|
|
got := normalizeCommandArgs([]string{"hot loop", "-R", "openclaw/openclaw", "--state", "open"}, map[string]bool{"R": true, "state": true})
|
|
want := []string{"-R", "openclaw/openclaw", "--state", "open", "hot loop"}
|
|
if !reflect.DeepEqual(got, want) {
|
|
t.Fatalf("args: got %#v want %#v", got, want)
|
|
}
|
|
}
|