ecd369e622
* Removed bubbling errors in favour of panic * Added a test for Parse with a bad build and an arg. * Removed is() function in favour of a switch with strings * Collect key and value in parseCSV, reducing complexity. * Fix in global to not use parser instance on error.
32 lines
516 B
Go
32 lines
516 B
Go
package kong
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestParseHandlingBadBuild(t *testing.T) {
|
|
var cli struct {
|
|
Enabled bool `kong:"unknown"`
|
|
}
|
|
|
|
args := os.Args
|
|
defer func() {
|
|
os.Args = args
|
|
}()
|
|
|
|
os.Args = []string{os.Args[0], "hi"}
|
|
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
require.Equal(t, Error{msg: "unknown is an unknown kong key"}, r)
|
|
}
|
|
}()
|
|
|
|
Parse(&cli, ExitFunction(func(_ int) { panic("exiting") }))
|
|
|
|
require.Fail(t, "we were expecting a panic")
|
|
}
|