OSDN Git Service

OpenTween v1.4.2 リリース
[opentween/open-tween.git] / OpenTween.Tests / TwitterTest.cs
index e33f157..0bf211c 100644 (file)
@@ -130,7 +130,7 @@ namespace OpenTween
 
             var expectedText = string.Format(Properties.Resources.ImageAltText, "代替テキスト");
 
-            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus: null));
+            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus: null, quotedStatusLink: null));
         }
 
         [Fact]
@@ -154,7 +154,7 @@ namespace OpenTween
 
             var expectedText = "pic.twitter.com/hoge";
 
-            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus: null));
+            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus: null, quotedStatusLink: null));
         }
 
         [Fact]
@@ -189,7 +189,36 @@ namespace OpenTween
 
             var expectedText = string.Format(Properties.Resources.QuoteStatus_AccessibleText, "foo", "test");
 
-            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus));
+            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus, quotedStatusLink: null));
+        }
+
+        [Fact]
+        public void CreateAccessibleText_QuotedUrlWithPermelinkTest()
+        {
+            var text = "hoge";
+            var entities = new TwitterEntities();
+            var quotedStatus = new TwitterStatus
+            {
+                Id = 1234567890L,
+                IdStr = "1234567890",
+                User = new TwitterUser
+                {
+                    Id = 1111,
+                    IdStr = "1111",
+                    ScreenName = "foo",
+                },
+                FullText = "test",
+            };
+            var quotedStatusLink = new TwitterQuotedStatusPermalink
+            {
+                Url = "https://t.co/hoge",
+                Display = "twitter.com/hoge/status/1…",
+                Expanded = "https://twitter.com/hoge/status/1234567890",
+            };
+
+            var expectedText = "hoge " + string.Format(Properties.Resources.QuoteStatus_AccessibleText, "foo", "test");
+
+            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus, quotedStatusLink));
         }
 
         [Fact]
@@ -213,7 +242,7 @@ namespace OpenTween
 
             var expectedText = "twitter.com/hoge/status/1…";
 
-            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus));
+            Assert.Equal(expectedText, Twitter.CreateAccessibleText(text, entities, quotedStatus, quotedStatusLink: null));
         }
 
         [Fact]
@@ -246,7 +275,7 @@ namespace OpenTween
                 + @" <a class=""hashtag"" href=""https://twitter.com/search?q=%23BreakingMyTwitter"">#BreakingMyTwitter</a>"
                 + @" <a href=""https://t.co/mIJcSoVSK3"" title=""https://t.co/mIJcSoVSK3"">apps-of-a-feather.com</a>";
 
-            Assert.Equal(expectedHtml, Twitter.CreateHtmlAnchor(text, entities));
+            Assert.Equal(expectedHtml, Twitter.CreateHtmlAnchor(text, entities, quotedStatusLink: null));
         }
 
         [Fact]
@@ -257,7 +286,37 @@ namespace OpenTween
 
             var expectedHtml = @"<a href=""http://www.nicovideo.jp/watch/sm9"">sm9</a>";
 
-            Assert.Equal(expectedHtml, Twitter.CreateHtmlAnchor(text, entities));
+            Assert.Equal(expectedHtml, Twitter.CreateHtmlAnchor(text, entities, quotedStatusLink: null));
+        }
+
+        [Fact]
+        public void CreateHtmlAnchor_QuotedUrlWithPermelinkTest()
+        {
+            var text = "hoge";
+            var entities = new TwitterEntities();
+            var quotedStatus = new TwitterStatus
+            {
+                Id = 1234567890L,
+                IdStr = "1234567890",
+                User = new TwitterUser
+                {
+                    Id = 1111,
+                    IdStr = "1111",
+                    ScreenName = "foo",
+                },
+                FullText = "test",
+            };
+            var quotedStatusLink = new TwitterQuotedStatusPermalink
+            {
+                Url = "https://t.co/hoge",
+                Display = "twitter.com/hoge/status/1…",
+                Expanded = "https://twitter.com/hoge/status/1234567890",
+            };
+
+            var expectedHtml = @"hoge"
+                + @" <a href=""https://t.co/hoge"" title=""https://t.co/hoge"">twitter.com/hoge/status/1…</a>";
+
+            Assert.Equal(expectedHtml, Twitter.CreateHtmlAnchor(text, entities, quotedStatusLink));
         }
 
         [Fact]
@@ -337,7 +396,21 @@ namespace OpenTween
                 },
             };
 
-            var statusIds = Twitter.GetQuoteTweetStatusIds(entities);
+            var statusIds = Twitter.GetQuoteTweetStatusIds(entities, quotedStatusLink: null);
+            Assert.Equal(new[] { 599261132361072640L }, statusIds);
+        }
+
+        [Fact]
+        public void GetQuoteTweetStatusIds_QuotedStatusLinkTest()
+        {
+            var entities = new TwitterEntities();
+            var quotedStatusLink = new TwitterQuotedStatusPermalink
+            {
+                Url = "https://t.co/3HXq0LrbJb",
+                Expanded = "https://twitter.com/kim_upsilon/status/599261132361072640",
+            };
+
+            var statusIds = Twitter.GetQuoteTweetStatusIds(entities, quotedStatusLink);
             Assert.Equal(new[] { 599261132361072640L }, statusIds);
         }