public void when_no_exlude_nor_include_matches_result_is_None() { FileGroupTarget target = new FileGroupTarget(); FileNameFilter filter = new FileNameFilter(); filter.Filters.AddRangeArray(new PathFilter(true, "**/*.inc"), new PathFilter(false, "**/*.exc")); target.Filters.Add(filter); FileGroupTarget.Result r; { Assert.That(target.IncludedFile("toto.exc", out r), Is.EqualTo(FilterMatchResult.Excluded)); Assert.That(target.IncludedFile("a/b.toto.exc", out r), Is.EqualTo(FilterMatchResult.Excluded)); Assert.That(target.IncludedFile("toto.inc", out r), Is.EqualTo(FilterMatchResult.Included)); Assert.That(target.IncludedFile("a/b/b.toto.inc", out r), Is.EqualTo(FilterMatchResult.Included)); Assert.That(target.IncludedFile(String.Empty, out r), Is.EqualTo(FilterMatchResult.None)); Assert.That(target.IncludedFile("murfn", out r), Is.EqualTo(FilterMatchResult.None)); } }
public void selecting_files_from_this_solution() { using (var fs = new VF()) { FileGroupTarget fgt = new FileGroupTarget(); fgt.MatchBehavior = FileFilterMatchBehavior.NoneIsIncluded; FileNameFilter filter = new FileNameFilter(); filter.Filters.Add(new PathFilter(false, "/.git/")); filter.Filters.Add(new PathFilter(false, "/CK.Globbing/File*/")); filter.Filters.Add(new PathFilter(true, "/packages/**/Circles/*.jpg")); filter.Filters.Add(new PathFilter(false, "/packages/**/*.jpg")); filter.Filters.Add(new PathFilter(false, "/**/ob?/")); fgt.Filters.Add(filter); IList <string> result = fgt.IncludedFiles("E:\\Dev\\CK-FileFilter\\", fs).Select(r => r.FilePath).ToList(); Assert.That(result.Count, Is.GreaterThan(1)); Assert.That(result.Any(f => f.Contains("\\.git\\")), Is.False); Assert.That(result.Any(f => f.Contains("\\CK.Globbing\\File")), Is.False); Assert.That(result.Count(f => f.EndsWith(".jpg")), Is.GreaterThan(0)); Assert.That(result.Where(f => f.EndsWith(".jpg")).All(f => f.Contains("\\Circles\\"))); Assert.That(result.Any(f => f.Contains("\\obj\\")), Is.False); filter.Clear(); filter.Filters.Add(new PathFilter(false, "**/NUnit.Runners.2.6.4/tools/lib/**/*/")); filter.Filters.Add(new PathFilter(true, "**/NUnit.Runners.2.6.4/tools/lib/")); fgt.MatchBehavior = FileFilterMatchBehavior.Default; result = fgt.IncludedFiles("E:\\Dev\\CK-FileFilter\\", fs).Select(r => r.FilePath).ToList(); Assert.That(result.Count(), Is.EqualTo(8)); } }
public void PackFromList() { var t1 = new FileGroupTarget() { Target = "/Target1" }; var fn1 = new FileNameFilter() { Root = "ForTarget1" }; var pf1 = new PathFilter(true, "/**.txt"); t1.Filters.Add(fn1); fn1.Filters.Add(pf1); var t2 = new FileGroupTarget() { Target = "/Target2" }; var fn2 = new FileNameFilter() { Root = "ForTarget2" }; var pf2 = new PathFilter(false, "/**.txt"); t2.Filters.Add(fn2); fn2.Filters.Add(pf2); var t3 = new FileGroupTarget() { Target = "/Target3" }; var fn3 = new FileNameFilter() { Root = "ForTarget3" }; var pf3e = new PathFilter(false, "/File6.txt"); var pf3i = new PathFilter(true, "/**.txt"); t3.Filters.Add(fn3); fn3.Filters.Add(pf3e); fn3.Filters.Add(pf3i); var t4 = new FileGroupTarget() { Target = "/" }; var fn4 = new FileNameFilter() { Root = "/" }; var pf4 = new PathFilter(true, "/RootFile.txt"); t4.Filters.Add(fn4); fn4.Filters.Add(pf4); var targets = new[] { t1, t2, t3, t4 }; var outputFile = System.IO.Path.Combine(_outputDirectory, "PackFromList.zip"); CKPackAliases.Pack(_context, targets, outputFile); Assert.IsTrue(File.Exists(outputFile), "Created zip - Output file not found"); CheckZipContent(outputFile, new[] { "RootFile.txt", @"Target1\File1.txt", @"Target1\File2.txt", @"Target3\File5.txt" }); }