Checking in vendor folder for ease of using go get.
This commit is contained in:
parent
7a1251853b
commit
cdb4b5a1d0
3554 changed files with 1270116 additions and 0 deletions
134
vendor/github.com/spf13/pflag/bytes_test.go
generated
vendored
Normal file
134
vendor/github.com/spf13/pflag/bytes_test.go
generated
vendored
Normal file
|
@ -0,0 +1,134 @@
|
|||
package pflag
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func setUpBytesHex(bytesHex *[]byte) *FlagSet {
|
||||
f := NewFlagSet("test", ContinueOnError)
|
||||
f.BytesHexVar(bytesHex, "bytes", []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, "Some bytes in HEX")
|
||||
f.BytesHexVarP(bytesHex, "bytes2", "B", []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, "Some bytes in HEX")
|
||||
return f
|
||||
}
|
||||
|
||||
func TestBytesHex(t *testing.T) {
|
||||
testCases := []struct {
|
||||
input string
|
||||
success bool
|
||||
expected string
|
||||
}{
|
||||
/// Positive cases
|
||||
{"", true, ""}, // Is empty string OK ?
|
||||
{"01", true, "01"},
|
||||
{"0101", true, "0101"},
|
||||
{"1234567890abcdef", true, "1234567890ABCDEF"},
|
||||
{"1234567890ABCDEF", true, "1234567890ABCDEF"},
|
||||
|
||||
// Negative cases
|
||||
{"0", false, ""}, // Short string
|
||||
{"000", false, ""}, /// Odd-length string
|
||||
{"qq", false, ""}, /// non-hex character
|
||||
}
|
||||
|
||||
devnull, _ := os.Open(os.DevNull)
|
||||
os.Stderr = devnull
|
||||
|
||||
for i := range testCases {
|
||||
var bytesHex []byte
|
||||
f := setUpBytesHex(&bytesHex)
|
||||
|
||||
tc := &testCases[i]
|
||||
|
||||
// --bytes
|
||||
args := []string{
|
||||
fmt.Sprintf("--bytes=%s", tc.input),
|
||||
fmt.Sprintf("-B %s", tc.input),
|
||||
fmt.Sprintf("--bytes2=%s", tc.input),
|
||||
}
|
||||
|
||||
for _, arg := range args {
|
||||
err := f.Parse([]string{arg})
|
||||
|
||||
if err != nil && tc.success == true {
|
||||
t.Errorf("expected success, got %q", err)
|
||||
continue
|
||||
} else if err == nil && tc.success == false {
|
||||
// bytesHex, err := f.GetBytesHex("bytes")
|
||||
t.Errorf("expected failure while processing %q", tc.input)
|
||||
continue
|
||||
} else if tc.success {
|
||||
bytesHex, err := f.GetBytesHex("bytes")
|
||||
if err != nil {
|
||||
t.Errorf("Got error trying to fetch the 'bytes' flag: %v", err)
|
||||
}
|
||||
if fmt.Sprintf("%X", bytesHex) != tc.expected {
|
||||
t.Errorf("expected %q, got '%X'", tc.expected, bytesHex)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func setUpBytesBase64(bytesBase64 *[]byte) *FlagSet {
|
||||
f := NewFlagSet("test", ContinueOnError)
|
||||
f.BytesBase64Var(bytesBase64, "bytes", []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, "Some bytes in Base64")
|
||||
f.BytesBase64VarP(bytesBase64, "bytes2", "B", []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, "Some bytes in Base64")
|
||||
return f
|
||||
}
|
||||
|
||||
func TestBytesBase64(t *testing.T) {
|
||||
testCases := []struct {
|
||||
input string
|
||||
success bool
|
||||
expected string
|
||||
}{
|
||||
/// Positive cases
|
||||
{"", true, ""}, // Is empty string OK ?
|
||||
{"AQ==", true, "AQ=="},
|
||||
|
||||
// Negative cases
|
||||
{"AQ", false, ""}, // Padding removed
|
||||
{"ï", false, ""}, // non-base64 characters
|
||||
}
|
||||
|
||||
devnull, _ := os.Open(os.DevNull)
|
||||
os.Stderr = devnull
|
||||
|
||||
for i := range testCases {
|
||||
var bytesBase64 []byte
|
||||
f := setUpBytesBase64(&bytesBase64)
|
||||
|
||||
tc := &testCases[i]
|
||||
|
||||
// --bytes
|
||||
args := []string{
|
||||
fmt.Sprintf("--bytes=%s", tc.input),
|
||||
fmt.Sprintf("-B %s", tc.input),
|
||||
fmt.Sprintf("--bytes2=%s", tc.input),
|
||||
}
|
||||
|
||||
for _, arg := range args {
|
||||
err := f.Parse([]string{arg})
|
||||
|
||||
if err != nil && tc.success == true {
|
||||
t.Errorf("expected success, got %q", err)
|
||||
continue
|
||||
} else if err == nil && tc.success == false {
|
||||
// bytesBase64, err := f.GetBytesBase64("bytes")
|
||||
t.Errorf("expected failure while processing %q", tc.input)
|
||||
continue
|
||||
} else if tc.success {
|
||||
bytesBase64, err := f.GetBytesBase64("bytes")
|
||||
if err != nil {
|
||||
t.Errorf("Got error trying to fetch the 'bytes' flag: %v", err)
|
||||
}
|
||||
if base64.StdEncoding.EncodeToString(bytesBase64) != tc.expected {
|
||||
t.Errorf("expected %q, got '%X'", tc.expected, bytesBase64)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue