Esempio n. 1
0
        public void Render_ShouldThrowArgumentNullException()
        {
            Action render = () => Markdown.Render(null);

            render.ShouldThrow <ArgumentNullException>();
        }
Esempio n. 2
0
        public void Render_ShouldWorkCorrectlyOn(string input, string expectedResult)
        {
            var result = Markdown.Render(input);

            result.Should().Be(expectedResult);
        }
Esempio n. 3
0
 public MdRenderer(Markdown language)
 {
     this.language = language;
 }
Esempio n. 4
0
        private void ParseUnderscoreContent(int index)
        {
            if (TextEnded)
            {
                if (!PreviousIsSpace && UnderscoreCounter != 0)
                {
                    CloseUnderscoreTag(Markdown.Length - 1);
                    if (wordContainsDigits)
                    {
                        foreach (var tag in tagsInsideWord)
                        {
                            tag.ResetFormatting(true);
                        }
                    }
                }
                else
                {
                    TagInfo.AddContent(new TagInfo(text: Markdown.Substring(PreviousIndex)));
                    TagInfo.ResetFormatting();
                    TagInfo       = NestedTagInfos.Pop();
                    State         = States.Pop();
                    PreviousIndex = Markdown.Length;
                }
            }
            else if (Markdown[index] == UnderscoreSymbol && !ShouldEscaped(Markdown[index]))
            {
                UnderscoreCounter++;
            }
            else
            {
                if (Markdown[index] == LinkOpenSymbol && !ShouldEscaped(Markdown[index]))
                {
                    PreviousIsSpace = false;
                    SetLinkTag(index);
                    return;
                }

                if (char.IsDigit(Markdown[index]))
                {
                    wordContainsDigits = true;
                }

                if (UnderscoreCounter != 0)
                {
                    if (!PreviousIsSpace)
                    {
                        CloseUnderscoreTag(index);
                    }
                    else if (PreviousIsSpace)
                    {
                        SetNewState(OpenUnderscoreTag);
                        State(index);
                    }
                }

                if (char.IsWhiteSpace(Markdown[index]))
                {
                    hasWhiteSpace     = true;
                    UnderscoreCounter = 0;

                    if (TagInfo.InsideWord)
                    {
                        TagInfo.ResetFormatting();
                        State = States.Pop();
                    }

                    tagsInsideWord = new List <TagInfo>();
                }


                if (wordContainsDigits)
                {
                    foreach (var tag in tagsInsideWord)
                    {
                        tag.ResetFormatting(true);
                    }
                }

                PreviousIsSpace = char.IsWhiteSpace(Markdown[index]) ||
                                  Markdown[index] == '\\' && BackslashCounter % 2 == 0;
            }
        }
Esempio n. 5
0
        public void SetUp()
        {
            var language = new Markdown();

            renderer = new MdRenderer(language);
        }
Esempio n. 6
0
 public void SetUp()
 {
     parser    = new TextParser(readers);
     converter = new HtmlConverter(new TokenConverterFactory());
     markdown  = new Markdown.Markdown(parser, converter);
 }