diff options
Diffstat (limited to 'vendor/gopkg.in/asn1-ber.v1/length_test.go')
-rw-r--r-- | vendor/gopkg.in/asn1-ber.v1/length_test.go | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/vendor/gopkg.in/asn1-ber.v1/length_test.go b/vendor/gopkg.in/asn1-ber.v1/length_test.go deleted file mode 100644 index 289510a8d..000000000 --- a/vendor/gopkg.in/asn1-ber.v1/length_test.go +++ /dev/null @@ -1,191 +0,0 @@ -package ber - -import ( - "bytes" - "io" - "math" - "testing" -) - -func TestReadLength(t *testing.T) { - testcases := map[string]struct { - Data []byte - - ExpectedLength int64 - ExpectedBytesRead int - ExpectedError string - }{ - "empty": { - Data: []byte{}, - ExpectedBytesRead: 0, - ExpectedError: io.ErrUnexpectedEOF.Error(), - }, - "invalid first byte": { - Data: []byte{0xFF}, - ExpectedBytesRead: 1, - ExpectedError: "invalid length byte 0xff", - }, - - "indefinite form": { - Data: []byte{LengthLongFormBitmask}, - ExpectedLength: LengthIndefinite, - ExpectedBytesRead: 1, - }, - - "short-definite-form zero length": { - Data: []byte{0}, - ExpectedLength: 0, - ExpectedBytesRead: 1, - }, - "short-definite-form length 1": { - Data: []byte{1}, - ExpectedLength: 1, - ExpectedBytesRead: 1, - }, - "short-definite-form max length": { - Data: []byte{127}, - ExpectedLength: 127, - ExpectedBytesRead: 1, - }, - - "long-definite-form missing bytes": { - Data: []byte{LengthLongFormBitmask | 1}, - ExpectedBytesRead: 1, - ExpectedError: io.ErrUnexpectedEOF.Error(), - }, - "long-definite-form overflow": { - Data: []byte{LengthLongFormBitmask | 9}, - ExpectedBytesRead: 1, - ExpectedError: "long-form length overflow", - }, - "long-definite-form zero length": { - Data: []byte{LengthLongFormBitmask | 1, 0x0}, - ExpectedLength: 0, - ExpectedBytesRead: 2, - }, - "long-definite-form length 127": { - Data: []byte{LengthLongFormBitmask | 1, 127}, - ExpectedLength: 127, - ExpectedBytesRead: 2, - }, - "long-definite-form max length (32-bit)": { - Data: []byte{ - LengthLongFormBitmask | 4, - 0x7F, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - }, - ExpectedLength: math.MaxInt32, - ExpectedBytesRead: 5, - }, - "long-definite-form max length (64-bit)": { - Data: []byte{ - LengthLongFormBitmask | 8, - 0x7F, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - }, - ExpectedLength: math.MaxInt64, - ExpectedBytesRead: 9, - }, - } - - for k, tc := range testcases { - // Skip tests requiring 64-bit integers on platforms that don't support them - if tc.ExpectedLength != int64(int(tc.ExpectedLength)) { - continue - } - - reader := bytes.NewBuffer(tc.Data) - length, read, err := readLength(reader) - - if err != nil { - if tc.ExpectedError == "" { - t.Errorf("%s: unexpected error: %v", k, err) - } else if err.Error() != tc.ExpectedError { - t.Errorf("%s: expected error %v, got %v", k, tc.ExpectedError, err) - } - } else if tc.ExpectedError != "" { - t.Errorf("%s: expected error %v, got none", k, tc.ExpectedError) - continue - } - - if read != tc.ExpectedBytesRead { - t.Errorf("%s: expected read %d, got %d", k, tc.ExpectedBytesRead, read) - } - - if int64(length) != tc.ExpectedLength { - t.Errorf("%s: expected length %d, got %d", k, tc.ExpectedLength, length) - } - } -} - -func TestEncodeLength(t *testing.T) { - testcases := map[string]struct { - Length int64 - ExpectedBytes []byte - }{ - "0": { - Length: 0, - ExpectedBytes: []byte{0}, - }, - "1": { - Length: 1, - ExpectedBytes: []byte{1}, - }, - - "max short-form length": { - Length: 127, - ExpectedBytes: []byte{127}, - }, - "min long-form length": { - Length: 128, - ExpectedBytes: []byte{LengthLongFormBitmask | 1, 128}, - }, - - "max long-form length (32-bit)": { - Length: math.MaxInt32, - ExpectedBytes: []byte{ - LengthLongFormBitmask | 4, - 0x7F, - 0xFF, - 0xFF, - 0xFF, - }, - }, - - "max long-form length (64-bit)": { - Length: math.MaxInt64, - ExpectedBytes: []byte{ - LengthLongFormBitmask | 8, - 0x7F, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - }, - }, - } - - for k, tc := range testcases { - // Skip tests requiring 64-bit integers on platforms that don't support them - if tc.Length != int64(int(tc.Length)) { - continue - } - - b := encodeLength(int(tc.Length)) - if bytes.Compare(tc.ExpectedBytes, b) != 0 { - t.Errorf("%s: Expected\n\t%#v\ngot\n\t%#v", k, tc.ExpectedBytes, b) - } - } -} |