rust/hg-core/src/matchers.rs
branchstable
changeset 49464 90512ca6a255
parent 49352 97dcd6906e6f
child 49478 d8ce883ff1f4
equal deleted inserted replaced
49458:b10e4c19f8c5 49464:90512ca6a255
   789         let RootsDirsAndParents {
   789         let RootsDirsAndParents {
   790             roots,
   790             roots,
   791             dirs,
   791             dirs,
   792             parents,
   792             parents,
   793         } = roots_dirs_and_parents(&ignore_patterns)?;
   793         } = roots_dirs_and_parents(&ignore_patterns)?;
   794         let prefix = ignore_patterns.iter().any(|k| match k.syntax {
   794         let prefix = ignore_patterns.iter().all(|k| match k.syntax {
   795             PatternSyntax::Path | PatternSyntax::RelPath => true,
   795             PatternSyntax::Path | PatternSyntax::RelPath => true,
   796             _ => false,
   796             _ => false,
   797         });
   797         });
   798         let (patterns, match_fn) = build_match(ignore_patterns)?;
   798         let (patterns, match_fn) = build_match(ignore_patterns)?;
   799 
   799 
  1090             matcher.visit_children_set(HgPath::new(b"dir/subdir")),
  1090             matcher.visit_children_set(HgPath::new(b"dir/subdir")),
  1091             VisitChildrenSet::This
  1091             VisitChildrenSet::This
  1092         );
  1092         );
  1093         assert_eq!(
  1093         assert_eq!(
  1094             matcher.visit_children_set(HgPath::new(b"dir/subdir/x")),
  1094             matcher.visit_children_set(HgPath::new(b"dir/subdir/x")),
       
  1095             VisitChildrenSet::This
       
  1096         );
       
  1097 
       
  1098         // Test multiple patterns
       
  1099         let matcher = IncludeMatcher::new(vec![
       
  1100             IgnorePattern::new(PatternSyntax::RelPath, b"foo", Path::new("")),
       
  1101             IgnorePattern::new(PatternSyntax::Glob, b"g*", Path::new("")),
       
  1102         ])
       
  1103         .unwrap();
       
  1104 
       
  1105         assert_eq!(
       
  1106             matcher.visit_children_set(HgPath::new(b"")),
       
  1107             VisitChildrenSet::This
       
  1108         );
       
  1109 
       
  1110         // Test multiple patterns
       
  1111         let matcher = IncludeMatcher::new(vec![IgnorePattern::new(
       
  1112             PatternSyntax::Glob,
       
  1113             b"**/*.exe",
       
  1114             Path::new(""),
       
  1115         )])
       
  1116         .unwrap();
       
  1117 
       
  1118         assert_eq!(
       
  1119             matcher.visit_children_set(HgPath::new(b"")),
  1095             VisitChildrenSet::This
  1120             VisitChildrenSet::This
  1096         );
  1121         );
  1097     }
  1122     }
  1098 
  1123 
  1099     #[test]
  1124     #[test]