Skip to content

Commit 6bfe1c4

Browse files
committed
Unit: add tests for deserialization from bytes tag and content fields
1 parent a02da49 commit 6bfe1c4

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

test_suite/tests/test_enum_adjacently_tagged.rs

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,43 @@ mod unit {
7878
);
7979
}
8080

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+
81118
#[test]
82119
fn map_str_tag_content() {
83120
// Map: tag + content
@@ -184,6 +221,47 @@ mod unit {
184221
);
185222
}
186223

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+
187265
#[test]
188266
fn seq_tag_content() {
189267
// Seq: tag and content

0 commit comments

Comments
 (0)