diff --git a/headers_test.go b/headers_test.go index 801a4de..f0f6e11 100644 --- a/headers_test.go +++ b/headers_test.go @@ -133,6 +133,34 @@ func TestProtectedHeader_MarshalCBOR(t *testing.T) { }, wantErr: true, }, + { + name: "content type is string", + h: ProtectedHeader{ + HeaderLabelContentType: []byte("foo"), + }, + wantErr: true, + }, + { + name: "content type is negative int8", + h: ProtectedHeader{ + HeaderLabelContentType: int8(-1), + }, + wantErr: true, + }, + { + name: "content type is negative int16", + h: ProtectedHeader{ + HeaderLabelContentType: int16(-1), + }, + wantErr: true, + }, + { + name: "content type is negative int32", + h: ProtectedHeader{ + HeaderLabelContentType: int32(-1), + }, + wantErr: true, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -800,7 +828,7 @@ func TestHeaders_MarshalUnprotected(t *testing.T) { HeaderLabelAlgorithm: AlgorithmES256, }, Unprotected: UnprotectedHeader{ - HeaderLabelContentType: 42, + HeaderLabelContentType: uint8(42), }, }, want: []byte{0xa1, 0x03, 0x18, 0x2a}, @@ -866,7 +894,7 @@ func TestHeaders_UnmarshalFromRaw(t *testing.T) { }, RawUnprotected: []byte{0xa1, 0x04, 0x18, 0x2a}, Unprotected: UnprotectedHeader{ - HeaderLabelContentType: 42, + HeaderLabelContentType: int8(42), }, }, }, @@ -879,7 +907,7 @@ func TestHeaders_UnmarshalFromRaw(t *testing.T) { }, RawUnprotected: []byte{0xa1, 0x03, 0x18, 0x2a}, Unprotected: UnprotectedHeader{ - HeaderLabelContentType: 43, + HeaderLabelContentType: int16(43), }, }, want: Headers{