using System.Linq;
using System.Text;
using System.Windows.Forms;
+using OpenTween.Api;
using OpenTween.Api.DataModel;
+using OpenTween.Connection;
+using OpenTween.Models;
+using OpenTween.Setting;
+using OpenTween.Thumbnail;
using Xunit;
using Xunit.Extensions;
{
public class TweenMainTest
{
+ [WinFormsFact]
+ public void Initialize_Test()
+ {
+ var settings = new SettingManager("");
+ var tabinfo = new TabInformations();
+ using var twitterApi = new TwitterApi();
+ using var twitter = new Twitter(twitterApi);
+ using var imageCache = new ImageCache();
+ using var iconAssets = new IconAssetsManager();
+ var thumbnailGenerator = new ThumbnailGenerator(new(autoupdate: false));
+ twitter.Initialize(new TwitterCredentialNone(), "", 0L);
+
+ using var tweenMain = new TweenMain(settings, tabinfo, twitter, imageCache, iconAssets, thumbnailGenerator);
+ }
+
[Fact]
public void GetUrlFromDataObject_XMozUrlTest()
{
var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\nTwitter\0");
- using (var memstream = new MemoryStream(dataBytes))
- {
- var data = new DataObject("text/x-moz-url", memstream);
+ using var memstream = new MemoryStream(dataBytes);
+ var data = new DataObject("text/x-moz-url", memstream);
- var expected = ("https://twitter.com/", "Twitter");
- Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
- }
+ var expected = ("https://twitter.com/", "Twitter");
+ Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
}
[Fact]
public void GetUrlFromDataObject_IESiteModeToUrlTest()
{
var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\0Twitter\0");
- using (var memstream = new MemoryStream(dataBytes))
- {
- var data = new DataObject("IESiteModeToUrl", memstream);
+ using var memstream = new MemoryStream(dataBytes);
+ var data = new DataObject("IESiteModeToUrl", memstream);
- var expected = ("https://twitter.com/", "Twitter");
- Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
- }
+ var expected = ("https://twitter.com/", "Twitter");
+ Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
}
[Fact]
public void GetUrlFromDataObject_UniformResourceLocatorWTest()
{
var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\0");
- using (var memstream = new MemoryStream(dataBytes))
- {
- var data = new DataObject("UniformResourceLocatorW", memstream);
+ using var memstream = new MemoryStream(dataBytes);
+ var data = new DataObject("UniformResourceLocatorW", memstream);
- var expected = ("https://twitter.com/", (string)null);
- Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
- }
+ var expected = ("https://twitter.com/", (string?)null);
+ Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
}
[Fact]
public void GetUrlFromDataObject_UnknownFormatTest()
{
- using (var memstream = new MemoryStream(Array.Empty<byte>()))
- {
- var data = new DataObject("application/x-hogehoge", memstream);
+ using var memstream = new MemoryStream(Array.Empty<byte>());
+ var data = new DataObject("application/x-hogehoge", memstream);
- Assert.Throws<NotSupportedException>(() => TweenMain.GetUrlFromDataObject(data));
- }
+ Assert.Throws<NotSupportedException>(() => TweenMain.GetUrlFromDataObject(data));
}
[Fact]
public void CreateRetweetUnofficial_UrlTest()
{
- var statusText = "<a href=\"http://t.co/KYi7vMZzRt\" title=\"http://twitter.com/\">twitter.com</a>";
+ var statusText = """<a href="http://t.co/KYi7vMZzRt" title="http://twitter.com/">twitter.com</a>""";
Assert.Equal("http://twitter.com/", TweenMain.CreateRetweetUnofficial(statusText, false));
}
[Fact]
public void CreateRetweetUnofficial_MentionTest()
{
- var statusText = "<a class=\"mention\" href=\"https://twitter.com/twitterapi\">@TwitterAPI</a>";
+ var statusText = """<a class="mention" href="https://twitter.com/twitterapi">@TwitterAPI</a>""";
Assert.Equal("@TwitterAPI", TweenMain.CreateRetweetUnofficial(statusText, false));
}
[Fact]
public void CreateRetweetUnofficial_HashtagTest()
{
- var statusText = "<a class=\"hashtag\" href=\"https://twitter.com/search?q=%23OpenTween\">#OpenTween</a>";
+ var statusText = """<a class="hashtag" href="https://twitter.com/search?q=%23OpenTween">#OpenTween</a>""";
Assert.Equal("#OpenTween", TweenMain.CreateRetweetUnofficial(statusText, false));
}