use kiss_xml;
use kiss_xml::dom::Node;
#[test]
fn test_content_escapes(){
let xml = r#"<?xml version="1.0" encoding="UTF-8"?>
<root><>&"'</root>
"#;
let dom = kiss_xml::parse_str(xml).expect("Error parsing XML");
assert_eq!(dom.root_element().text().as_str(), "<>&\"'");
assert_eq!(dom.to_string().as_str(),r#"<?xml version="1.0" encoding="UTF-8"?>
<root><>&"'</root>
"#);
}
#[test]
fn test_attribute_escapes(){
let xml = r#"<?xml version="1.0" encoding="UTF-8"?>
<root a="<>&"'"/>
"#;
let dom = kiss_xml::parse_str(xml).expect("Error parsing XML");
assert_eq!(dom.root_element().get_attr("a").unwrap().as_str(), "<>&\"'");
assert_eq!(dom.to_string().as_str(), xml);
}
#[test]
fn test_comment_escapes(){
let xml = r#"<?xml version="1.0" encoding="UTF-8"?>
<root><!-- <>&"' --></root>
"#;
let dom = kiss_xml::parse_str(xml).expect("Error parsing XML");
let comment = dom.root_element().children().next().unwrap().as_comment().unwrap();
assert_eq!(comment.get_content(), " <>&"' ");
assert_eq!(dom.to_string().as_str(), xml);
}
#[test]
fn test_cdata_escapes(){
let xml = r#"<?xml version="1.0" encoding="UTF-8"?>
<root><![CDATA[<greeting><>&"'</greeting>]]></root>
"#;
let dom = kiss_xml::parse_str(xml).expect("Error parsing XML");
let cdata = dom.root_element().children().next().unwrap().as_cdata().unwrap();
assert_eq!(cdata.get_content(), "<greeting><>&"'</greeting>");
assert_eq!(dom.to_string().as_str(), xml);
}