}
[Fact]
- public async Task ExpandUrlStrAsync_Test()
+ public async Task ExpandUrlAsync_String_Test()
{
var handler = new HttpMessageHandlerMock();
using (var http = new HttpClient(handler))
});
Assert.Equal("http://example.com/hoge2",
- await shortUrl.ExpandUrlStrAsync("http://t.co/hoge1"));
+ await shortUrl.ExpandUrlAsync("http://t.co/hoge1"));
Assert.Equal(0, handler.QueueCount);
}
}
[Fact]
- public async Task ExpandUrlStrAsync_SchemeLessUrlTest()
+ public async Task ExpandUrlAsync_String_SchemeLessUrlTest()
{
var handler = new HttpMessageHandlerMock();
using (var http = new HttpClient(handler))
// スキームが省略されたURL
Assert.Equal("http://example.com/hoge2",
- await shortUrl.ExpandUrlStrAsync("t.co/hoge1"));
+ await shortUrl.ExpandUrlAsync("t.co/hoge1"));
Assert.Equal(0, handler.QueueCount);
}
}
[Fact]
- public async Task ExpandUrlStrAsync_InvalidUrlTest()
+ public async Task ExpandUrlAsync_String_InvalidUrlTest()
{
var handler = new HttpMessageHandlerMock();
using (var http = new HttpClient(handler))
});
// 不正なURL
- Assert.Equal("..hogehoge..", await shortUrl.ExpandUrlStrAsync("..hogehoge.."));
+ Assert.Equal("..hogehoge..", await shortUrl.ExpandUrlAsync("..hogehoge.."));
Assert.Equal(1, handler.QueueCount);
}
/// <summary>
/// 短縮 URL を非同期に展開します
/// </summary>
+ /// <remarks>
+ /// 不正なURLが渡された場合は例外を投げず uriStr をそのまま返します
+ /// </remarks>
/// <param name="uriStr">展開するURL</param>
/// <returns>URLの展開を行うタスク</returns>
- public Task<string> ExpandUrlStrAsync(string uriStr)
+ public Task<string> ExpandUrlAsync(string uriStr)
{
- return this.ExpandUrlStrAsync(uriStr, 10);
+ return this.ExpandUrlAsync(uriStr, 10);
}
/// <summary>
/// 短縮 URL を非同期に展開します
/// </summary>
+ /// <remarks>
+ /// 不正なURLが渡された場合は例外を投げず uriStr をそのまま返します
+ /// </remarks>
/// <param name="uriStr">展開するURL</param>
/// <param name="redirectLimit">再帰的に展開を試みる上限</param>
/// <returns>URLの展開を行うタスク</returns>
- public async Task<string> ExpandUrlStrAsync(string uriStr, int redirectLimit)
+ public async Task<string> ExpandUrlAsync(string uriStr, int redirectLimit)
{
Uri uri;
return Task.FromResult(html);
return HtmlLinkPattern.ReplaceAsync(html, async m =>
- m.Groups[1].Value + await this.ExpandUrlStrAsync(m.Groups[2].Value, redirectLimit).ConfigureAwait(false) + m.Groups[3].Value);
+ m.Groups[1].Value + await this.ExpandUrlAsync(m.Groups[2].Value, redirectLimit).ConfigureAwait(false) + m.Groups[3].Value);
}
/// <summary>
// sb.Append("http://");
//}
var url = mu.Result("${url}");
- var title = await ShortUrl.Instance.ExpandUrlStrAsync(url);
+ var title = await ShortUrl.Instance.ExpandUrlAsync(url);
sb.Append(url + "\" title=\"" + MyCommon.ConvertToReadableUrl(title) + "\">").Append(url).Append("</a>");
if (media != null && !media.ContainsKey(url)) media.Add(url, title);
return sb.ToString();
{
foreach (var ent in entities.Urls)
{
- ent.ExpandedUrl = await ShortUrl.Instance.ExpandUrlStrAsync(ent.ExpandedUrl)
+ ent.ExpandedUrl = await ShortUrl.Instance.ExpandUrlAsync(ent.ExpandedUrl)
.ConfigureAwait(false);
if (media != null && !media.ContainsKey(ent.Url))
{
if (uri != null)
{
- var expandedUrl = await ShortUrl.Instance.ExpandUrlStrAsync(uri);
+ var expandedUrl = await ShortUrl.Instance.ExpandUrlAsync(uri);
this.LinkLabelWeb.Text = uri;
this.LinkLabelWeb.Tag = expandedUrl;