Пример #1
0
        public void SkipCharacters()
        {
            var markdown = new StringMarkdownEnumerable("abcde");

            markdown.SkipCharacters(2);

            markdown.GetNextChar().Should().Be('c');
        }
Пример #2
0
        private StringMarkdownEnumerable ParseUntil(string markdown, Tag tag, TagType tagPosition, out TagInfo stoppedAt)
        {
            var markdownEnumerable = new StringMarkdownEnumerable(markdown);
            var tagInfo            = TagInfo.Create(tag, tagPosition);

            markdownEnumerable.ParseUntil(new[] { tagInfo }, out stoppedAt);

            return(markdownEnumerable);
        }
        public void AtSpecifiedPosition_FindNextTag(string markdown, int position, Tag expectedTag,
                                                    TagPosition expectedPosition, int expectedPart)
        {
            var markdownEnumerable = new StringMarkdownEnumerable(markdown);

            markdownEnumerable.SkipCharacters(position);
            var expectedTagInfo = TagInfo.Create(expectedTag, new TagType(expectedPosition, expectedPart));

            var returnedTagInfo = markdownEnumerable.GetNextTag(new[] { expectedTagInfo });

            returnedTagInfo.Should().Be(expectedTagInfo);
        }
        public void ReturnAllNextChars(string markdown)
        {
            var enumerable = new StringMarkdownEnumerable(markdown);

            var allChars = new StringBuilder();

            while (!enumerable.IsFinished())
            {
                allChars.Append(enumerable.GetNextChar());
            }

            allChars.ToString().Should().Be(markdown.Replace(@"\", ""));
        }
Пример #5
0
        public void ParseUntilManyTags()
        {
            var tags = new[]
            {
                new SimpleTagInfo(Tag.Strong, TagPosition.Opening),
                new SimpleTagInfo(Tag.Strong, TagPosition.Closing),
                new SimpleTagInfo(Tag.Italic, TagPosition.Opening)
            };
            var markdownEnumerable = new StringMarkdownEnumerable("a_ __b");

            TagInfo stoppedAt;
            string  parsed = markdownEnumerable.ParseUntil(tags, out stoppedAt);

            parsed.Should().Be("a_ ");
        }