on master help sign in
Line range edge cases test
b8e79a2Bojan Durdevic
src/line_range.rs+13
@@ -145,6 +145,19 @@ fn test_parse_minus_success() {
145 assert_eq!(40, range.upper);
145 assert_eq!(40, range.upper);
146}
146}
147
147
148+#[test]
149+fn test_parse_minus_edge_cases_success() {
150+ let range = LineRange::from("5:-4").expect("Shouldn't fail on test!");
151+ assert_eq!(1, range.lower);
152+ assert_eq!(5, range.upper);
153+ let range = LineRange::from("5:-5").expect("Shouldn't fail on test!");
154+ assert_eq!(0, range.lower);
155+ assert_eq!(5, range.upper);
156+ let range = LineRange::from("5:-100").expect("Shouldn't fail on test!");
157+ assert_eq!(0, range.lower);
158+ assert_eq!(5, range.upper);
159+}
160+
148#[test]
161#[test]
149fn test_parse_minus_fail() {
162fn test_parse_minus_fail() {
150 let range = LineRange::from("40:-z");
163 let range = LineRange::from("40:-z");