Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

409 lines
9.2 KiB
C#

using System;
using NUnit.Framework;
using System.Windows.Forms;
using System.Drawing;
using System.Threading;
namespace MonoTests.System.Windows.Forms
{
[TestFixture]
public class EventClass : TestHelper
{
static bool eventhandled = false;
public static void Event_Handler1 (object sender, EventArgs e)
{
eventhandled = true;
}
[Test]
public void BackColorChangedTest ()
{
Control c = new Control ();
// Test BackColorChanged Event
c.BackColorChanged += new EventHandler (Event_Handler1);
c.BackColor = Color.Black;
Assert.AreEqual (true, eventhandled, "#A1");
}
[Test]
public void BgrndImageChangedTest ()
{
Control c = new Control ();
// Test BackgroundImageChanged Event
c.BackgroundImageChanged += new EventHandler (Event_Handler1);
string abc = "M.gif";
eventhandled = false;
c.BackgroundImage = Image.FromFile (abc);
Assert.AreEqual (true, eventhandled, "#A2");
}
[Test]
public void BindingContextChangedTest ()
{
Control c = new Control ();
// Test BindingContextChanged Event
c.BindingContextChanged += new EventHandler (Event_Handler1);
BindingContext bcG1 = new BindingContext ();
eventhandled = false;
c.BindingContext = bcG1;
Assert.AreEqual (true, eventhandled, "#A3");
}
[Test]
public void CausesValidationChangedTest ()
{
Control c = new Control ();
// Test CausesValidationChanged Event
c.CausesValidationChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.CausesValidation = false;
Assert.AreEqual (true, eventhandled, "#A4");
}
[Test]
public void CursorChangedTest ()
{
Control c = new Control ();
// Test CursorChanged Event
c.CursorChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Cursor = Cursors.Hand;
Assert.AreEqual (true, eventhandled, "#A6");
}
[Test]
public void DisposedTest ()
{
Control c = new Control ();
// Test Disposed Event
c.Disposed += new EventHandler (Event_Handler1);
eventhandled = false;
c.Dispose ();
Assert.AreEqual (true, eventhandled, "#A7");
}
[Test]
public void DockChangedTest ()
{
Control c = new Control ();
// Test DockChanged Event
c.DockChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Dock = DockStyle.Bottom;
Assert.AreEqual (true, eventhandled, "#A8");
}
[Test]
public void EnabledChangedTest ()
{
Control c = new Control ();
// Test EnabledChanged Event
c.EnabledChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Enabled = false;
Assert.AreEqual (true, eventhandled, "#A9");
}
[Test]
public void FontChangedTest ()
{
Control c = new Control ();
// Test FontChanged Event
c.FontChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Font = new Font (c.Font, FontStyle.Bold);
Assert.AreEqual (true, eventhandled, "#A11");
}
[Test]
public void ForeColorChangedTest ()
{
Control c = new Control ();
// Test ForeColorChanged Event
c.ForeColorChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.ForeColor = Color.Red;
Assert.AreEqual (true, eventhandled, "#A12");
}
[Test]
public void HandleCreatedTest ()
{
Control c = new Control ();
// Test HandleCreated Event
c.HandleCreated += new EventHandler (Event_Handler1);
eventhandled = false;
c.Handle.GetType ();
Assert.AreEqual (true, eventhandled, "#A15");
}
[Test]
public void ImeModeChangedTest ()
{
Control c = new Control ();
// Test ImeModeChanged Event
c.ImeModeChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.ImeMode = ImeMode.Off;
Assert.AreEqual (true, eventhandled, "#A19");
}
[Test]
public void LocationChangedTest ()
{
Control c = new Control ();
// Test LocationChanged Event
c.LocationChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Left = 20;
Assert.AreEqual (true, eventhandled, "#A20");
}
[Test]
public void ResizeTest ()
{
Control c = new Control ();
// Test Resize Event
c.Resize += new EventHandler (Event_Handler1);
eventhandled = false;
c.Height = 20;
Assert.AreEqual (true, eventhandled, "#A22");
}
[Test]
public void RightToLeftChangedTest ()
{
Control c = new Control ();
// Test RightToLeftChanged Event
c.RightToLeftChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.RightToLeft = RightToLeft.Yes;
Assert.AreEqual (true, eventhandled, "#A23");
}
[Test]
public void SizeChangedTest ()
{
Control c = new Control ();
// Test SizeChanged Event
c.SizeChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Height = 80;
Assert.AreEqual (true, eventhandled, "#A24");
}
[Test]
public void TabIndexChangedTest ()
{
Control c = new Control ();
// Test TabIndexChanged Event
c.TabIndexChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.TabIndex = 1;
Assert.AreEqual (true, eventhandled, "#A27");
}
[Test]
public void TabStopChangedTest ()
{
Control c = new Control ();
// Test TabStopChanged Event
c.TabStopChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.TabStop = false;
Assert.AreEqual (true, eventhandled, "#A28");
}
[Test]
public void TextChangedTest ()
{
Control c = new Control ();
// Test TextChanged Event
c.TextChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Text = "some Text";
Assert.AreEqual (true, eventhandled, "#A29");
}
[Test]
public void VisibleChangedTest ()
{
Control c = new Control ();
// Test VisibleChanged Event
c.VisibleChanged += new EventHandler (Event_Handler1);
eventhandled = false;
c.Visible = false;
Assert.AreEqual (true, eventhandled, "#A30");
}
}
[TestFixture]
public class LayoutEventClass
{
static bool eventhandled = false;
public static void LayoutEvent (object sender, LayoutEventArgs e)
{
eventhandled = true;
}
[Test]
public void LayoutTest ()
{
Control c = new Control ();
c.Layout += new LayoutEventHandler (LayoutEvent);
eventhandled = false;
c.Visible = true;
c.Height = 100;
Assert.AreEqual (true, eventhandled, "#D1");
}
int event_count;
int resize_event;
int size_changed_event;
int layout_event;
void resize (object sender, EventArgs e)
{
resize_event = ++event_count;
}
void layout (object sender, LayoutEventArgs le)
{
layout_event = ++event_count;
}
void size_changed (object sender, EventArgs e)
{
size_changed_event = ++event_count;
}
[Test]
public void LayoutResizeTest ()
{
Control c = new Control ();
c.Layout += new LayoutEventHandler (layout);
c.Resize += new EventHandler (resize);
c.SizeChanged += new EventHandler (size_changed);
c.Size = new Size (100, 100);
Assert.AreEqual (1, layout_event, "1");
Assert.AreEqual (2, resize_event, "2");
Assert.AreEqual (3, size_changed_event, "3");
}
}
[TestFixture]
public class ControlAddRemoveEventClass
{
static bool eventhandled = false;
public static void ControlEvent (object sender, ControlEventArgs e)
{
eventhandled = true;
}
[Test]
public void ControlAddedTest ()
{
Control c = new Control ();
c.ControlAdded += new ControlEventHandler (ControlEvent);
TextBox TB = new TextBox ();
eventhandled = false;
c.Controls.Add (TB);
Assert.AreEqual (true, eventhandled, "#F1");
}
[Test]
public void ControlRemovedTest ()
{
Control c = new Control ();
c.ControlRemoved += new ControlEventHandler (ControlEvent);
TextBox TB = new TextBox ();
c.Controls.Add (TB);
eventhandled = false;
c.Controls.Remove (TB);
Assert.AreEqual (true, eventhandled, "#F2");
}
}
[TestFixture]
public class ControlRefresh : TestHelper
{
[SetUp]
protected override void SetUp () {
invalidated = 0;
base.SetUp ();
}
[Test]
public void HandleNotCreated ()
{
Control c = new Control ();
c.Invalidated += new InvalidateEventHandler (Control_Invalidated);
c.Visible = true;
c.Refresh ();
Assert.AreEqual (0, invalidated, "#1");
c.Visible = false;
c.Refresh ();
Assert.AreEqual (0, invalidated, "#2");
}
[Test]
[Category ("NotWorking")]
public void Visible ()
{
Control c = new Control ();
c.Invalidated += new InvalidateEventHandler (Control_Invalidated);
c.Visible = true;
Form form = new Form ();
form.ShowInTaskbar = false;
form.Controls.Add (c);
form.Show ();
Assert.AreEqual (0, invalidated, "#1");
c.Refresh ();
Assert.AreEqual (1, invalidated, "#2");
form.Refresh ();
Assert.AreEqual (1, invalidated, "#3");
}
[Test]
public void NotVisible ()
{
Control c = new Control ();
c.Invalidated += new InvalidateEventHandler (Control_Invalidated);
c.Visible = false;
Form form = new Form ();
form.ShowInTaskbar = false;
form.Controls.Add (c);
form.Show ();
Assert.AreEqual (0, invalidated, "#1");
c.Refresh ();
Assert.AreEqual (0, invalidated, "#2");
form.Refresh ();
Assert.AreEqual (0, invalidated, "#3");
form.Close ();
}
private void Control_Invalidated (object sender, InvalidateEventArgs e)
{
invalidated++;
}
private int invalidated;
}
}