diff options
Diffstat (limited to 'src/tests/recursive.rs')
-rw-r--r-- | src/tests/recursive.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tests/recursive.rs b/src/tests/recursive.rs index 27d1590..7d3435c 100644 --- a/src/tests/recursive.rs +++ b/src/tests/recursive.rs @@ -990,3 +990,23 @@ fn same_file_system() { ]; assert_eq!(expected, r.sorted_paths()); } + +// Tests that skip_current_dir doesn't destroy internal invariants. +// +// See: https://github.com/BurntSushi/walkdir/issues/118 +#[test] +fn regression_skip_current_dir() { + let dir = Dir::tmp(); + dir.mkdirp("foo/a/b"); + dir.mkdirp("foo/1/2"); + + let mut wd = WalkDir::new(dir.path()).max_open(1).into_iter(); + wd.next(); + wd.next(); + wd.next(); + wd.next(); + + wd.skip_current_dir(); + wd.skip_current_dir(); + wd.next(); +} |