#[macro_use] extern crate yaserde_derive; use yaserde::de::from_str; fn init() { let _ = env_logger::builder().is_test(true).try_init(); } #[test] fn de_no_content() { init(); #[derive(YaDeserialize, PartialEq, Debug)] #[yaserde(rename = "book")] pub struct Book { author: String, title: String, } let content = ""; let loaded: Result = from_str(content); assert_eq!( loaded, Err("Unexpected end of stream: no root element found".to_owned()) ); } #[test] fn de_wrong_end_balise() { init(); #[derive(YaDeserialize, PartialEq, Debug)] #[yaserde(rename = "book")] pub struct Book { author: String, title: String, } let content = "Antoine de Saint-ExupéryLittle prince"; let loaded: Result = from_str(content); assert_eq!( loaded, Err("Unexpected closing tag: book != author".to_owned()) ); }