@@ -133,6 +133,34 @@ func TestProtectedHeader_MarshalCBOR(t *testing.T) {
133133 },
134134 wantErr : true ,
135135 },
136+ {
137+ name : "content type is string" ,
138+ h : ProtectedHeader {
139+ HeaderLabelContentType : []byte ("foo" ),
140+ },
141+ wantErr : true ,
142+ },
143+ {
144+ name : "content type is negative int8" ,
145+ h : ProtectedHeader {
146+ HeaderLabelContentType : int8 (- 1 ),
147+ },
148+ wantErr : true ,
149+ },
150+ {
151+ name : "content type is negative int16" ,
152+ h : ProtectedHeader {
153+ HeaderLabelContentType : int16 (- 1 ),
154+ },
155+ wantErr : true ,
156+ },
157+ {
158+ name : "content type is negative int32" ,
159+ h : ProtectedHeader {
160+ HeaderLabelContentType : int32 (- 1 ),
161+ },
162+ wantErr : true ,
163+ },
136164 }
137165 for _ , tt := range tests {
138166 t .Run (tt .name , func (t * testing.T ) {
@@ -800,7 +828,7 @@ func TestHeaders_MarshalUnprotected(t *testing.T) {
800828 HeaderLabelAlgorithm : AlgorithmES256 ,
801829 },
802830 Unprotected : UnprotectedHeader {
803- HeaderLabelContentType : 42 ,
831+ HeaderLabelContentType : uint8 ( 42 ) ,
804832 },
805833 },
806834 want : []byte {0xa1 , 0x03 , 0x18 , 0x2a },
@@ -866,7 +894,7 @@ func TestHeaders_UnmarshalFromRaw(t *testing.T) {
866894 },
867895 RawUnprotected : []byte {0xa1 , 0x04 , 0x18 , 0x2a },
868896 Unprotected : UnprotectedHeader {
869- HeaderLabelContentType : 42 ,
897+ HeaderLabelContentType : int8 ( 42 ) ,
870898 },
871899 },
872900 },
@@ -879,7 +907,7 @@ func TestHeaders_UnmarshalFromRaw(t *testing.T) {
879907 },
880908 RawUnprotected : []byte {0xa1 , 0x03 , 0x18 , 0x2a },
881909 Unprotected : UnprotectedHeader {
882- HeaderLabelContentType : 43 ,
910+ HeaderLabelContentType : int16 ( 43 ) ,
883911 },
884912 },
885913 want : Headers {
0 commit comments