use libxml::parser::Parser;
#[test]
fn clones_do_not_block_mutation() {
let parser = Parser::default();
let doc = parser.parse_file("tests/resources/file01.xml").unwrap();
let root = doc.get_root_element().unwrap();
let mut first_a = root.get_first_element_child().unwrap();
let first_b = root.get_first_element_child().unwrap();
assert_eq!(first_a.get_attribute("attribute"), Some(String::from("value")));
assert_eq!(first_b.get_attribute("attribute"), Some(String::from("value")));
assert!(first_a.set_attribute("attribute", "newa").is_ok());
assert_eq!(first_a.get_attribute("attribute"), Some(String::from("newa")));
assert_eq!(first_b.get_attribute("attribute"), Some(String::from("newa")));
}
#[test]
#[allow(deprecated)]
fn set_node_rc_guard_is_a_noop() {
use libxml::tree::set_node_rc_guard;
let parser = Parser::default();
let doc = parser.parse_file("tests/resources/file01.xml").unwrap();
let mut node = doc
.get_root_element()
.unwrap()
.get_first_element_child()
.unwrap();
let _alias = node.clone();
set_node_rc_guard(1); assert!(node.set_attribute("k", "v").is_ok());
}