use ofd_core::pretty_xml;
#[test]
fn compact_xml_is_reindented() {
let input = r#"<a><b>x</b><c/></a>"#;
let out = pretty_xml(input).unwrap();
assert!(out.contains('\n'), "输出应为多行: {out}");
assert!(out.contains(" <b>x</b>"), "子节点应缩进 2 空格: {out}");
assert!(out.contains("<a>") && out.contains("</a>"));
}
#[test]
fn declaration_is_preserved() {
let input = r#"<?xml version="1.0" encoding="UTF-8"?><root><child>v</child></root>"#;
let out = pretty_xml(input).unwrap();
assert!(out.contains("<?xml"), "应保留 XML 声明: {out}");
assert!(out.contains(" <child>v</child>"));
}
#[test]
fn malformed_xml_errors() {
assert!(pretty_xml("<a><b></a>").is_err());
}