| 948 | |
| 949 | #[test] |
| 950 | fn test_change_hunk_try_merge() { |
| 951 | let hunk1 = ChangeHunk::new(0, 5, HunkKind::Deleted); |
| 952 | let hunk2 = ChangeHunk::new(5, 10, HunkKind::Deleted); |
| 953 | let hunk3 = ChangeHunk::new(5, 10, HunkKind::Inserted); |
| 954 | |
| 955 | let merged = hunk1.try_merge(&hunk2); |
| 956 | assert!(merged.is_some()); |
| 957 | let merged = merged.unwrap(); |
| 958 | assert_eq!(merged.start, 0); |
| 959 | assert_eq!(merged.end, 10); |
| 960 | |
| 961 | // Different kinds shouldn't merge |
| 962 | let no_merge = hunk1.try_merge(&hunk3); |
| 963 | assert!(no_merge.is_none()); |
| 964 | } |
| 965 | |
| 966 | #[test] |
| 967 | fn test_change_hunk_extract() { |