OSDN Git Service

TweetExtractorによるハッシュタグや @ユーザ名 の抽出結果に「#」や「@」が含まれていた不具合を修正 (thx @momdo_!)
authorKimura Youichi <kim.upsilon@bucyou.net>
Sat, 13 Feb 2016 06:48:52 +0000 (15:48 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sun, 3 Apr 2016 10:25:54 +0000 (19:25 +0900)
Twitter API が返すエンティティの screen_name や text には「#」「@」を含まないテキストが入るためこれに合わせた
https://github.com/opentween/OpenTween/issues/33

Fixes: ec941795 ("TweetExtractorクラスにハッシュタグとメンションを抽出するメソッドを追加")

OpenTween.Tests/TweetExtractorTest.cs
OpenTween/Resources/ChangeLog.txt
OpenTween/TweetExtractor.cs

index c517a47..e20f315 100644 (file)
@@ -105,8 +105,9 @@ namespace OpenTween
         {
             var entity = TweetExtractor.ExtractMentionEntities("hogehoge @twitterapi").Single();
 
+            // Indices は「@twitterapi」の範囲を指すが、ScreenName には「@」を含めない
             Assert.Equal(new[] { 9, 20 }, entity.Indices);
-            Assert.Equal("@twitterapi", entity.ScreenName);
+            Assert.Equal("twitterapi", entity.ScreenName);
         }
 
         [Fact]
@@ -114,8 +115,9 @@ namespace OpenTween
         {
             var entity = TweetExtractor.ExtractMentionEntities("hogehoge @twitter/developers").Single();
 
+            // Indices は「@twitter/developers」の範囲を指すが、ScreenName には「@」を含めない
             Assert.Equal(new[] { 9, 28 }, entity.Indices);
-            Assert.Equal("@twitter/developers", entity.ScreenName);
+            Assert.Equal("twitter/developers", entity.ScreenName);
         }
 
         [Fact]
@@ -123,8 +125,9 @@ namespace OpenTween
         {
             var entity = TweetExtractor.ExtractHashtagEntities("hogehoge #test").Single();
 
+            // Indices は「#test」の範囲を指すが、Text には「#」を含めない
             Assert.Equal(new[] { 9, 14 }, entity.Indices);
-            Assert.Equal("#test", entity.Text);
+            Assert.Equal("test", entity.Text);
         }
     }
 }
index 80abc4c..660477d 100644 (file)
@@ -7,6 +7,7 @@
  * FIX: 発言詳細部に表示されるハッシュタグやメンションで「URLをコピー」が機能しない不具合を修正 (thx @ufoprincess!)
  * FIX: 複数のタブで同時に新着ツイートを受信した場合に通知音が再生されない場合がある不具合を修正
  * FIX: タイムライン検索の結果を新規タブに表示した場合に、スクリーンネームなどが検索対象にならない不具合を修正 (thx @tests_peer!)
+ * FIX: プロフィール画面の自己紹介に含まれるハッシュタグや @ユーザー名 のリンク先が正しくない不具合を修正 (thx @momdo_!)
 
 ==== Ver 1.3.1(2015/12/28)
  * CHG: ツイート投稿時に意図せずTwitterがSMSコマンドとして解釈することを防ぐ「SMSコマンドを回避する」オプションを追加
index 181b4cc..eea387c 100644 (file)
@@ -115,7 +115,7 @@ namespace OpenTween
                 yield return new TwitterEntityMention
                 {
                     Indices = new[] { startPos, endPos },
-                    ScreenName = groupMention.Value,
+                    ScreenName = groupMention.Value.Substring(1), // 先頭の「@」は取り除く
                 };
             }
 
@@ -130,7 +130,7 @@ namespace OpenTween
                 yield return new TwitterEntityMention
                 {
                     Indices = new[] { startPos, endPos },
-                    ScreenName = groupMention.Value,
+                    ScreenName = groupMention.Value.Substring(1), // 先頭の「@」は取り除く
                 };
             }
         }
@@ -151,7 +151,7 @@ namespace OpenTween
                 yield return new TwitterEntityHashtag
                 {
                     Indices = new[] { startPos, endPos },
-                    Text = groupHashtagSharp.Value + groupHashtagText.Value,
+                    Text = groupHashtagText.Value,
                 };
             }
         }