Example #1
0
        public void DetectJsonTest()
        {
            var input = @"{
       ""categories"": [
      ""Development"",
      ""VIM""
   ],
   ""date"": ""2012-04-06"",
""images"": [""site-feature-image.jpg""],
""testint"": 1,
""testbool"": false,
""title"": ""About""
}
Lorem ipsum";

            var converter    = new StringToStreamConverter(input);
            var typeDetector = new TypeDetector(new StreamReader(converter.GetStreamFromString()));

            using TextReader sr = new StringReader(input);
            var parser = new JsonParser <SinglePage>(sr, string.Empty);
            var single = parser.GetAsSinglePage();

            Assert.Equal(FrontMatterType.Json, typeDetector.GetFrontMatterType());
            Assert.Equal("About", single.Title);
            Assert.Equal("Lorem ipsum", single.Content);
        }
Example #2
0
        public void DetectMarkdownDocumentTest()
        {
            var input     = "Lorem ipsum";
            var converter = new StringToStreamConverter(input);

            using var sr = new StreamReader(converter.GetStreamFromString());
            var typeDetector = new TypeDetector(sr);

            Assert.Equal(FrontMatterType.MarkdownDocument, typeDetector.GetFrontMatterType());
        }
Example #3
0
        public void DetectHtmlDocumentTest()
        {
            var input     = @"<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>";
            var converter = new StringToStreamConverter(input);

            using var sr = new StreamReader(converter.GetStreamFromString());
            var typeDetector = new TypeDetector(sr);

            Assert.Equal(FrontMatterType.HtmlDocument, typeDetector.GetFrontMatterType());
        }
Example #4
0
        public void DetectTomlTest()
        {
            var input = @"
+++
title =  ""About"" 
+++ 
Lorem ipsum";

            var converter    = new StringToStreamConverter(input);
            var typeDetector = new TypeDetector(new StreamReader(converter.GetStreamFromString()));

            using TextReader sr = new StringReader(input);
            var parser = new TomlParser <SinglePage>(sr, string.Empty);
            var single = parser.GetAsSinglePage();

            Assert.Equal(FrontMatterType.Toml, typeDetector.GetFrontMatterType());
            Assert.Equal("About", single.Title);
            Assert.Equal("Lorem ipsum", single.Content);
        }
Example #5
0
        public void SummaryFromFileWithYamlFrontMatterTest()
        {
            string input = @"
---
title: About
categories:
  - Development
  - VIM
date: '2012-04-06'
description: spf13-vim is a cross platform distribution of vim plugins and resources for Vim.
slug: spf13-vim-3-0-release-and-new-website
testint: 1
images:
  - site-feature-image.jpg
---
Summary.

That can be on another line.
<!--more-->
Lorem ipsum";

            using TextReader sr = new StringReader(input);
            var parser = new YamlParser <SinglePage>(sr, string.Empty);
            var single = parser.GetAsSinglePage();

            var converter = new StringToStreamConverter(input);
            var extractor = new SummaryExtractor(new StreamReader(converter.GetStreamFromString()));

            var summary = extractor.GetSummaryFromContent();

            Assert.Equal(@"Summary.

That can be on another line.
", summary);

            Assert.Equal(@"Summary.

That can be on another line.
<!--more-->
Lorem ipsum", single.Content);
        }
Example #6
0
        public void SummaryFromFileWithJsonFrontMatterTest()
        {
            string input = @"{
       ""categories"": [
      ""Development"",
      ""VIM""
   ],
   ""date"": ""2012-04-06"",
""images"": [""site-feature-image.jpg""],
""testint"": 1,
""testbool"": false,
""teststring"": ""What?""
}
Summary.

That can be on another line.
<!--more-->
Lorem ipsum";

            using TextReader sr = new StringReader(input);
            var parser = new JsonParser <SinglePage>(sr, string.Empty);
            var single = parser.GetAsSinglePage();

            var converter = new StringToStreamConverter(input);
            var extractor = new SummaryExtractor(new StreamReader(converter.GetStreamFromString()));

            var summary = extractor.GetSummaryFromContent();

            Assert.Equal(@"Summary.

That can be on another line.
", summary);

            Assert.Equal(@"Summary.

That can be on another line.
<!--more-->
Lorem ipsum", single.Content);
        }
Example #7
0
        public void SummaryFromFileWithTomlFrontMatterTest()
        {
            string input = @"
 +++
title =  ""About"" 
 categories = [""Development"", ""VIM""]
date = ""2012-04-06""
description = ""spf13-vim is a cross platform distribution of vim plugins and resources for Vim.""
slug = ""spf13-vim-3-0-release-and-new-website""
testint = 1
+++
Summary.

That can be on another line.
<!--more-->
Lorem ipsum";

            using TextReader sr = new StringReader(input);
            var parser = new TomlParser <SinglePage>(sr, string.Empty);
            var single = parser.GetAsSinglePage();

            var converter = new StringToStreamConverter(input);
            var extractor = new SummaryExtractor(new StreamReader(converter.GetStreamFromString()));

            var summary = extractor.GetSummaryFromContent();

            Assert.Equal(@"Summary.

That can be on another line.
", summary);

            Assert.Equal(@"Summary.

That can be on another line.
<!--more-->
Lorem ipsum", single.Content);
        }