Unified · Split
| @@ -32,6 +32,24 @@ fn leading_caret_is_range_kind() { · 31 unmodified lines | |||
| 32 | assert_eq!(rec.resolve_ref_input.unwrap(), "HEAD"); | 32 | assert_eq!(rec.resolve_ref_input.unwrap(), "HEAD"); |
| 33 | assert_eq!(rec.prefix, None); | 33 | assert_eq!(rec.prefix, None); |
| 34 | assert_eq!(rec.calls, 2); | 34 | assert_eq!(rec.calls, 2); |
| 35 | |||
| 36 | let rec = parse("^abcd"); | ||
| 37 | assert_eq!(rec.kind.unwrap(), spec::Kind::Range); | ||
| 38 | assert_eq!(rec.resolve_ref_input, None); | ||
| 39 | assert_eq!(rec.prefix, prefix("abcd").into()); | ||
| 40 | assert_eq!(rec.calls, 2); | ||
| 41 | |||
| 42 | let rec = parse("^r1"); | ||
| 43 | assert_eq!(rec.kind.unwrap(), spec::Kind::Range); | ||
| 44 | assert_eq!(rec.resolve_ref_input.unwrap(), "r1"); | ||
| 45 | assert_eq!(rec.prefix, None); | ||
| 46 | assert_eq!(rec.calls, 2); | ||
| 47 | |||
| 48 | let rec = parse("^hello-0-gabcd-dirty"); | ||
| 49 | assert_eq!(rec.kind.unwrap(), spec::Kind::Range); | ||
| 50 | assert_eq!(rec.resolve_ref_input, None); | ||
| 51 | assert_eq!(rec.prefix, prefix("abcd").into()); | ||
| 52 | assert_eq!(rec.calls, 2); | ||
| 35 | } | 53 | } |
| 36 | 54 | ||
| 37 | #[test] | 55 | #[test] |
| @@ -65,6 +83,13 @@ fn middle_dot_dot_dot_is_merge_base() { · 27 unmodified lines | |||
| 65 | assert_eq!(rec.resolve_ref_input.unwrap(), "r1"); | 83 | assert_eq!(rec.resolve_ref_input.unwrap(), "r1"); |
| 66 | assert_eq!(rec.prefix, prefix("abcd").into()); | 84 | assert_eq!(rec.prefix, prefix("abcd").into()); |
| 67 | assert_eq!(rec.calls, 3); | 85 | assert_eq!(rec.calls, 3); |
| 86 | |||
| 87 | let rec = parse("abcd-dirty...smart-release-42-g1234-dirty"); | ||
| 88 | assert_eq!(rec.kind.unwrap(), spec::Kind::MergeBase); | ||
| 89 | assert_eq!(rec.resolve_ref_input, None); | ||
| 90 | assert_eq!(rec.prefix, prefix("abcd").into()); | ||
| 91 | assert_eq!(rec.prefix2, prefix("1234").into()); | ||
| 92 | assert_eq!(rec.calls, 3); | ||
| 68 | } | 93 | } |
| 69 | 94 | ||
| 70 | #[test] | 95 | #[test] |
| @@ -92,6 +117,13 @@ fn middle_dot_dot_is_range() { · 21 unmodified lines | |||
| 92 | assert_eq!(rec.resolve_ref_input.unwrap(), "r1"); | 117 | assert_eq!(rec.resolve_ref_input.unwrap(), "r1"); |
| 93 | assert_eq!(rec.prefix, prefix("abcd").into()); | 118 | assert_eq!(rec.prefix, prefix("abcd").into()); |
| 94 | assert_eq!(rec.calls, 3); | 119 | assert_eq!(rec.calls, 3); |
| 120 | |||
| 121 | let rec = parse("abcd-dirty..v1.2-42-g1234"); | ||
| 122 | assert_eq!(rec.kind.unwrap(), spec::Kind::Range); | ||
| 123 | assert_eq!(rec.resolve_ref_input, None); | ||
| 124 | assert_eq!(rec.prefix, prefix("abcd").into()); | ||
| 125 | assert_eq!(rec.prefix2, prefix("1234").into()); | ||
| 126 | assert_eq!(rec.calls, 3); | ||
| 95 | } | 127 | } |
| 96 | 128 | ||
| 97 | fn prefix(hex: &str) -> git_hash::Prefix { | 129 | fn prefix(hex: &str) -> git_hash::Prefix { |