Always call finish (#58)
This commit is contained in:
parent
f5c1afa8f4
commit
18712783da
4 changed files with 94 additions and 0 deletions
|
|
@ -167,3 +167,32 @@ fn test_patience_out_of_bounds_bug() {
|
|||
|
||||
insta::assert_debug_snapshot!(d.into_inner().ops());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_finish_called() {
|
||||
struct HasRunFinish(bool);
|
||||
|
||||
impl DiffHook for HasRunFinish {
|
||||
type Error = ();
|
||||
fn finish(&mut self) -> Result<(), Self::Error> {
|
||||
self.0 = true;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
let mut d = HasRunFinish(false);
|
||||
let slice = &[1, 2];
|
||||
let slice2 = &[1, 2, 3];
|
||||
diff(&mut d, slice, 0..slice.len(), slice2, 0..slice2.len()).unwrap();
|
||||
assert!(d.0);
|
||||
|
||||
let mut d = HasRunFinish(false);
|
||||
let slice = &[1, 2];
|
||||
diff(&mut d, slice, 0..slice.len(), slice, 0..slice.len()).unwrap();
|
||||
assert!(d.0);
|
||||
|
||||
let mut d = HasRunFinish(false);
|
||||
let slice: &[u8] = &[];
|
||||
diff(&mut d, slice, 0..slice.len(), slice, 0..slice.len()).unwrap();
|
||||
assert!(d.0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue