Merge pull request #50 from DmitrySamoylov/fix-issue-12
Fix issue 12 for attributes
This commit is contained in:
commit
ad32dd8762
@ -854,3 +854,36 @@ fn de_subitem_issue_12_attributes() {
|
|||||||
Struct { id: 54 }
|
Struct { id: 54 }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn de_subitem_issue_12_attributes_with_sub() {
|
||||||
|
#[derive(Default, PartialEq, Debug, YaDeserialize)]
|
||||||
|
pub struct SubStruct {
|
||||||
|
#[yaserde(attribute)]
|
||||||
|
id: i32,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Default, PartialEq, Debug, YaDeserialize)]
|
||||||
|
pub struct Struct {
|
||||||
|
#[yaserde(attribute)]
|
||||||
|
id: i32,
|
||||||
|
sub1: SubStruct,
|
||||||
|
sub2: SubStruct,
|
||||||
|
}
|
||||||
|
|
||||||
|
convert_and_validate!(
|
||||||
|
r#"
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Struct id="54">
|
||||||
|
<sub1 id="63" />
|
||||||
|
<sub2 id="72" />
|
||||||
|
</Struct>
|
||||||
|
"#,
|
||||||
|
Struct,
|
||||||
|
Struct {
|
||||||
|
id: 54,
|
||||||
|
sub1: SubStruct { id: 63 },
|
||||||
|
sub2: SubStruct { id: 72 }
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@ -423,7 +423,7 @@ pub fn parse(
|
|||||||
// return Err(format!("unknown key {}", name))
|
// return Err(format!("unknown key {}", name))
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
if !skipped {
|
if depth == 0 && !skipped { // Look for attributes only at element start
|
||||||
#attributes_loading
|
#attributes_loading
|
||||||
}
|
}
|
||||||
depth += 1;
|
depth += 1;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user