-
Notifications
You must be signed in to change notification settings - Fork 0
/
errors_test.go
44 lines (40 loc) · 1.42 KB
/
errors_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// SPDX-License-Identifier: Apache-2.0
// Copyright 2023 The Prime Citizens
package cli
import (
"testing"
"github.com/primecitizens/cli/internal/assert"
)
func TestErrors(t *testing.T) {
for _, test := range []struct {
err error
msg string
}{
{&ErrAmbiguousArgs{Name: "foo", Value: "-1"},
"ambiguous arg combination `--foo -1`: implicit flag followed by potential flag"},
{&ErrAmbiguousArgs{Name: "f", Value: "-1"},
"ambiguous arg combination `-f -1`: implicit flag followed by potential flag"},
{&ErrShorthandOfExplicitFlagInMiddle{Shorthand: "f", ShorthandCluster: "cfd", Value: "pri"},
"non-implicit flag -f cannot use value specified with `=` in middle of shorthands (-cfd=pri)"},
{&ErrDuplicateFlag{Name: "foo"},
"duplicate flag --foo"},
{&ErrDuplicateFlag{Name: "f"},
"duplicate flag -f"},
{&ErrFlagUndefined{Name: "foo"},
"undefined flag --foo (index: 0)"},
{&ErrFlagUndefined{Name: "f", At: -1},
"undefined flag -f"},
{&ErrFlagValueMissing{Name: "foo", At: 1},
"missing value for flag --foo (index: 1)"},
{&ErrFlagValueMissing{Name: "f", At: 1},
"missing value for flag -f (index: 1)"},
{&ErrCmdNotRunnable{Name: "foo"},
"command foo is not runnable (not having function Run)"},
{&ErrHelpPending{HelpArg: "foo", At: 1},
"help requested by arg `foo` (index: 1) but not handled"},
{&ErrHelpHandled{},
"help request handled"},
} {
assert.Eq(t, test.msg, test.err.Error())
}
}