Compare commits
6 Commits
ignore-0.2
...
ignore-0.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92e5fad27d | ||
|
|
f86f987d71 | ||
|
|
bfbd53eb92 | ||
|
|
0668c74ed4 | ||
|
|
1c03298903 | ||
|
|
e0e8f26c56 |
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -8,7 +8,7 @@ dependencies = [
|
|||||||
"encoding_rs 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"encoding_rs 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"grep 0.1.6",
|
"grep 0.1.6",
|
||||||
"ignore 0.2.0",
|
"ignore 0.2.2",
|
||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -135,7 +135,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ignore"
|
name = "ignore"
|
||||||
version = "0.2.0"
|
version = "0.2.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"globset 0.2.0",
|
"globset 0.2.0",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ clap = "2.24.1"
|
|||||||
encoding_rs = "0.5.0"
|
encoding_rs = "0.5.0"
|
||||||
env_logger = { version = "0.4", default-features = false }
|
env_logger = { version = "0.4", default-features = false }
|
||||||
grep = { version = "0.1.5", path = "grep" }
|
grep = { version = "0.1.5", path = "grep" }
|
||||||
ignore = { version = "0.2.0", path = "ignore" }
|
ignore = { version = "0.2.2", path = "ignore" }
|
||||||
lazy_static = "0.2"
|
lazy_static = "0.2"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
|
|||||||
@@ -1082,7 +1082,7 @@ def download_subtitles_en(suite_dir):
|
|||||||
if not os.path.exists(en_path):
|
if not os.path.exists(en_path):
|
||||||
if not os.path.exists(en_path_gz):
|
if not os.path.exists(en_path_gz):
|
||||||
run_cmd(['curl', '-LO', SUBTITLES_EN_URL], cwd=subtitle_dir)
|
run_cmd(['curl', '-LO', SUBTITLES_EN_URL], cwd=subtitle_dir)
|
||||||
run_cmd(['gunzip', en_path_gz], cwd=subtitle_dir)
|
run_cmd(['gunzip', en_path_gz])
|
||||||
if not os.path.exists(en_path_sample):
|
if not os.path.exists(en_path_sample):
|
||||||
# Get a sample roughly the same size as the Russian corpus so that
|
# Get a sample roughly the same size as the Russian corpus so that
|
||||||
# benchmarks finish in a reasonable time.
|
# benchmarks finish in a reasonable time.
|
||||||
@@ -1109,7 +1109,7 @@ def download_subtitles_ru(suite_dir):
|
|||||||
if not os.path.exists(ru_path):
|
if not os.path.exists(ru_path):
|
||||||
if not os.path.exists(ru_path_gz):
|
if not os.path.exists(ru_path_gz):
|
||||||
run_cmd(['curl', '-LO', SUBTITLES_RU_URL], cwd=subtitle_dir)
|
run_cmd(['curl', '-LO', SUBTITLES_RU_URL], cwd=subtitle_dir)
|
||||||
run_cmd(['gunzip', ru_path_gz], cwd=subtitle_dir)
|
run_cmd(['gunzip', ru_path_gz])
|
||||||
|
|
||||||
|
|
||||||
def has_subtitles_ru(suite_dir):
|
def has_subtitles_ru(suite_dir):
|
||||||
@@ -1184,6 +1184,7 @@ def collect_benchmarks(suite_dir, filter_pat=None,
|
|||||||
name,
|
name,
|
||||||
' '.join(['--download %s' % n for n in e.missing_names]),
|
' '.join(['--download %s' % n for n in e.missing_names]),
|
||||||
))
|
))
|
||||||
|
continue
|
||||||
except MissingCommands as e:
|
except MissingCommands as e:
|
||||||
fmt = 'missing commands: %s, skipping benchmark %s ' \
|
fmt = 'missing commands: %s, skipping benchmark %s ' \
|
||||||
'(run with --allow-missing to run incomplete benchmarks)'
|
'(run with --allow-missing to run incomplete benchmarks)'
|
||||||
@@ -1239,7 +1240,7 @@ def main():
|
|||||||
benchmarks = collect_benchmarks(
|
benchmarks = collect_benchmarks(
|
||||||
args.dir, filter_pat=args.bench,
|
args.dir, filter_pat=args.bench,
|
||||||
allow_missing_commands=args.allow_missing,
|
allow_missing_commands=args.allow_missing,
|
||||||
disabled_cmds=args.disabled.split(','),
|
disabled_cmds=(args.disabled or '').split(','),
|
||||||
warmup_iter=args.warmup_iter, bench_iter=args.bench_iter)
|
warmup_iter=args.warmup_iter, bench_iter=args.bench_iter)
|
||||||
for b in benchmarks:
|
for b in benchmarks:
|
||||||
print(b.name)
|
print(b.name)
|
||||||
@@ -1266,7 +1267,7 @@ def main():
|
|||||||
benchmarks = collect_benchmarks(
|
benchmarks = collect_benchmarks(
|
||||||
args.dir, filter_pat=args.bench,
|
args.dir, filter_pat=args.bench,
|
||||||
allow_missing_commands=args.allow_missing,
|
allow_missing_commands=args.allow_missing,
|
||||||
disabled_cmds=args.disabled.split(','),
|
disabled_cmds=(args.disabled or '').split(','),
|
||||||
warmup_iter=args.warmup_iter, bench_iter=args.bench_iter)
|
warmup_iter=args.warmup_iter, bench_iter=args.bench_iter)
|
||||||
for i, b in enumerate(benchmarks):
|
for i, b in enumerate(benchmarks):
|
||||||
result = b.run()
|
result = b.run()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ignore"
|
name = "ignore"
|
||||||
version = "0.2.1" #:version
|
version = "0.2.2" #:version
|
||||||
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
||||||
description = """
|
description = """
|
||||||
A fast library for efficiently matching ignore files such as `.gitignore`
|
A fast library for efficiently matching ignore files such as `.gitignore`
|
||||||
|
|||||||
@@ -220,15 +220,17 @@ impl Gitignore {
|
|||||||
!path.has_root(),
|
!path.has_root(),
|
||||||
"path is expect to be under the root"
|
"path is expect to be under the root"
|
||||||
);
|
);
|
||||||
loop {
|
match self.matched_stripped(path, is_dir) {
|
||||||
match self.matched_stripped(path, is_dir) {
|
Match::None => (), // walk up
|
||||||
Match::None => match path.parent() {
|
a_match => return a_match,
|
||||||
Some(parent) => path = parent,
|
}
|
||||||
None => return Match::None,
|
while let Some(parent) = path.parent() {
|
||||||
},
|
match self.matched_stripped(parent, /* is_dir */ true) {
|
||||||
|
Match::None => path = parent, // walk up
|
||||||
a_match => return a_match,
|
a_match => return a_match,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Match::None
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Like matched, but takes a path that has already been stripped.
|
/// Like matched, but takes a path that has already been stripped.
|
||||||
|
|||||||
@@ -92,172 +92,206 @@ fn test_files_in_deep() {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_dirs_in_root() {
|
fn test_dirs_in_root() {
|
||||||
let gitignore = get_gitignore();
|
let gitignore = get_gitignore();
|
||||||
let m = |path: &str| gitignore.matched_path_or_any_parents(Path::new(path), true);
|
let m =
|
||||||
|
|path: &str, is_dir: bool| gitignore.matched_path_or_any_parents(Path::new(path), is_dir);
|
||||||
|
|
||||||
// 00
|
// 00
|
||||||
assert!(m("ROOT/dir_root_00").is_ignore());
|
assert!(m("ROOT/dir_root_00", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_00/file").is_ignore());
|
assert!(m("ROOT/dir_root_00/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_00/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_00/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_00/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 01
|
// 01
|
||||||
assert!(m("ROOT/dir_root_01").is_ignore());
|
assert!(m("ROOT/dir_root_01", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_01/file").is_ignore());
|
assert!(m("ROOT/dir_root_01/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_01/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_01/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_01/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 02
|
// 02
|
||||||
assert!(m("ROOT/dir_root_02").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/dir_root_02", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/dir_root_02/file").is_ignore());
|
assert!(m("ROOT/dir_root_02/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_02/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_02/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_02/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 03
|
// 03
|
||||||
assert!(m("ROOT/dir_root_03").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/dir_root_03", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/dir_root_03/file").is_ignore());
|
assert!(m("ROOT/dir_root_03/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_03/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_03/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_03/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 10
|
// 10
|
||||||
assert!(m("ROOT/dir_root_10").is_ignore());
|
assert!(m("ROOT/dir_root_10", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_10/file").is_ignore());
|
assert!(m("ROOT/dir_root_10/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_10/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_10/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_10/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 11
|
// 11
|
||||||
assert!(m("ROOT/dir_root_11").is_ignore());
|
assert!(m("ROOT/dir_root_11", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_11/file").is_ignore());
|
assert!(m("ROOT/dir_root_11/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_11/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_11/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_11/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 12
|
// 12
|
||||||
assert!(m("ROOT/dir_root_12").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/dir_root_12", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/dir_root_12/file").is_ignore());
|
assert!(m("ROOT/dir_root_12/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_12/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_12/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_12/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 13
|
// 13
|
||||||
assert!(m("ROOT/dir_root_13").is_none());
|
assert!(m("ROOT/dir_root_13", true).is_none());
|
||||||
assert!(m("ROOT/dir_root_13/file").is_ignore());
|
assert!(m("ROOT/dir_root_13/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_13/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_13/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_13/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 20
|
// 20
|
||||||
assert!(m("ROOT/dir_root_20").is_none());
|
assert!(m("ROOT/dir_root_20", true).is_none());
|
||||||
assert!(m("ROOT/dir_root_20/file").is_none());
|
assert!(m("ROOT/dir_root_20/file", false).is_none());
|
||||||
assert!(m("ROOT/dir_root_20/child_dir/file").is_none());
|
assert!(m("ROOT/dir_root_20/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/dir_root_20/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 21
|
// 21
|
||||||
assert!(m("ROOT/dir_root_21").is_none());
|
assert!(m("ROOT/dir_root_21", true).is_none());
|
||||||
assert!(m("ROOT/dir_root_21/file").is_none());
|
assert!(m("ROOT/dir_root_21/file", false).is_none());
|
||||||
assert!(m("ROOT/dir_root_21/child_dir/file").is_none());
|
assert!(m("ROOT/dir_root_21/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/dir_root_21/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 22
|
// 22
|
||||||
assert!(m("ROOT/dir_root_22").is_none());
|
assert!(m("ROOT/dir_root_22", true).is_none());
|
||||||
assert!(m("ROOT/dir_root_22/file").is_none());
|
assert!(m("ROOT/dir_root_22/file", false).is_none());
|
||||||
assert!(m("ROOT/dir_root_22/child_dir/file").is_none());
|
assert!(m("ROOT/dir_root_22/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/dir_root_22/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 23
|
// 23
|
||||||
assert!(m("ROOT/dir_root_23").is_none());
|
assert!(m("ROOT/dir_root_23", true).is_none());
|
||||||
assert!(m("ROOT/dir_root_23/file").is_none());
|
assert!(m("ROOT/dir_root_23/file", false).is_none());
|
||||||
assert!(m("ROOT/dir_root_23/child_dir/file").is_none());
|
assert!(m("ROOT/dir_root_23/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/dir_root_23/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 30
|
// 30
|
||||||
assert!(m("ROOT/dir_root_30").is_ignore());
|
assert!(m("ROOT/dir_root_30", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_30/file").is_ignore());
|
assert!(m("ROOT/dir_root_30/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_30/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_30/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_30/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 31
|
// 31
|
||||||
assert!(m("ROOT/dir_root_31").is_ignore());
|
assert!(m("ROOT/dir_root_31", true).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_31/file").is_ignore());
|
assert!(m("ROOT/dir_root_31/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_31/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_31/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_31/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 32
|
// 32
|
||||||
assert!(m("ROOT/dir_root_32").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/dir_root_32", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/dir_root_32/file").is_ignore());
|
assert!(m("ROOT/dir_root_32/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_32/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_32/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_32/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 33
|
// 33
|
||||||
assert!(m("ROOT/dir_root_33").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/dir_root_33", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/dir_root_33/file").is_ignore());
|
assert!(m("ROOT/dir_root_33/file", false).is_ignore());
|
||||||
assert!(m("ROOT/dir_root_33/child_dir/file").is_ignore());
|
assert!(m("ROOT/dir_root_33/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/dir_root_33/child_dir/file", false).is_ignore());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_dirs_in_deep() {
|
fn test_dirs_in_deep() {
|
||||||
let gitignore = get_gitignore();
|
let gitignore = get_gitignore();
|
||||||
let m = |path: &str| gitignore.matched_path_or_any_parents(Path::new(path), true);
|
let m =
|
||||||
|
|path: &str, is_dir: bool| gitignore.matched_path_or_any_parents(Path::new(path), is_dir);
|
||||||
|
|
||||||
// 00
|
// 00
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_00").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_00", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_00/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_00/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_00/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_00/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_00/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 01
|
// 01
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_01").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_01", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_01/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_01/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_01/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_01/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_01/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 02
|
// 02
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_02").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_02", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_02/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_02/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_02/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_02/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_02/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 03
|
// 03
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_03").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_03", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_03/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_03/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_03/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_03/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_03/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 10
|
// 10
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_10").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_10", true).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_10/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_10/file", false).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_10/child_dir/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_10/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_10/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 11
|
// 11
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_11").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_11", true).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_11/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_11/file", false).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_11/child_dir/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_11/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_11/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 12
|
// 12
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_12").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_12", true).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_12/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_12/file", false).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_12/child_dir/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_12/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_12/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 13
|
// 13
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_13").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_13", true).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_13/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_13/file", false).is_none());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_13/child_dir/file").is_none());
|
assert!(m("ROOT/parent_dir/dir_deep_13/child_dir", true).is_none());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_13/child_dir/file", false).is_none());
|
||||||
|
|
||||||
// 20
|
// 20
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_20").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_20", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_20/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_20/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_20/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_20/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_20/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 21
|
// 21
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_21").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_21", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_21/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_21/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_21/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_21/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_21/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 22
|
// 22
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_22").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_22", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_22/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_22/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_22/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_22/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_22/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 23
|
// 23
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_23").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_23", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_23/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_23/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_23/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_23/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_23/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 30
|
// 30
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_30").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_30", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_30/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_30/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_30/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_30/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_30/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 31
|
// 31
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_31").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_31", true).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_31/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_31/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_31/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_31/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_31/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 32
|
// 32
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_32").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_32", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_32/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_32/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_32/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_32/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_32/child_dir/file", false).is_ignore());
|
||||||
|
|
||||||
// 33
|
// 33
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_33").is_none()); // dir itself doesn't match
|
assert!(m("ROOT/parent_dir/dir_deep_33", true).is_none()); // dir itself doesn't match
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_33/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_33/file", false).is_ignore());
|
||||||
assert!(m("ROOT/parent_dir/dir_deep_33/child_dir/file").is_ignore());
|
assert!(m("ROOT/parent_dir/dir_deep_33/child_dir", true).is_ignore());
|
||||||
|
assert!(m("ROOT/parent_dir/dir_deep_33/child_dir/file", false).is_ignore());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user