xdoc-rs 0.1.1

Declarative XML engine for Rust
Documentation
use std::path::PathBuf;

use xdoc::core::{Document, XmlResult};
use xdoc::parser::parse_str;
use xdoc::testing::{self, RoundtripResult};

pub fn repo_root() -> PathBuf {
    PathBuf::from(env!("CARGO_MANIFEST_DIR"))
}

pub fn read_xml_fixture(name: &str) -> XmlResult<String> {
    testing::read_xml_fixture(repo_root(), name)
}

pub fn parse_xml(xml: &str) -> XmlResult<Document> {
    parse_str(xml)
}

pub fn assert_golden(name: &str, actual: &str) -> XmlResult<()> {
    testing::assert_matches_golden(repo_root(), name, actual)
}

pub fn assert_fixture_roundtrip(name: &str) -> XmlResult<RoundtripResult> {
    let xml = read_xml_fixture(name)?;
    testing::assert_compact_roundtrip(&xml)
}