diff --git a/serde2/tests/test_ser.rs b/serde2/tests/test_ser.rs index c0eab0d2..4a27faeb 100644 --- a/serde2/tests/test_ser.rs +++ b/serde2/tests/test_ser.rs @@ -281,12 +281,21 @@ impl<'a> Visitor for AssertSerializer<'a> { } } +////////////////////////////////////////////////////////////////////////// + #[derive_serialize] struct NamedUnit; #[derive_serialize] struct NamedSeq(i32, i32, i32); +#[derive_serialize] +struct NamedMap { + a: i32, + b: i32, + c: i32, +} + #[derive_serialize] enum Enum { Unit, @@ -294,6 +303,8 @@ enum Enum { Map { a: i32, b: i32 }, } +////////////////////////////////////////////////////////////////////////// + macro_rules! btreemap { () => { BTreeMap::new() @@ -490,6 +501,23 @@ declare_tests! { Token::SeqEnd, ], } + test_named_map { + NamedMap { a: 1, b: 2, c: 3 } => vec![ + Token::NamedMapStart("NamedMap", 3), + Token::MapSep(true), + Token::Str("a"), + Token::I32(1), + + Token::MapSep(false), + Token::Str("b"), + Token::I32(2), + + Token::MapSep(false), + Token::Str("c"), + Token::I32(3), + Token::MapEnd, + ], + } test_enum { Enum::Unit => vec![Token::EnumUnit("Enum", "Unit")], Enum::Seq(1, 2) => vec![