From e3e9665d8fde943445699b195a989f94a9c7fe20 Mon Sep 17 00:00:00 2001 From: Kimura Youichi Date: Sun, 30 Dec 2012 22:02:12 +0900 Subject: [PATCH] =?utf8?q?TabsDialog=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3?= =?utf8?q?=E3=83=BC=E3=83=89=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- OpenTween.Tests/TabsDialogTest.cs | 23 +++++++++++++++++++++++ OpenTween.Tests/TestUtils.cs | 14 ++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/OpenTween.Tests/TabsDialogTest.cs b/OpenTween.Tests/TabsDialogTest.cs index 5a055138..1f2f207c 100644 --- a/OpenTween.Tests/TabsDialogTest.cs +++ b/OpenTween.Tests/TabsDialogTest.cs @@ -61,6 +61,10 @@ namespace OpenTween dialog.TabList.SelectedIndex = 0; Assert.That(dialog.OK_Button.Enabled, Is.True); + + dialog.TabList.SelectedIndex = -1; + + Assert.That(dialog.OK_Button.Enabled, Is.False); } } @@ -87,6 +91,25 @@ namespace OpenTween } [Test] + public void DoubleClickTest() + { + using (var dialog = new TabsDialog(this.tabinfo)) + { + dialog.TabList.SelectedIndex = -1; + TestUtils.FireEvent(dialog.TabList, "DoubleClick"); + + Assert.That(dialog.DialogResult, Is.EqualTo(DialogResult.None)); + Assert.That(dialog.IsDisposed, Is.False); + + dialog.TabList.SelectedIndex = 1; + TestUtils.FireEvent(dialog.TabList, "DoubleClick"); + + Assert.That(dialog.DialogResult, Is.EqualTo(DialogResult.OK)); + Assert.That(dialog.IsDisposed, Is.True); + } + } + + [Test] public void SelectableTabTest() { using (var dialog = new TabsDialog(this.tabinfo)) diff --git a/OpenTween.Tests/TestUtils.cs b/OpenTween.Tests/TestUtils.cs index 7b2ce4e5..d196363c 100644 --- a/OpenTween.Tests/TestUtils.cs +++ b/OpenTween.Tests/TestUtils.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using NUnit.Framework; using System.Reflection; +using System.Windows.Forms; namespace OpenTween { @@ -26,5 +27,18 @@ namespace OpenTween Assert.That(cloneValue, Is.Not.SameAs(objValue), field.Name); } } + + public static void FireEvent(T control, string eventName) where T : Control + { + TestUtils.FireEvent(control, eventName, EventArgs.Empty); + } + + public static void FireEvent(T control, string eventName, EventArgs e) where T : Control + { + var methodName = "On" + eventName; + var method = typeof(T).GetMethod(methodName, BindingFlags.Instance | BindingFlags.NonPublic); + + method.Invoke(control, new[] { e }); + } } } -- 2.11.0