refactor(org): debug_validate function
This commit is contained in:
parent
4fd929fbfc
commit
195e97e62b
|
@ -104,7 +104,6 @@ impl Org<'_> {
|
||||||
| Element::Comment { .. }
|
| Element::Comment { .. }
|
||||||
| Element::FixedWidth { .. }
|
| Element::FixedWidth { .. }
|
||||||
| Element::Keyword(_)
|
| Element::Keyword(_)
|
||||||
| Element::Drawer(_)
|
|
||||||
| Element::Rule
|
| Element::Rule
|
||||||
| Element::Cookie(_)
|
| Element::Cookie(_)
|
||||||
| Element::Table(Table::TableEl { .. })
|
| Element::Table(Table::TableEl { .. })
|
||||||
|
@ -134,7 +133,7 @@ impl Org<'_> {
|
||||||
}
|
}
|
||||||
// TableCell is a container but it might
|
// TableCell is a container but it might
|
||||||
// not contains anything, e.g. `||||||`
|
// not contains anything, e.g. `||||||`
|
||||||
Element::TableCell => (),
|
Element::Drawer(_) | Element::TableCell => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -145,4 +144,16 @@ impl Org<'_> {
|
||||||
pub fn check(&self) -> Result<(), OrgizeError> {
|
pub fn check(&self) -> Result<(), OrgizeError> {
|
||||||
self.validate()
|
self.validate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) fn debug_validate(&self) {
|
||||||
|
if cfg!(debug_assertions) {
|
||||||
|
if let Err(err) = self.validate() {
|
||||||
|
panic!(
|
||||||
|
"Validation error: {:?} at element: {:?}",
|
||||||
|
err,
|
||||||
|
err.element(self)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,9 +83,7 @@ impl HeadlineNode {
|
||||||
|
|
||||||
self.title_mut(org).raw = content;
|
self.title_mut(org).raw = content;
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_section_content<'a, S: Into<Cow<'a, str>>>(self, content: S, org: &mut Org<'a>) {
|
pub fn set_section_content<'a, S: Into<Cow<'a, str>>>(self, content: S, org: &mut Org<'a>) {
|
||||||
|
@ -114,9 +112,7 @@ impl HeadlineNode {
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parent(self, org: &Org<'_>) -> Option<HeadlineNode> {
|
pub fn parent(self, org: &Org<'_>) -> Option<HeadlineNode> {
|
||||||
|
@ -167,9 +163,7 @@ impl HeadlineNode {
|
||||||
pub fn detach(self, org: &mut Org<'_>) {
|
pub fn detach(self, org: &mut Org<'_>) {
|
||||||
self.node.detach(&mut org.arena);
|
self.node.detach(&mut org.arena);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_detached(self, org: &Org<'_>) -> bool {
|
pub fn is_detached(self, org: &Org<'_>) -> bool {
|
||||||
|
@ -205,9 +199,7 @@ impl HeadlineNode {
|
||||||
|
|
||||||
self.node.append(headline.node, &mut org.arena);
|
self.node.append(headline.node, &mut org.arena);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -229,9 +221,7 @@ impl HeadlineNode {
|
||||||
self.title_node.insert_after(headline.node, &mut org.arena);
|
self.title_node.insert_after(headline.node, &mut org.arena);
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -253,9 +243,7 @@ impl HeadlineNode {
|
||||||
|
|
||||||
self.node.insert_before(headline.node, &mut org.arena);
|
self.node.insert_before(headline.node, &mut org.arena);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -279,9 +267,7 @@ impl HeadlineNode {
|
||||||
|
|
||||||
self.node.insert_after(headline.node, &mut org.arena);
|
self.node.insert_after(headline.node, &mut org.arena);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -343,9 +329,7 @@ impl DocumentNode {
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn append(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
pub fn append(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
||||||
|
@ -359,9 +343,7 @@ impl DocumentNode {
|
||||||
|
|
||||||
org.root.append(headline.node, &mut org.arena);
|
org.root.append(headline.node, &mut org.arena);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -381,9 +363,7 @@ impl DocumentNode {
|
||||||
org.root.prepend(headline.node, &mut org.arena);
|
org.root.prepend(headline.node, &mut org.arena);
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,7 @@ impl<'a> Org<'a> {
|
||||||
config,
|
config,
|
||||||
);
|
);
|
||||||
|
|
||||||
if cfg!(debug_assertions) {
|
org.debug_validate();
|
||||||
org.validate().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
org
|
org
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue