@@ -145,6 +145,19 @@ fn test_parse_minus_success() {
145145 assert_eq!(40, range.upper);
146146}
147147
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+
148161#[test]
149162fn test_parse_minus_fail() {
150163 let range = LineRange::from("40:-z");