Lines Matching refs:Pattern
98 dir_patterns: Vec<Pattern>,
211 if let Err(err) = Pattern::new(pattern) { in glob_with()
254 dir_patterns.push(Pattern::new(component)?); in glob_with()
258 dir_patterns.push(Pattern { in glob_with()
551 pub struct Pattern { struct
558 impl fmt::Display for Pattern { argument
564 impl FromStr for Pattern { implementation
600 impl Pattern { impl
872 patterns: &[Pattern], in fill_todo() argument
878 fn pattern_as_str(pattern: &Pattern) -> Option<String> { in fill_todo()
1093 use super::{glob, MatchOptions, Pattern};
1098 assert!("a*b".parse::<Pattern>().unwrap().matches("a_b")); in test_pattern_from_str()
1099 assert!("a/**b".parse::<Pattern>().unwrap_err().pos == 4); in test_pattern_from_str()
1104 assert!(Pattern::new("a/**b").unwrap_err().pos == 4); in test_wildcard_errors()
1105 assert!(Pattern::new("a/bc**").unwrap_err().pos == 3); in test_wildcard_errors()
1106 assert!(Pattern::new("a/*****").unwrap_err().pos == 4); in test_wildcard_errors()
1107 assert!(Pattern::new("a/b**c**d").unwrap_err().pos == 2); in test_wildcard_errors()
1108 assert!(Pattern::new("a**b").unwrap_err().pos == 0); in test_wildcard_errors()
1113 assert!(Pattern::new("abc[def").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1114 assert!(Pattern::new("abc[!def").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1115 assert!(Pattern::new("abc[").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1116 assert!(Pattern::new("abc[!").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1117 assert!(Pattern::new("abc[d").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1118 assert!(Pattern::new("abc[!d").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1119 assert!(Pattern::new("abc[]").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1120 assert!(Pattern::new("abc[!]").unwrap_err().pos == 3); in test_unclosed_bracket_errors()
1189 assert!(Pattern::new("a*b").unwrap().matches("a_b")); in test_wildcards()
1190 assert!(Pattern::new("a*b*c").unwrap().matches("abc")); in test_wildcards()
1191 assert!(!Pattern::new("a*b*c").unwrap().matches("abcd")); in test_wildcards()
1192 assert!(Pattern::new("a*b*c").unwrap().matches("a_b_c")); in test_wildcards()
1193 assert!(Pattern::new("a*b*c").unwrap().matches("a___b___c")); in test_wildcards()
1194 assert!(Pattern::new("abc*abc*abc") in test_wildcards()
1197 assert!(!Pattern::new("abc*abc*abc") in test_wildcards()
1200 assert!(Pattern::new("a*a*a*a*a*a*a*a*a") in test_wildcards()
1203 assert!(Pattern::new("a*b[xyz]c*d").unwrap().matches("abxcdbxcddd")); in test_wildcards()
1208 let pat = Pattern::new("some/**/needle.txt").unwrap(); in test_recursive_wildcards()
1217 let pat = Pattern::new("**").unwrap(); in test_recursive_wildcards()
1225 let pat = Pattern::new("some/**/**/needle.txt").unwrap(); in test_recursive_wildcards()
1233 let pat = Pattern::new("**/test").unwrap(); in test_recursive_wildcards()
1239 let pat = Pattern::new("/**/test").unwrap(); in test_recursive_wildcards()
1247 let pat = Pattern::new("**/.*").unwrap(); in test_recursive_wildcards()
1262 let pat = Pattern::new("a[0-9]b").unwrap(); in test_range_pattern()
1268 let pat = Pattern::new("a[!0-9]b").unwrap(); in test_range_pattern()
1276 let pat = Pattern::new(p).unwrap(); in test_range_pattern()
1294 let pat = Pattern::new(p).unwrap(); in test_range_pattern()
1302 let pat = Pattern::new("[2-1]").unwrap(); in test_range_pattern()
1306 assert!(Pattern::new("[-]").unwrap().matches("-")); in test_range_pattern()
1307 assert!(!Pattern::new("[!-]").unwrap().matches("-")); in test_range_pattern()
1312 let txt_pat = Pattern::new("*hello.txt").unwrap(); in test_pattern_matches()
1321 let dir_pat = Pattern::new("*some/path/to/hello.txt").unwrap(); in test_pattern_matches()
1331 assert_eq!(Pattern::escape(s), "_[[]_[]]_[?]_[*]_!_".to_string()); in test_pattern_escape()
1332 assert!(Pattern::new(&Pattern::escape(s)).unwrap().matches(s)); in test_pattern_escape()
1337 let pat = Pattern::new("aBcDeFg").unwrap(); in test_pattern_matches_case_insensitive()
1352 let pat_within = Pattern::new("[a]").unwrap(); in test_pattern_matches_case_insensitive_range()
1353 let pat_except = Pattern::new("[!a]").unwrap(); in test_pattern_matches_case_insensitive_range()
1388 assert!(Pattern::new("abc/def") in test_pattern_matches_require_literal_separator()
1391 assert!(!Pattern::new("abc?def") in test_pattern_matches_require_literal_separator()
1394 assert!(!Pattern::new("abc*def") in test_pattern_matches_require_literal_separator()
1397 assert!(!Pattern::new("abc[/]def") in test_pattern_matches_require_literal_separator()
1401 assert!(Pattern::new("abc/def") in test_pattern_matches_require_literal_separator()
1404 assert!(Pattern::new("abc?def") in test_pattern_matches_require_literal_separator()
1407 assert!(Pattern::new("abc*def") in test_pattern_matches_require_literal_separator()
1410 assert!(Pattern::new("abc[/]def") in test_pattern_matches_require_literal_separator()
1429 Pattern::new("*.txt") in test_pattern_matches_require_literal_leading_dot()
1437 Pattern::new(".*.*") in test_pattern_matches_require_literal_leading_dot()
1445 Pattern::new("aaa/bbb/*") in test_pattern_matches_require_literal_leading_dot()
1453 Pattern::new("aaa/bbb/*") in test_pattern_matches_require_literal_leading_dot()
1461 Pattern::new("aaa/bbb/.*") in test_pattern_matches_require_literal_leading_dot()
1469 Pattern::new("aaa/?bbb") in test_pattern_matches_require_literal_leading_dot()
1477 Pattern::new("aaa/[.]bbb") in test_pattern_matches_require_literal_leading_dot()
1484 let f = |options| Pattern::new("**/*").unwrap().matches_with(".bbb", options); in test_pattern_matches_require_literal_leading_dot()
1493 assert!(Pattern::new("a/b").unwrap().matches_path(&Path::new("a/b"))); in test_matches_path()
1499 assert!(Pattern::new(pattern.to_str().unwrap()).is_ok()); in test_path_join()