예제 #1
0
        public void WhenParsingValidEntry_AssertPublishedDate()
        {
            BlogPostParser parser = new BlogPostParser(_config);
            BlogPostEntry  result = parser.ParseFromMarkdown(ValidPost);

            Assert.Equal(new DateTime(2017, 1, 16, 0, 0, 0), result.ReleaseDate);
        }
예제 #2
0
        public void WhenParsingValidEntry_AssertTitle()
        {
            BlogPostParser parser = new BlogPostParser(_config);
            BlogPostEntry  result = parser.ParseFromMarkdown(ValidPost);

            Assert.Equal("Starting This Blog", result.Title);
        }
예제 #3
0
        public void WhenParsingValidEntry_AssertFirstParagraph()
        {
            _config.SiteContentUrl.Returns("https://MyLink.com");

            BlogPostParser parser = new BlogPostParser(_config);
            BlogPostEntry  result = parser.ParseFromMarkdown(ValidPost);

            Assert.Equal("Everything else goes here and should be found", result.FirstParagraph);
        }
예제 #4
0
        public void WhenParsingValidEntry_AssertContent()
        {
            _config.SiteContentUrl.Returns("https://MyLink.com");

            BlogPostParser parser = new BlogPostParser(_config);
            BlogPostEntry  result = parser.ParseFromMarkdown(ValidPost);

            Assert.Equal("### The Post!!!" + Environment.NewLine +
                         "Everything else goes here and should be found" + Environment.NewLine
                         + "https://MyLink.com/a/b/c.html" + Environment.NewLine
                         + "https://MyLink.com/1/2/3.html"
                         , result.Post);
        }
예제 #5
0
        public static ImmutableList <BlogPostInfo> LoadAllBlogPostInfo(string contentPath, BlogPostParser parser)
        {
            string blogPostsFolderPath = contentPath + "/BlogPosts";

            string[] blogPostFiles = Directory.GetFiles(blogPostsFolderPath, "*.md", SearchOption.TopDirectoryOnly);
            return(blogPostFiles.Select(x =>
            {
                string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(x);
                string postContent = File.ReadAllText(x);
                BlogPostEntry blogEntry = parser.ParseFromMarkdown(postContent);
                return new BlogPostInfo(fileNameWithoutExtension, blogEntry);
            })
                   .ToImmutableList());
        }
예제 #6
0
        public void WhenParsingValidEntry_AssertTags()
        {
            BlogPostParser parser = new BlogPostParser(_config);
            BlogPostEntry  result = parser.ParseFromMarkdown(ValidPost);

            Assert.Equal(7, result.Tags.Count);
            Assert.Contains("Wyam", result.Tags);
            Assert.Contains("Azure App Service", result.Tags);
            Assert.Contains("VSTS", result.Tags);
            Assert.Contains("Cake", result.Tags);
            Assert.Contains("NuGet", result.Tags);
            Assert.Contains("Continuous Integration", result.Tags);
            Assert.Contains("Continuous Deployment", result.Tags);
        }