mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-12 19:01:02 +00:00
Merge assert_de_tokens and assert_ser_tokens into assert_tokens
This commit is contained in:
@@ -2833,6 +2833,7 @@ mod flatten {
|
|||||||
struct Flatten {
|
struct Flatten {
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
data: Enum,
|
data: Enum,
|
||||||
|
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
extra: HashMap<String, String>,
|
extra: HashMap<String, String>,
|
||||||
}
|
}
|
||||||
@@ -2846,31 +2847,14 @@ mod flatten {
|
|||||||
fn struct_() {
|
fn struct_() {
|
||||||
let mut extra = HashMap::new();
|
let mut extra = HashMap::new();
|
||||||
extra.insert("extra_key".into(), "extra value".into());
|
extra.insert("extra_key".into(), "extra value".into());
|
||||||
let change_request = Flatten {
|
assert_tokens(
|
||||||
data: Enum::Struct {
|
&Flatten {
|
||||||
index: 0,
|
data: Enum::Struct {
|
||||||
value: 42,
|
index: 0,
|
||||||
|
value: 42,
|
||||||
|
},
|
||||||
|
extra,
|
||||||
},
|
},
|
||||||
extra,
|
|
||||||
};
|
|
||||||
assert_de_tokens(
|
|
||||||
&change_request,
|
|
||||||
&[
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("Struct"),
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("index"),
|
|
||||||
Token::U32(0),
|
|
||||||
Token::Str("value"),
|
|
||||||
Token::U32(42),
|
|
||||||
Token::MapEnd,
|
|
||||||
Token::Str("extra_key"),
|
|
||||||
Token::Str("extra value"),
|
|
||||||
Token::MapEnd,
|
|
||||||
],
|
|
||||||
);
|
|
||||||
assert_ser_tokens(
|
|
||||||
&change_request,
|
|
||||||
&[
|
&[
|
||||||
Token::Map { len: None },
|
Token::Map { len: None },
|
||||||
Token::Str("Struct"),
|
Token::Str("Struct"),
|
||||||
@@ -2897,6 +2881,7 @@ mod flatten {
|
|||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
||||||
struct Flatten {
|
struct Flatten {
|
||||||
outer: u32,
|
outer: u32,
|
||||||
|
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
data: NewtypeWrapper,
|
data: NewtypeWrapper,
|
||||||
}
|
}
|
||||||
@@ -2918,33 +2903,14 @@ mod flatten {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn struct_() {
|
fn struct_() {
|
||||||
let change_request = Flatten {
|
assert_tokens(
|
||||||
outer: 42,
|
&Flatten {
|
||||||
data: NewtypeWrapper(Enum::Struct {
|
outer: 42,
|
||||||
index: 0,
|
data: NewtypeWrapper(Enum::Struct {
|
||||||
value: 42,
|
index: 0,
|
||||||
}),
|
value: 42,
|
||||||
};
|
}),
|
||||||
assert_de_tokens(
|
},
|
||||||
&change_request,
|
|
||||||
&[
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("outer"),
|
|
||||||
Token::U32(42),
|
|
||||||
Token::Str("type"),
|
|
||||||
Token::Str("Struct"),
|
|
||||||
Token::Str("value"),
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("index"),
|
|
||||||
Token::U32(0),
|
|
||||||
Token::Str("value"),
|
|
||||||
Token::U32(42),
|
|
||||||
Token::MapEnd,
|
|
||||||
Token::MapEnd,
|
|
||||||
],
|
|
||||||
);
|
|
||||||
assert_ser_tokens(
|
|
||||||
&change_request,
|
|
||||||
&[
|
&[
|
||||||
Token::Map { len: None },
|
Token::Map { len: None },
|
||||||
Token::Str("outer"),
|
Token::Str("outer"),
|
||||||
@@ -2968,28 +2934,11 @@ mod flatten {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn newtype() {
|
fn newtype() {
|
||||||
let change_request = Flatten {
|
assert_tokens(
|
||||||
outer: 42,
|
&Flatten {
|
||||||
data: NewtypeWrapper(Enum::Newtype(NewtypeVariant { value: 23 })),
|
outer: 42,
|
||||||
};
|
data: NewtypeWrapper(Enum::Newtype(NewtypeVariant { value: 23 })),
|
||||||
assert_de_tokens(
|
},
|
||||||
&change_request,
|
|
||||||
&[
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("outer"),
|
|
||||||
Token::U32(42),
|
|
||||||
Token::Str("type"),
|
|
||||||
Token::Str("Newtype"),
|
|
||||||
Token::Str("value"),
|
|
||||||
Token::Map { len: None },
|
|
||||||
Token::Str("value"),
|
|
||||||
Token::U32(23),
|
|
||||||
Token::MapEnd,
|
|
||||||
Token::MapEnd,
|
|
||||||
],
|
|
||||||
);
|
|
||||||
assert_ser_tokens(
|
|
||||||
&change_request,
|
|
||||||
&[
|
&[
|
||||||
Token::Map { len: None },
|
Token::Map { len: None },
|
||||||
Token::Str("outer"),
|
Token::Str("outer"),
|
||||||
|
|||||||
Reference in New Issue
Block a user