use xot::Xot;
#[test]
fn test_compare_elements_same() {
let mut xot = Xot::new();
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
assert!(xot.deep_equal(a, b));
}
#[test]
fn test_compare_elements_different_value() {
let mut xot = Xot::new();
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
assert!(!xot.deep_equal(a, b));
}
#[test]
fn test_compare_elements_attribute_order_unimportant() {
let mut xot = Xot::new();
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
assert!(xot.deep_equal(a, b));
}
#[test]
fn test_compare_elements_compare_overlap() {
let mut xot = Xot::new();
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
assert!(!xot.deep_equal(a, b));
}
#[test]
fn test_compare_elements_ignore_attributes_different_value() {
let mut xot = Xot::new();
let bar = xot.add_name("bar");
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
let a = xot.document_element(a).unwrap();
let b = xot.document_element(b).unwrap();
assert!(xot.shallow_equal_ignore_attributes(a, b, &[bar]));
assert!(!xot.shallow_equal_ignore_attributes(b, a, &[]));
}
#[test]
fn test_compare_elements_ignore_attributes_ignorable_in_a() {
let mut xot = Xot::new();
let bar = xot.add_name("bar");
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
let a = xot.document_element(a).unwrap();
let b = xot.document_element(b).unwrap();
assert!(xot.shallow_equal_ignore_attributes(a, b, &[bar]));
assert!(!xot.shallow_equal_ignore_attributes(b, a, &[]));
}
#[test]
fn test_compare_elements_ignore_attributes_ignorable_in_b() {
let mut xot = Xot::new();
let bar = xot.add_name("bar");
let a = xot.parse(r#""#).unwrap();
let b = xot.parse(r#""#).unwrap();
let a = xot.document_element(a).unwrap();
let b = xot.document_element(b).unwrap();
assert!(xot.shallow_equal_ignore_attributes(a, b, &[bar]));
assert!(!xot.shallow_equal_ignore_attributes(b, a, &[]));
}