trim-newlines 0.1.0

Trim newlines (\r and \n) from the start and/or end of a string. A faithful port of the trim-newlines npm package. Zero deps, no_std.
Documentation
//! Integration tests exercising the public API of `trim-newlines`.

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");
}