Compare the additional properties on headlines.

This commit is contained in:
Tom Alexander
2023-10-10 17:40:27 -04:00
parent 6b90a9bfa8
commit 7cb71a5a0a
3 changed files with 63 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ use super::elisp_fact::GetElispFact;
use super::sexp::unquote;
use super::sexp::Token;
use super::util::assert_no_children;
use super::util::compare_additional_properties;
use super::util::compare_children;
use super::util::compare_children_iter;
use super::util::compare_standard_properties;
@@ -537,12 +538,27 @@ fn compare_heading<'b, 's>(
let mut child_status = Vec::new();
let mut message = None;
// TODO: Add checks to compare values for additional properties.
let additional_property_names: Vec<String> = rust
.get_additional_properties()
.map(|node_property| format!(":{}", node_property.property_name.to_uppercase()))
.collect();
let additional_properties: Vec<(String, &str)> = rust
.get_additional_properties()
.map(|node_property| {
(
format!(":{}", node_property.property_name.to_uppercase()),
node_property.value.unwrap_or(""),
)
})
.collect();
compare_additional_properties(emacs, additional_properties.into_iter())?.apply(
&mut child_status,
&mut this_status,
&mut message,
);
compare_children(
source,
emacs,