diff options
author | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2017-02-08 10:59:57 +0100 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2017-02-08 10:59:57 +0100 |
commit | bba3950c37d4fa32ccf18ed1b093ecf48aec419d (patch) | |
tree | 8bda1944a5c9e724e85cd12466974f28ca54c3e2 | |
parent | 4805acc8eb03541cb00ec39b4f20da49c51c9317 (diff) | |
download | askama-bba3950c37d4fa32ccf18ed1b093ecf48aec419d.tar.gz askama-bba3950c37d4fa32ccf18ed1b093ecf48aec419d.tar.bz2 askama-bba3950c37d4fa32ccf18ed1b093ecf48aec419d.zip |
Add unit tests for whitespace splitter
-rw-r--r-- | askama/src/parser.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/askama/src/parser.rs b/askama/src/parser.rs index f338456..bb59b48 100644 --- a/askama/src/parser.rs +++ b/askama/src/parser.rs @@ -186,3 +186,26 @@ pub fn parse(src: &str) -> Vec<Node> { IResult::Incomplete(_) => panic!("parsing incomplete"), } } + +#[cfg(test)] +mod tests { + fn check_ws_split(s: &str, res: &(&[u8], &[u8], &[u8])) { + let node = super::split_ws_parts(s.as_bytes()); + match node { + super::Node::Lit(lws, s, rws) => { + assert_eq!(lws, res.0); + assert_eq!(s, res.1); + assert_eq!(rws, res.2); + }, + _ => { panic!("fail"); }, + } + } + #[test] + fn test_ws_splitter() { + check_ws_split("a", &(b"", b"a", b"")); + check_ws_split("", &(b"", b"", b"")); + check_ws_split("\ta", &(b"\t", b"a", b"")); + check_ws_split("b\n", &(b"", b"b", b"\n")); + check_ws_split(" \t\r\n", &(b" \t\r\n", b"", b"")); + } +} |