Expand test coverage

This commit is contained in:
Juno Takano 2026-01-19 01:45:54 -03:00
commit 5151c53a2b
20 changed files with 773 additions and 121 deletions

View file

@ -15,29 +15,6 @@ pub struct Anchor {
}
impl Anchor {
pub fn new(
text: &str,
destination: &str,
node: Option<Node>,
node_id: Option<String>,
leading: bool,
external: bool,
balanced: bool,
) -> Anchor {
let mut anchor = Anchor {
text: text.to_owned(),
destination: Some(String::from(destination)),
node,
node_id,
leading,
external,
balanced,
};
anchor.route();
anchor
}
pub fn text(&self) -> String {
self.text.clone()
}
@ -287,4 +264,18 @@ mod tests {
anchor.route(); // set_destination also called this
assert!(anchor.destination().is_none());
}
#[test]
fn set_node_id() {
let payload = "kxBDJ0EoDVaygxpZ8NgNdQrUIBsGimTs";
let mut anchor = Anchor::default();
anchor.set_node_id(payload);
assert_eq!(anchor.node_id.unwrap(), payload);
}
#[test]
fn display_no_destination() {
let anchor = Anchor::default();
assert_eq!(format!("{anchor}"), "Anchor <empty> -> <unknown>");
}
}

View file

@ -76,4 +76,10 @@ mod tests {
"Tk:Bold [closed]"
);
}
#[test]
fn flatten() {
let bold = Bold::new(false);
assert_eq!(bold.flatten(), "");
}
}

View file

@ -75,4 +75,10 @@ mod tests {
"Tk:CheckBox [empty]"
);
}
#[test]
fn flatten() {
let checkbox = CheckBox::new(false);
assert_eq!(checkbox.flatten(), "");
}
}

View file

@ -300,4 +300,30 @@ mod tests {
"Tk:Header [closed L2]"
);
}
#[test]
fn display_unknown_open_state() {
let header = Header {
open: None,
dom_id: None,
level: Level::One,
};
assert_eq!(format!("{header}"), "Header [unknown L1]");
}
#[test]
fn display_dom_id() {
let payload = "WIV0h1wCeY7Pp3FkjgIftJHX1I6YvnSc";
let header = Header {
open: None,
dom_id: Some(payload.to_string()),
level: Level::One,
};
assert_eq!(
format!("{header}"),
format!("Header [unknown L1 DOM ID {payload}]")
);
}
}

View file

@ -89,4 +89,10 @@ mod tests {
"Tk:Item [<unknown>] dRMy4"
);
}
#[test]
fn flatten() {
let item = Item::new("", None);
assert_eq!(item.flatten(), "");
}
}

View file

@ -189,4 +189,23 @@ mod tests {
let lexeme = Lexeme::new("SL6PX", "6xsNB", "oeAHa");
List::lex(&lexeme);
}
#[test]
fn ordered_list() {
let mut list = List::new(true);
list.items = vec![
Item::new("a", Some(0)),
Item::new("b", Some(0)),
Item::new("c", Some(0)),
];
assert_eq!(
list.render(),
"\n<ol>\n\
<li>a</li>\n\
<li>b</li>\n\
<li>c</li>\n\
</ol>\n\n"
);
}
}

View file

@ -79,4 +79,10 @@ mod tests {
"Tk:Oblique [closed]"
);
}
#[test]
fn flatten() {
let oblique = Oblique::new(false);
assert_eq!(oblique.flatten(), "");
}
}

View file

@ -99,4 +99,10 @@ mod tests {
"Tk:PreFormat [unknown]"
);
}
#[test]
fn flatten() {
let preformat = PreFormat::new(false);
assert_eq!(preformat.flatten(), "");
}
}

View file

@ -76,4 +76,10 @@ mod tests {
"Tk:Strike [closed]"
);
}
#[test]
fn flatten() {
let strike = Strike::new(false);
assert_eq!(strike.flatten(), "");
}
}

View file

@ -79,4 +79,10 @@ mod tests {
"Tk:Underline [closed]"
);
}
#[test]
fn flatten() {
let underline = Underline::new(false);
assert_eq!(underline.flatten(), "");
}
}