Ejemplo n.º 1
0
        public void CanCreateAFile()
        {
            var fs = new MockGenFS();

            fs.CreateFile("test.txt");
            Assert.IsTrue(fs.FileExists("test.txt"));
        }
Ejemplo n.º 2
0
        public void AnEmptyDirectoryIsEmpty()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("foo");
            Assert.IsTrue(fs.DirectoryIsEmpty("foo"));
        }
Ejemplo n.º 3
0
        public void CanCreateAFileInANewDirectory()
        {
            var fs = new MockGenFS();

            fs.CreateFile("new/test.txt");
            Assert.IsTrue(fs.DirectoryExists("new"));
        }
Ejemplo n.º 4
0
        public void GetFilesDoesNotReturnImplicitFolders()
        {
            var fs = new MockGenFS();

            fs.CreateFile("src/folder/test.txt");
            Assert.AreEqual(fs.GetFiles("src").Count, 0);
        }
Ejemplo n.º 5
0
        public void CreateFileCanIncludeFileContents()
        {
            var fs = new MockGenFS();

            fs.CreateFile("test.txt", "hello, world");
            Assert.IsTrue(fs.FileExists("test.txt"));
        }
Ejemplo n.º 6
0
        public void GetDirectoriesDoesReturnImplicitFolders()
        {
            var fs = new MockGenFS();

            fs.CreateFile("src/folder/file.txt");
            Assert.AreEqual(fs.GetDirectories("src").Count, 1);
        }
Ejemplo n.º 7
0
        public void ExistsIsTrueAfterADirectoryIsCreated()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("testDir");
            Assert.IsTrue(fs.DirectoryExists("testDir"));
        }
Ejemplo n.º 8
0
        public void ReadFileCanReadFileContents()
        {
            var fs = new MockGenFS();

            fs.CreateFile("test.txt", "hello, world");
            Assert.AreEqual("hello, world", fs.ReadFile("test.txt"));
        }
Ejemplo n.º 9
0
        public void CanFindASubDirectory()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("foo/bar/baz");
            Assert.IsTrue(fs.DirectoryExists("foo/bar"));
        }
Ejemplo n.º 10
0
        public void CanCreateAFileInAnExistingDirectory()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateFile("test/foo.txt");
            Assert.IsTrue(fs.FileExists("test/foo.txt"));
        }
Ejemplo n.º 11
0
        public void ExistsIsFalseAfterADirectoryIsRemoved()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("testDir");
            fs.DeleteDirectory("testDir");
            Assert.IsFalse(fs.DirectoryExists("testDir"));
        }
Ejemplo n.º 12
0
        public void CanDeleteASubDirectory()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("foo/bar/baz");
            fs.DeleteDirectory("foo/bar/baz");
            Assert.IsFalse(fs.DirectoryExists("foo/bar/baz"));
        }
Ejemplo n.º 13
0
        public void AnExceptionIsNotThrownIfThePathExists()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            var gen = new Generator(fs, "test", "dist");

            Assert.IsNotNull(gen);
        }
Ejemplo n.º 14
0
        public void AnExceptionIsThrownIfTheDistIsNotEmpty()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateDirectory("dist");
            fs.CreateFile("dist/foo.txt");
            var gen = new Generator(fs, "test", "dist");
        }
Ejemplo n.º 15
0
        public void TheDistDirectoryIsCreatedIfItDoesNotExist()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateFile("test/index.html");
            var gen = new Generator(fs, "test", "dist");

            Assert.IsTrue(fs.DirectoryExists("dist"));
        }
Ejemplo n.º 16
0
        public void TemplateFilesAreNotCopiedToTheOutputDirectory()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/test.html", "<!-- type:template -->");

            var gen = new Generator(fs, "src", "dist");

            Assert.IsFalse(fs.FileExists("dist/test.html"));
        }
Ejemplo n.º 17
0
        public void BreadcrumbsForIndex()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html", "<!-- title:Home -->Home");
            fs.CreateFile("src/foo/index.html", "<!-- title:Child -->{{breadcrumbs}} Child");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<a href=\"../index.html\">Home</a> Child", fs.ReadFile("dist/foo/index.html"));
        }
Ejemplo n.º 18
0
        public void ADraftPageIsExcludedFromOutput()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/draft.html", "<!-- draft: true -->");

            var gen = new Generator(fs, "src", "dist");

            Assert.IsFalse(fs.FileExists("dist/draft.html"));
        }
Ejemplo n.º 19
0
        public void FileContentsAreCopiedToTheDestination()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/test.txt", "hello, world");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("hello, world", fs.ReadFile("dist/test.txt"));
        }
