summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@ifm.com>2022-02-14 08:28:47 +0100
committerMatthias Beyer <matthias.beyer@ifm.com>2022-02-24 09:38:50 +0100
commit853d6f05d6e90cc9268785ed57b8b92951edc791 (patch)
tree81a46be2dd4acb947314b9dadcd2b26403e8e4c6
parentff4ddaab9cecc23b774b02795104ebef8ff4a63c (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.rs21
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);
+}