public void GetToken_ReturnHeadToken_WhenTextContainsOneHeadTag() { var mark = new HeadMark(); var expectedToken = new TokenMd("#aaaaa", mark); var tags = new Dictionary <Mark, IMarkParser>(); var parser = new MarkdownParser(tags); var tokens = parser.GetTokens("#aaaaa"); tokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
public void GetToken_ReturnStrongToken_WhenTextContainsOneStrongTag() { var mark = new StrongMark(); var expectedToken = new TokenMd("__aaaaa__", mark); expectedToken.Token = "__aaaaa__"; var tags = new Dictionary <Mark, IMarkParser>(); var parser = new MarkdownParser(tags); var tokens = parser.GetTokens("__aaaaa__"); tokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
public void GetToken_ReturnWordTokenWithInners_WhenWordContainsTag2() { var mark = new ItalicMark(); var expectedToken = new TokenMd("aaaa_b_", new EmptyMark()); expectedToken.InnerTokens.Add(new TokenMd("aaaa", new EmptyMark(), expectedToken)); expectedToken.InnerTokens.Add(new TokenMd("_b_", mark, expectedToken)); var tags = new Dictionary <Mark, IMarkParser>(); var parser = new MarkdownParser(tags); var tokens = parser.GetTokens("aaaa_b_"); tokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
private TokenMd GetResultToken(string tokenText, bool isEnd) { if (!isEnd) { resultToken = new TokenMd(tokenText, new EmptyMark()); return(resultToken); } resultToken = new TokenMd(tokenText, mark); return(resultToken.TokenWithoutMark.Length == 0 ? new TokenMd("__", new EmptyMark()) : resultToken); }
public void FormatToken_ReturnStrongFormattedToken_WhenTokenContainsOneStrongTag() { var mark = new StrongMark(); var expectedToken = new TokenMd("\\<strong>12345\\</strong>", mark); var tags = new Dictionary <Mark, IMarkProcessor>(); var tokens = new List <TokenMd>(); tokens.Add(new TokenMd("__12345__", mark)); var processor = new MarkdownProcessor(tags); var formattedTokens = processor.FormatTokens(tokens); formattedTokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
public TokenMd FormatToken(TokenMd token) { var startMark = token.Mark.FormattedMarkSymbols.startFormattedMark; var endMark = token.Mark.FormattedMarkSymbols.endFormattedMark; var formattedTokenText = startMark + token.FormattedText + endMark; var resultToken = new TokenMd(formattedTokenText, token.Mark) { FormattedText = formattedTokenText, InnerTokens = token.InnerTokens, }; return(resultToken); }
public void FormatToken_ReturnItalicFormattedToken_WhenTokenContainsOneItalicTag() { var MP = new ItalicProcessor(); var mark = new ItalicMark(); var expectedToken = new TokenMd("\\<em>12345\\</em>", mark); var tags = new Dictionary <Mark, IMarkProcessor>(); var tokens = new List <TokenMd>(); tokens.Add(new TokenMd("_12345_", mark)); var processor = new MarkdownProcessor(tags); var formattedTokens = processor.FormatTokens(tokens); formattedTokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
public void FormatToken_ReturnHeadFormattedToken_WhenTokenContainsOneHeadTag() { var MP = new HeadProcessor(); var mark = new HeadMark(); var expectedToken = new TokenMd("\\<h1>12345\\</h1>", mark); var tags = new Dictionary <Mark, IMarkProcessor>(); //tags.Add(mark, MP); var tokens = new List <TokenMd>(); tokens.Add(new TokenMd("#12345", mark)); var processor = new MarkdownProcessor(tags); var formattedTokens = processor.FormatTokens(tokens); formattedTokens.First().Token.Should().BeEquivalentTo(expectedToken.Token); }
public TokenMd FormatToken(TokenMd token) { var resultToken = token; if (!(token.Mark is LinkMark)) { throw new AggregateException(); } var mark = token.Mark as LinkMark; var tokenText = $"<a href=\"{mark?.Link}\">{resultToken.FormattedText}</a>"; resultToken.Token = tokenText; resultToken.FormattedText = tokenText; return(resultToken); }
public TokenMd FormatToken(TokenMd token) { var startMark = token.Mark.FormattedMarkSymbols.startFormattedMark; var endMark = token.Mark.FormattedMarkSymbols.endFormattedMark; var formattedTokenText = ""; if (!(token.External?.Mark is ItalicMark)) { formattedTokenText = startMark + token.FormattedText + endMark; } var resultToken = new TokenMd(formattedTokenText, token.Mark) { FormattedText = formattedTokenText, InnerTokens = token.InnerTokens }; return(resultToken); }