improve contribution to add examples, fix some clippy warns
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
// related to issue https://github.com/media-io/yaserde/issues/11
|
||||
use std::io::Read;
|
||||
use yaserde::YaDeserialize;
|
||||
|
||||
#[derive(YaDeserialize, Default, Debug, PartialEq)]
|
||||
#[yaserde(root="DOMSymbolItem")]
|
||||
#[yaserde(root = "DOMSymbolItem")]
|
||||
struct Level {
|
||||
#[yaserde(attribute)]
|
||||
last_modified: u64,
|
||||
@@ -15,7 +13,7 @@ struct Level {
|
||||
#[derive(YaDeserialize, Default, Debug, PartialEq)]
|
||||
struct Timeline {
|
||||
#[yaserde(rename = "DOMTimeline")]
|
||||
timeline: DOMTimeline
|
||||
timeline: DOMTimeline,
|
||||
}
|
||||
|
||||
#[derive(YaDeserialize, Default, Debug, PartialEq)]
|
||||
@@ -26,13 +24,13 @@ struct DOMTimeline {
|
||||
current_frame: u64,
|
||||
#[yaserde(attribute)]
|
||||
guides: u64,
|
||||
layers: Layers
|
||||
layers: Layers,
|
||||
}
|
||||
|
||||
#[derive(YaDeserialize, Default, Debug, PartialEq)]
|
||||
struct Layers {
|
||||
#[yaserde(rename = "DOMLayer")]
|
||||
dom_layer: Vec<DOMLayer>
|
||||
dom_layer: Vec<DOMLayer>,
|
||||
}
|
||||
|
||||
#[derive(YaDeserialize, Default, Debug, PartialEq)]
|
||||
@@ -40,22 +38,19 @@ struct DOMLayer {
|
||||
#[yaserde(attribute, rename = "name")]
|
||||
named: String,
|
||||
#[yaserde(attribute)]
|
||||
name2: String
|
||||
name2: String,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parsing_ln_dom() {
|
||||
use std::fs::File;
|
||||
use std::fs;
|
||||
use yaserde::de::from_str;
|
||||
|
||||
let filename = "tests/data/ln-dom.xml";
|
||||
let mut f = File::open(filename).expect("file not found");
|
||||
|
||||
let mut contents = String::new();
|
||||
f.read_to_string(&mut contents)
|
||||
.expect("something went wrong reading the file");
|
||||
let content = fs::read_to_string(filename).expect("something went wrong reading the file");
|
||||
|
||||
let loaded: Level = from_str(&contents).unwrap();
|
||||
let loaded: Level = from_str(&content).unwrap();
|
||||
println!("{:?}", loaded);
|
||||
|
||||
let reference = Level {
|
||||
@@ -70,16 +65,16 @@ fn parsing_ln_dom() {
|
||||
dom_layer: vec![
|
||||
DOMLayer {
|
||||
named: "Layer 2".to_string(),
|
||||
name2: "Lalayer 2".to_string()
|
||||
name2: "Lalayer 2".to_string(),
|
||||
},
|
||||
DOMLayer {
|
||||
named: "Layer 1".to_string(),
|
||||
name2: "Lalayer 1".to_string()
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
name2: "Lalayer 1".to_string(),
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
assert_eq!(loaded, reference);
|
||||
|
||||
Reference in New Issue
Block a user