Fix underflow panics when using TextPrinter::push_span_nobreak (#322)

This commit is contained in:
Ulyssa 2024-08-14 20:48:04 -07:00 committed by GitHub
parent c94d7d0ad7
commit 54cb7991be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -94,7 +94,7 @@ impl<'a> TextPrinter<'a> {
}
fn remaining(&self) -> usize {
self.width - self.curr_width
self.width.saturating_sub(self.curr_width)
}
/// If there is any text on the current line, start a new one.
@ -276,3 +276,18 @@ impl<'a> TextPrinter<'a> {
self.text
}
}
#[cfg(test)]
pub mod tests {
use super::*;
#[test]
fn test_push_nobreak() {
let mut printer = TextPrinter::new(5, Style::default(), false, false);
printer.push_span_nobreak("hello world".into());
let text = printer.finish();
assert_eq!(text.lines.len(), 1);
assert_eq!(text.lines[0].spans.len(), 1);
assert_eq!(text.lines[0].spans[0].content, "hello world");
}
}