Exemplo n.º 1
0
        public void ParaFormatting()
        {
            string markdown = @"
				para 1 *bold * ^italic^ _underline_
";

            Markdown md     = new Markdown(markdown);
            MDTester tester = new MDTester(md);

            tester.Next().TestIsBlankLine();
            tester.Next().Test((para) =>
            {
                Assert.IsTrue(para.Type == MarkdownType.Paragraph);

                MDTester ptest = new MDTester(para);

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Text);
                    Assert.IsTrue(node.Text == "para 1 ");
                });

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Bold);
                    Assert.IsTrue(node.HasChildren);
                    Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
                    Assert.IsTrue(node.Children[0].Text == "bold ");
                });

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Text);
                    Assert.IsTrue(node.Text == " ");
                });

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Italic);
                    Assert.IsTrue(node.HasChildren);
                    Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
                    Assert.IsTrue(node.Children[0].Text == "italic");
                });

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Text);
                    Assert.IsTrue(node.Text == " ");
                });

                ptest.Next().Test((node) =>
                {
                    Assert.IsTrue(node.Type == MarkdownType.Underline);
                    Assert.IsTrue(node.HasChildren);
                    Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
                    Assert.IsTrue(node.Children[0].Text == "underline");
                });
            });
            tester.Next().TestIsBlankLine();
        }
Exemplo n.º 2
0
        public void DetectsParasAndLineBreaks()
        {
            string markdown = @"
				para 1
				para 2
				
				para 3
";

            Markdown md     = new Markdown(markdown);
            MDTester tester = new MDTester(md);

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.BlankLine);
                Assert.IsTrue(node.Text == null);
            });

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Paragraph);
                Assert.IsTrue(node.Text == null);
                Assert.IsTrue(node.HasChildren);
                Assert.IsTrue(node.Children[0].Text == "para 1");
                Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
            });

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Paragraph);
                Assert.IsTrue(node.Text == null);
                Assert.IsTrue(node.HasChildren);
                Assert.IsTrue(node.Children[0].Text == "para 2");
                Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
            });

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.BlankLine);
                Assert.IsTrue(node.Text == null);
            });

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Paragraph);
                Assert.IsTrue(node.Text == null);
                Assert.IsTrue(node.HasChildren);
                Assert.IsTrue(node.Children[0].Text == "para 3");
                Assert.IsTrue(node.Children[0].Type == MarkdownType.Text);
            });

            tester.Next(n => n.Type == MarkdownType.Paragraph || n.Type == MarkdownType.BlankLine).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.BlankLine);
                Assert.IsTrue(node.Text == null);
            });
        }
Exemplo n.º 3
0
        public void DetectsBullets()
        {
            string markdown = @"
				- Item 1
				- Item 2
				- Item 3

				#. Enum 1
				#. Enum 2
				#. Enum 3
				"                ;

            Markdown md     = new Markdown(markdown);
            MDTester tester = new MDTester(md);

            tester.Next(n => n.Type == MarkdownType.Bulleted).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Item 1", "Bullet item was not found");
            });

            tester.Next(n => n.Type == MarkdownType.Bulleted).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Item 2", "Bullet item was not found");
            });

            tester.Next(n => n.Type == MarkdownType.Bulleted).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Item 3", "Bullet item was not found");
            });

            tester.Next(n => n.Type == MarkdownType.Numbered).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Enum 1", "Bullet item was not found");
            });

            tester.Next(n => n.Type == MarkdownType.Numbered).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Enum 2", "Bullet item was not found");
            });

            tester.Next(n => n.Type == MarkdownType.Numbered).Test((node) =>
            {
                Assert.IsTrue(node.Text == "Enum 3", "Bullet item was not found");
            });
        }
Exemplo n.º 4
0
        public void DetectsHeaders()
        {
            string markdown = @"
				#Heading No Space
				# Heading With Space
				##Heading level 2
				###		Heading level 3	
				"                ;

            Markdown md     = new Markdown(markdown);
            MDTester tester = new MDTester(md);
            Func <MarkdownNode, bool> isHeading = (n) => n.Type == MarkdownType.Heading1 || n.Type == MarkdownType.Heading2 || n.Type == MarkdownType.Heading3;

            tester.Next(n => isHeading(n)).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Heading1, "Heading 1 not correct");
                Assert.IsTrue(node.Text == "Heading No Space", "Heading 1 not correct");
            });

            tester.Next(n => isHeading(n)).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Heading1, "Heading 2 not correct");
                Assert.IsTrue(node.Text == "Heading With Space", "Heading 2 not correct");
            });

            tester.Next(n => isHeading(n)).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Heading2, "Heading 3 not correct");
                Assert.IsTrue(node.Text == "Heading level 2", "Heading 3 not correct");
            });

            tester.Next(n => isHeading(n)).Test((node) =>
            {
                Assert.IsTrue(node.Type == MarkdownType.Heading3, "Heading 4 not correct");
                Assert.IsTrue(node.Text == "Heading level 3", "Heading 4 not correct");
            });
        }