private IFileProvider GetFileProvider() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/"); fileProvider.AddDirectory("/output"); fileProvider.AddFile("/output/test.md"); return fileProvider; }
private IFileProvider GetFileProvider() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/"); fileProvider.AddDirectory("/TestFiles"); fileProvider.AddDirectory("/TestFiles/Input"); fileProvider.AddDirectory("/TestFiles/Input/Subfolder"); fileProvider.AddFile("/TestFiles/test-above-input.txt", "test"); fileProvider.AddFile("/TestFiles/Input/markdown-x.md", "xxx"); fileProvider.AddFile("/TestFiles/Input/test-a.txt", "aaa"); fileProvider.AddFile("/TestFiles/Input/test-b.txt", "bbb"); fileProvider.AddFile("/TestFiles/Input/Subfolder/markdown-y.md", "yyy"); fileProvider.AddFile("/TestFiles/Input/Subfolder/test-c.txt", "ccc"); return fileProvider; }
public void NestedFoldersWilcard() { // Given TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/a"); fileProvider.AddDirectory("/a/b"); fileProvider.AddDirectory("/a/b/c"); fileProvider.AddDirectory("/a/bar"); fileProvider.AddDirectory("/a/bar/foo"); fileProvider.AddFile("/a/b/c/x.txt"); fileProvider.AddFile("/a/bar/foo/y.txt"); IDirectory directory = fileProvider.GetDirectory("/a"); // When IEnumerable<IFile> matches = Globber.GetFiles(directory, "**/*.txt"); // Then CollectionAssert.AreEquivalent(new[] { "/a/b/c/x.txt", "/a/bar/foo/y.txt" }, matches.Select(x => x.Path.FullPath)); }
private IFileProvider GetFileProviderB() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/foo"); fileProvider.AddDirectory("/foo/a"); fileProvider.AddDirectory("/foo/a/b"); fileProvider.AddDirectory("/foo/c"); fileProvider.AddDirectory("/bar"); fileProvider.AddFile("/foo/baz.txt"); fileProvider.AddFile("/foo/c/baz.txt"); fileProvider.AddFile("/bar/baz.txt"); return fileProvider; }
private IFileProvider GetFileProviderA() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/a"); fileProvider.AddDirectory("/a/b"); fileProvider.AddDirectory("/a/b/c"); fileProvider.AddDirectory("/a/b/c/1"); fileProvider.AddDirectory("/a/b/d"); fileProvider.AddDirectory("/a/x"); fileProvider.AddDirectory("/a/y"); fileProvider.AddDirectory("/a/y/z"); fileProvider.AddFile("/a/b/c/foo.txt"); fileProvider.AddFile("/a/b/c/baz.txt"); fileProvider.AddFile("/a/b/c/1/2.txt"); fileProvider.AddFile("/a/b/d/baz.txt"); fileProvider.AddFile("/a/x/bar.txt"); return fileProvider; }
public TestFile(TestFileProvider fileProvider, FilePath path) { _fileProvider = fileProvider; _path = path.Collapse(); }
public TestDirectory(TestFileProvider fileProvider, DirectoryPath path) { _fileProvider = fileProvider; _path = path.Collapse(); }
public void ShouldReturnExistingFiles(string directory, string[] patterns, string[] expected, bool reverseSlashes) { //TestContext.Out.WriteLine($"Patterns: {string.Join(",", patterns)}"); // Given FileSystem fileSystem = new FileSystem(); fileSystem.FileProviders.Add(NormalizedPath.DefaultFileProvider.Scheme, GetFileProvider()); TestFileProvider alternateProvider = new TestFileProvider(); alternateProvider.AddDirectory("/"); alternateProvider.AddDirectory("/q"); alternateProvider.AddFile("/q/werty.txt"); fileSystem.FileProviders.Add("qwerty", alternateProvider); IDirectory dir = fileSystem.GetDirectory(directory); // When IEnumerable<IFile> results = fileSystem.GetFiles(dir, patterns); // Then CollectionAssert.AreEquivalent(expected, results.Select(x => x.Path.FullPath)); if (reverseSlashes) { //When results = fileSystem.GetFiles(dir, patterns.Select(x => x.Replace("/", "\\"))); // Then CollectionAssert.AreEquivalent(expected, results.Select(x => x.Path.FullPath)); } }
private IFileProvider GetFileProvider() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/"); fileProvider.AddDirectory("/AlternateIgnorePrefix"); fileProvider.AddDirectory("/AlternateViewStart"); fileProvider.AddDirectory("/AlternateViewStartPath"); fileProvider.AddDirectory("/IgnoreUnderscores"); fileProvider.AddDirectory("/Layout"); fileProvider.AddDirectory("/LayoutWithSection"); fileProvider.AddDirectory("/SimpleTemplate"); fileProvider.AddDirectory("/ViewStartAndLayout"); fileProvider.AddFile("/Layout/_Layout.cshtml", @"LAYOUT @RenderBody()"); fileProvider.AddFile("/ViewStartAndLayout/_ViewStart.cshtml", @"@{ Layout = ""_Layout.cshtml""; }"); fileProvider.AddFile("/ViewStartAndLayout/_Layout.cshtml", @"LAYOUT2 @RenderBody()"); fileProvider.AddFile("/AlternateViewStart/_ViewStart.cshtml", @"@{ Layout = @""AlternateViewStart\_Layout.cshtml""; }"); fileProvider.AddFile("/AlternateViewStart/_Layout.cshtml", @"LAYOUT3 @RenderBody()"); fileProvider.AddFile("/IgnoreUnderscores/_Layout.cshtml", @"LAYOUT4 @RenderBody()"); fileProvider.AddFile("/LayoutWithSection/_Layout.cshtml", @"LAYOUT5 @RenderSection(""MySection"", false) @RenderBody()"); return fileProvider; }
private IFileProvider GetFileProvider() { TestFileProvider fileProvider = new TestFileProvider(); fileProvider.AddDirectory("/"); fileProvider.AddDirectory("/a"); fileProvider.AddDirectory("/b"); fileProvider.AddFile("/a/1.md", @"File a1"); fileProvider.AddFile("/a/1.md.meta", @"data: a1"); fileProvider.AddFile("/a/1.md.other", @"data: other"); fileProvider.AddFile("/a/2.md", @"File a2"); fileProvider.AddFile("/a/2.md.meta", @"data: a2"); fileProvider.AddFile("/b/1.md", @"File b1"); fileProvider.AddFile("/b/1.md.meta", @"data: b1"); return fileProvider; }