Files
releases/util/enumflag_test.go
T
2017-02-22 14:49:21 -08:00

36 lines
828 B
Go

// Copyright 2017 The OPA Authors. All rights reserved.
// Use of this source code is governed by an Apache2
// license that can be found in the LICENSE file.
package util
import (
"strings"
"testing"
)
func TestEnumFlag(t *testing.T) {
flag := NewEnumFlag("foo", []string{"foo", "bar", "baz"})
if flag.String() != "foo" {
t.Fatalf("Expected default value to be foo but got: %v", flag.String())
}
if err := flag.Set("bar"); err != nil {
t.Fatalf("Unexpected error on set: %v", err)
}
if flag.String() != "bar" {
t.Fatalf("Expected value to be bar but got: %v", flag.String())
}
if !strings.Contains(flag.Type(), "foo,bar,baz") {
t.Fatalf("Expected flag type to contain foo,bar,baz but got: %v", flag.Type())
}
if err := flag.Set("deadbeef"); err == nil {
t.Fatalf("Expected error from set")
}
}