コード例 #1
0
ファイル: UnwrittenFilesTests.cs プロジェクト: ibebbs/Wyam
        private IFileProvider GetFileProvider()
        {
            TestFileProvider fileProvider = new TestFileProvider();

            fileProvider.AddDirectory("/");
            fileProvider.AddDirectory("/output");
            
            fileProvider.AddFile("/output/test.md");

            return fileProvider;
        }
コード例 #2
0
ファイル: WriteFilesTests.cs プロジェクト: ibebbs/Wyam
        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;
        }
コード例 #3
0
ファイル: GlobberTests.cs プロジェクト: ibebbs/Wyam
            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));
            }
コード例 #4
0
        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;
        }
コード例 #5
0
        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;
        }
コード例 #6
0
 public TestFile(TestFileProvider fileProvider, FilePath path)
 {
     _fileProvider = fileProvider;
     _path         = path.Collapse();
 }
コード例 #7
0
ファイル: TestDirectory.cs プロジェクト: cederlof/Wyam
 public TestDirectory(TestFileProvider fileProvider, DirectoryPath path)
 {
     _fileProvider = fileProvider;
     _path         = path.Collapse();
 }
コード例 #8
0
ファイル: FileSystemTests.cs プロジェクト: ibebbs/Wyam
            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));
                }
            }
コード例 #9
0
ファイル: RazorTests.cs プロジェクト: ibebbs/Wyam
            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;
            }
コード例 #10
0
ファイル: TestDirectory.cs プロジェクト: ibebbs/Wyam
 public TestDirectory(TestFileProvider fileProvider, DirectoryPath path)
 {
     _fileProvider = fileProvider;
     _path = path.Collapse();
 }
コード例 #11
0
ファイル: TestFile.cs プロジェクト: ibebbs/Wyam
 public TestFile(TestFileProvider fileProvider, FilePath path)
 {
     _fileProvider = fileProvider;
     _path = path.Collapse();
 }
コード例 #12
0
ファイル: SidecarTests.cs プロジェクト: ibebbs/Wyam
            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;
            }