Ejemplo n.º 20
0
        public void ATemplateCanUseATitle()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/tem.html", "<!-- type:template -->\n<h1>{{title}}</h1><p>{{content}}</p>");
            fs.CreateFile("src/con.html", "<!-- template:tem title:\"Content Title\" -->Some content.");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<h1>Content Title</h1><p>Some content.</p>", fs.ReadFile("dist/con.html"));
        }
Ejemplo n.º 21
0
        public void TemplateReadAfterContentShouldStillWork()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/content.html", "<!-- template:tem --> foobar.");
            fs.CreateFile("src/tem.html", "<!-- type:template --> <p>{{content}}</p>");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<p>foobar.</p>", fs.ReadFile("dist/content.html"));
        }
Ejemplo n.º 22
0
        public void SrcAndDistCanStartWithADot()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html", "index");
            fs.CreateFile("src/about.html", "about");

            var gen = new Generator(fs, "./src", "./dist");

            Assert.IsTrue(fs.FileExists("dist/index.html"));
            Assert.IsTrue(fs.FileExists("dist/about.html"));
        }
Ejemplo n.º 23
0
        public void RelativeRootAtBaseLevel()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/about.html", "<!-- template:_base -->about");
            fs.CreateFile("src/_base.html", "<!-- type:template -->{{relative-root}}assets/style.css {{content}}");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("./assets/style.css about", fs.ReadFile("dist/about.html"));
        }
Ejemplo n.º 24
0
        public void GetDirectoriesReturnsTheSubDirectories()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateFile("test/foo.txt");
            fs.CreateDirectory("test/bar");

            var directories = fs.GetDirectories("test");

            Assert.AreEqual(directories.Count, 1);
            Assert.IsTrue(directories.Contains("bar"));
        }
Ejemplo n.º 25
0
        public void AContentFileCanUseATemplateFile()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/tem.html", "<!-- type:template -->\n<b>{{content}}</b>");
            fs.CreateFile("src/con.html", "<!-- type:content template:tem --><em>Hello, world</em>");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<b><em>Hello, world</em></b>", fs.ReadFile("dist/con.html"));
        }
Ejemplo n.º 26
0
        public void FilesAreCreatedRelativeToTheirSourceDestination()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("root");
            fs.CreateDirectory("root/src");
            fs.CreateDirectory("root/dist");
            fs.CreateFile("root/src/index.html");

            var gen = new Generator(fs, "root/src", "root/dist");

            Assert.IsTrue(fs.FileExists("root/dist/index.html"));
        }
Ejemplo n.º 27
0
        public void GetFilesReturnsTheFilesInADirectory()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateFile("test/foo.txt");
            fs.CreateFile("test/bar.txt");

            var files = fs.GetFiles("test");

            Assert.AreEqual(files.Count, 2);
            Assert.IsTrue(files.Contains("foo.txt"));
            Assert.IsTrue(files.Contains("bar.txt"));
        }
Ejemplo n.º 28
0
        public void TemplatesCanBeNested()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html");
            fs.CreateFile("src/outerTemplate.html", "<!-- type:template --> <h1>{{content}}</h1>");
            fs.CreateFile("src/innerTemplate.html", "<!-- type:template template:outerTemplate --><em>{{content}}</em>");
            fs.CreateFile("src/content.html", "<!-- template:innerTemplate -->Hello, world.");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<h1><em>Hello, world.</em></h1>", fs.ReadFile("dist/content.html"));
        }
Ejemplo n.º 29
0
        public void AFileCanUseRelativeRootPaths()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("src");
            fs.CreateFile("src/index.html", "index");
            fs.CreateFile("src/tem.html", "<!-- type:template -->\n<p>{{relative-root}}</p><p>{{content}}</p>");
            fs.CreateFile("src/sub/index.html", "index");
            fs.CreateFile("src/sub/con.html", "<!-- type:content template:tem --><em>Hello, world</em>");

            var gen = new Generator(fs, "src", "dist");

            Assert.AreEqual("<p>../</p><p><em>Hello, world</em></p>", fs.ReadFile("dist/sub/con.html"));
        }
Ejemplo n.º 30
0
        public void GetFilesWorksIfThereIsATrailingSlash()
        {
            var fs = new MockGenFS();

            fs.CreateDirectory("test");
            fs.CreateFile("test/foo.txt");
            fs.CreateFile("test/bar.txt");

            var files = fs.GetFiles("test/");

            Assert.AreEqual(files.Count, 2);
            Assert.IsTrue(files.Contains("foo.txt"));
            Assert.IsTrue(files.Contains("bar.txt"));
        }