| 70 | |
| 71 | #[test] |
| 72 | fn str() { |
| 73 | use super::Diffable; |
| 74 | |
| 75 | let left = "XMJYAUZ"; |
| 76 | let right = "MZJAWXU"; |
| 77 | |
| 78 | let diff = left.diff(&right); |
| 79 | if let edit::Edit::Change(diff) = diff { |
| 80 | assert_eq!( |
| 81 | diff.into_iter().collect::<Vec<_>>(), |
| 82 | vec![ |
| 83 | string::Edit::Remove('X'), |
| 84 | string::Edit::Copy('M'), |
| 85 | string::Edit::Insert('Z'), |
| 86 | string::Edit::Copy('J'), |
| 87 | string::Edit::Remove('Y'), |
| 88 | string::Edit::Copy('A'), |
| 89 | string::Edit::Insert('W'), |
| 90 | string::Edit::Insert('X'), |
| 91 | string::Edit::Copy('U'), |
| 92 | string::Edit::Remove('Z') |
| 93 | ] |
| 94 | ); |
| 95 | } else { |
| 96 | unreachable!() |
| 97 | } |
| 98 | } |
| 99 | } |