namespace MonoTests.System.Windows.Forms
{
[TestFixture]
- [Ignore ("This test has to be completly reviewed")]
public class EventClass
{
static bool 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");
}
}
Assert.AreEqual (true, eventhandled, "#F2");
}
}
+
+ [TestFixture]
+ public class ControlRefresh
+ {
+ [SetUp]
+ public void SetUp ()
+ {
+ invalidated = 0;
+ }
+
+ [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;
+ }
}