diff options
author | Matthias Beyer <matthias.beyer@ifm.com> | 2022-02-14 08:28:47 +0100 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@ifm.com> | 2022-02-24 09:38:50 +0100 |
commit | 853d6f05d6e90cc9268785ed57b8b92951edc791 (patch) | |
tree | 81a46be2dd4acb947314b9dadcd2b26403e8e4c6 | |
parent | ff4ddaab9cecc23b774b02795104ebef8ff4a63c (diff) |
Add more testcases for excerpt() helpersimplify-thin-edge-json-utils
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
-rw-r--r-- | crates/core/thin_edge_json/src/utils.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/core/thin_edge_json/src/utils.rs b/crates/core/thin_edge_json/src/utils.rs index 76fe6fe4..0b7f97ee 100644 --- a/crates/core/thin_edge_json/src/utils.rs +++ b/crates/core/thin_edge_json/src/utils.rs @@ -19,3 +19,24 @@ fn excerpt_returns_string_starting_from_line_and_column() { ); assert_eq!("n", excerpt("line 1\nline 2\nline 3\n", 2, 3, 1)); } + +#[test] +fn excerpt_returns_string_starting_from_line_and_column_but_limits_output() { + let expected = "ne 2\nli"; + let result = excerpt("line 1\nline 2\nline 3\n", 2, 3, 7); + assert_eq!(expected, result); +} + +#[test] +fn excerpt_counts_newline_as_one_char_from_beginning() { + let expected = "\n\n\n"; + let result = excerpt("\n\n\n\n", 1, 1, 3); + assert_eq!(expected, result); +} + +#[test] +fn excerpt_counts_newline_as_one_char_in_between_lines() { + let expected = "\n\n"; + let result = excerpt("\n\n\n\n", 2, 1, 2); + assert_eq!(expected, result); +} |