OSDN Git Service

起動時にタブ設定を読み込むタイミングを変更
[opentween/open-tween.git] / OpenTween.Tests / TweenMainTest.cs
index 178237d..526fbf0 100644 (file)
@@ -27,12 +27,11 @@ using System.Reflection;
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Windows.Forms;
-using OpenTween.Api;
 using OpenTween.Api.DataModel;
-using OpenTween.Connection;
 using OpenTween.Models;
 using OpenTween.OpenTweenCustomControl;
 using OpenTween.Setting;
+using OpenTween.SocialProtocol;
 using OpenTween.Thumbnail;
 using Xunit;
 using Xunit.Extensions;
@@ -50,8 +49,7 @@ namespace OpenTween
         {
             var settings = new SettingManager("");
             var tabinfo = new TabInformations();
-            using var twitterApi = new TwitterApi();
-            using var twitter = new Twitter(twitterApi);
+            using var accounts = new AccountCollection();
             using var imageCache = new ImageCache();
             using var iconAssets = new IconAssetsManager();
             var thumbnailGenerator = new ThumbnailGenerator(new(autoupdate: false));
@@ -61,7 +59,9 @@ namespace OpenTween
                 BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.SetField);
             field.SetValue(null, tabinfo);
 
-            using var tweenMain = new TweenMain(settings, tabinfo, twitter, imageCache, iconAssets, thumbnailGenerator);
+            tabinfo.AddDefaultTabs();
+
+            using var tweenMain = new TweenMain(settings, tabinfo, accounts, imageCache, iconAssets, thumbnailGenerator);
             var context = new TestContext(settings, tabinfo);
 
             func(tweenMain, context);
@@ -181,6 +181,37 @@ namespace OpenTween
         }
 
         [WinFormsFact]
+        public void RemoveSpecifiedTab_Test()
+        {
+            this.UsingTweenMain((tweenMain, context) =>
+            {
+                Assert.Equal(4, tweenMain.ListTab.TabPages.Count);
+
+                var tab = new PublicSearchTabModel("hoge")
+                {
+                    SearchWords = "#OpenTween",
+                    SearchLang = "ja",
+                };
+                context.TabInfo.AddTab(tab);
+                tweenMain.AddNewTab(tab, startup: false);
+                Assert.Equal(5, tweenMain.ListTab.TabPages.Count);
+
+                var tabPage = tweenMain.ListTab.TabPages[4];
+                var listView = (DetailsListView)tabPage.Controls[0];
+                var searchPanel = (Panel)tabPage.Controls[1];
+                Assert.Equal("hoge", tabPage.Text);
+
+                tweenMain.RemoveSpecifiedTab("hoge", confirm: false);
+
+                Assert.Equal(4, tweenMain.ListTab.TabPages.Count);
+                Assert.False(context.TabInfo.ContainsTab("hoge"));
+                Assert.True(tabPage.IsDisposed);
+                Assert.True(listView.IsDisposed);
+                Assert.True(searchPanel.IsDisposed);
+            });
+        }
+
+        [WinFormsFact]
         public void RefreshTimeline_Test()
         {
             this.UsingTweenMain((tweenMain, context) =>