use trim_newlines::{trim_newlines, trim_newlines_end, trim_newlines_start};
#[test]
fn cleans_heredoc_edges() {
let text = "\n\n line one\n line two\n\n";
assert_eq!(trim_newlines(text), " line one\n line two");
}
#[test]
fn preserves_interior_and_other_whitespace() {
assert_eq!(trim_newlines("\r\n a \n b \r\n"), " a \n b ");
assert_eq!(trim_newlines("\t\ttabs\t\t"), "\t\ttabs\t\t");
}
#[test]
fn directional() {
let s = "\r\n\r\nvalue\r\n\r\n";
assert_eq!(trim_newlines_start(s), "value\r\n\r\n");
assert_eq!(trim_newlines_end(s), "\r\n\r\nvalue");
}
#[test]
fn edge_cases() {
assert_eq!(trim_newlines(""), "");
assert_eq!(trim_newlines("\n\r\n\r"), "");
assert_eq!(trim_newlines("no newlines"), "no newlines");
}