@@ -78,6 +78,43 @@ mod unit {
78
78
) ;
79
79
}
80
80
81
+ #[ test]
82
+ fn map_bytes_tag_only ( ) {
83
+ // Map: tag only
84
+ assert_de_tokens (
85
+ & AdjacentlyTagged :: Unit :: < u8 > ,
86
+ & [
87
+ Token :: Struct {
88
+ name : "AdjacentlyTagged" ,
89
+ len : 1 ,
90
+ } ,
91
+ Token :: Bytes ( b"t" ) ,
92
+ Token :: UnitVariant {
93
+ name : "AdjacentlyTagged" ,
94
+ variant : "Unit" ,
95
+ } ,
96
+ Token :: StructEnd ,
97
+ ] ,
98
+ ) ;
99
+
100
+ // Map: tag only
101
+ assert_de_tokens (
102
+ & AdjacentlyTagged :: Unit :: < u8 > ,
103
+ & [
104
+ Token :: Struct {
105
+ name : "AdjacentlyTagged" ,
106
+ len : 1 ,
107
+ } ,
108
+ Token :: BorrowedBytes ( b"t" ) ,
109
+ Token :: UnitVariant {
110
+ name : "AdjacentlyTagged" ,
111
+ variant : "Unit" ,
112
+ } ,
113
+ Token :: StructEnd ,
114
+ ] ,
115
+ ) ;
116
+ }
117
+
81
118
#[ test]
82
119
fn map_str_tag_content ( ) {
83
120
// Map: tag + content
@@ -184,6 +221,47 @@ mod unit {
184
221
) ;
185
222
}
186
223
224
+ #[ test]
225
+ fn map_bytes_tag_content ( ) {
226
+ // Map: tag + content
227
+ assert_de_tokens (
228
+ & AdjacentlyTagged :: Unit :: < u8 > ,
229
+ & [
230
+ Token :: Struct {
231
+ name : "AdjacentlyTagged" ,
232
+ len : 2 ,
233
+ } ,
234
+ Token :: BorrowedBytes ( b"t" ) ,
235
+ Token :: UnitVariant {
236
+ name : "AdjacentlyTagged" ,
237
+ variant : "Unit" ,
238
+ } ,
239
+ Token :: BorrowedBytes ( b"c" ) ,
240
+ Token :: Unit ,
241
+ Token :: StructEnd ,
242
+ ] ,
243
+ ) ;
244
+
245
+ // Map: content + tag
246
+ assert_de_tokens (
247
+ & AdjacentlyTagged :: Unit :: < u8 > ,
248
+ & [
249
+ Token :: Struct {
250
+ name : "AdjacentlyTagged" ,
251
+ len : 2 ,
252
+ } ,
253
+ Token :: Bytes ( b"c" ) ,
254
+ Token :: Unit ,
255
+ Token :: Bytes ( b"t" ) ,
256
+ Token :: UnitVariant {
257
+ name : "AdjacentlyTagged" ,
258
+ variant : "Unit" ,
259
+ } ,
260
+ Token :: StructEnd ,
261
+ ] ,
262
+ ) ;
263
+ }
264
+
187
265
#[ test]
188
266
fn seq_tag_content ( ) {
189
267
// Seq: tag and content
0 commit comments