Trying to address https://github.com/media-io/yaserde/issues/63
This commit is contained in:
parent
8a1e1e2e16
commit
b1d11f4e3a
@ -60,9 +60,30 @@ fn ser_list_of_items() {
|
||||
],
|
||||
};
|
||||
|
||||
let content =
|
||||
"<base><items><field>something1</field></items><items><field>something2</field></items></base>";
|
||||
let content = "<base><items><field>something1</field></items><items><field>something2</field></items></base>";
|
||||
serialize_and_validate!(model2, content);
|
||||
|
||||
#[derive(YaSerialize, PartialEq, Debug)]
|
||||
#[yaserde(rename = "base")]
|
||||
pub struct XmlStructOfStructRenamedField {
|
||||
#[yaserde(rename = "listField")]
|
||||
items: Vec<SubStruct>,
|
||||
}
|
||||
|
||||
let model3 = XmlStructOfStructRenamedField {
|
||||
items: vec![
|
||||
SubStruct {
|
||||
field: "something1".to_string(),
|
||||
},
|
||||
SubStruct {
|
||||
field: "something2".to_string(),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
// SubStruct has 'rename' set, but it's ignored because SubStruct is used as a field of XmlStructOfStructRenamedField that overrides the 'rename
|
||||
let content = "<base><listField><field>something1</field></listField><listField><field>something2</field></listField></base>";
|
||||
serialize_and_validate!(model3, content);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@ -269,7 +269,7 @@ pub fn serialize(
|
||||
}),
|
||||
Field::FieldStruct { .. } => Some(quote! {
|
||||
for item in &self.#label {
|
||||
writer.set_start_event_name(None);
|
||||
writer.set_start_event_name(Some(#label_name.to_string()));
|
||||
writer.set_skip_start_end(false);
|
||||
item.serialize(writer)?;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user