Skip to content

Commit 2adb0e9

Browse files
committed
Add additional checks for unit and newtype_unit tests
- check that unit variant can be deserialized from a map - check that newtype variant with unit can be deserialized from a struct
1 parent 71ed1f2 commit 2adb0e9

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

test_suite/tests/test_enum_internally_tagged.rs

+44
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,25 @@ fn unit() {
7373
],
7474
);
7575

76+
assert_de_tokens(
77+
&InternallyTagged::Unit,
78+
&[
79+
Token::Map { len: Some(1) },
80+
Token::Str("tag"),
81+
Token::Str("Unit"),
82+
Token::MapEnd,
83+
],
84+
);
85+
assert_de_tokens(
86+
&InternallyTagged::Unit,
87+
&[
88+
Token::Map { len: Some(1) },
89+
Token::BorrowedStr("tag"),
90+
Token::BorrowedStr("Unit"),
91+
Token::MapEnd,
92+
],
93+
);
94+
7695
assert_de_tokens(
7796
&InternallyTagged::Unit,
7897
&[
@@ -113,6 +132,31 @@ fn newtype_unit() {
113132
Token::MapEnd,
114133
],
115134
);
135+
136+
assert_de_tokens(
137+
&value,
138+
&[
139+
Token::Struct {
140+
name: "InternallyTagged",
141+
len: 1,
142+
},
143+
Token::Str("tag"),
144+
Token::Str("NewtypeUnit"),
145+
Token::StructEnd,
146+
],
147+
);
148+
assert_de_tokens(
149+
&value,
150+
&[
151+
Token::Struct {
152+
name: "InternallyTagged",
153+
len: 1,
154+
},
155+
Token::BorrowedStr("tag"),
156+
Token::BorrowedStr("NewtypeUnit"),
157+
Token::StructEnd,
158+
],
159+
);
116160
}
117161

118162
#[test]

0 commit comments

Comments
 (0)