public void FormatQuoteTweetHtml_ReplyHtmlTest() { // blockquote の class に reply が付与される var expected = "<a class=\"quote-tweet-link\" href=\"//opentween/status/12345\">" + "<blockquote class=\"quote-tweet reply\">hogehoge</blockquote>" + "</a>"; Assert.Equal(expected, TweetDetailsView.FormatQuoteTweetHtml(12345L, "hogehoge", isReply: true)); }
public void FormatQuoteTweetHtml_HtmlTest() { var statusId = 12345L; // リンク先のステータスID var html = "<marquee>hogehoge</marquee>"; // HTMLをそのまま出力する (エスケープしない) var expected = "<a class=\"quote-tweet-link\" href=\"//opentween/status/12345\">" + "<blockquote class=\"quote-tweet\"><marquee>hogehoge</marquee></blockquote>" + "</a>"; Assert.Equal(expected, TweetDetailsView.FormatQuoteTweetHtml(statusId, html, isReply: false)); }
public void FormatQuoteTweetHtml_PostClassTest() { var post = new PostClass { StatusId = 12345L, Nickname = "upsilon", ScreenName = "kim_upsilon", Text = "<a href=\"https://twitter.com/twitterapi\">@twitterapi</a> hogehoge", CreatedAt = new DateTimeUtc(2015, 3, 30, 3, 30, 0), }; // PostClass.Text はリンクを除去するのみでエスケープは行わない // (TweetFormatter によって既にエスケープされた文字列が格納されているため) var expected = "<a class=\"quote-tweet-link\" href=\"//opentween/status/12345\">" + "<blockquote class=\"quote-tweet\">" + "<p>@twitterapi hogehoge</p> — upsilon (@kim_upsilon) " + DateTimeUtc.Parse("2015/03/30 3:30:00", DateTimeFormatInfo.InvariantInfo).ToLocalTimeString() + "</blockquote></a>"; Assert.Equal(expected, TweetDetailsView.FormatQuoteTweetHtml(post, isReply: false)); }