Author: jackson
Date: 2006-07-19 18:52:51 -0400 (Wed, 19 Jul 2006)
New Revision: 62775
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FocusTest.cs
Log:
Some more tests related to focus and its various dependencies.
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FocusTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FocusTest.cs
2006-07-19 22:46:38 UTC (rev 62774)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FocusTest.cs
2006-07-19 22:52:51 UTC (rev 62775)
@@ -19,6 +19,15 @@
internal bool directed_select_called;
+ public ControlPoker ()
+ {
+ }
+
+ public ControlPoker (string text)
+ {
+ Text = text;
+ }
+
public void _Select (bool directed, bool forward)
{
Select (directed, forward);
@@ -29,16 +38,27 @@
directed_select_called = true;
base.Select (directed, forward);
}
+
}
private ControlPoker [] flat_controls;
public class ContainerPoker : ContainerControl {
+ public ContainerPoker (string s)
+ {
+ Text = s;
+ }
+
public void _Select (bool directed, bool forward)
{
Select (directed, forward);
}
+
+ public override string ToString ()
+ {
+ return String.Concat (GetType (), " ", Text);
+ }
}
[SetUp]
@@ -49,6 +69,9 @@
flat_controls = new ControlPoker [] {
new ControlPoker (), new ControlPoker (), new
ControlPoker ()
};
+
+ for (int i = 0; i < flat_controls.Length; i++)
+ flat_controls [i].Text = i.ToString ();
}
[Test]
@@ -143,7 +166,7 @@
public void ContainerSelectDirectedForward ()
{
Form form = new Form ();
- ContainerPoker cp = new ContainerPoker ();
+ ContainerPoker cp = new ContainerPoker ("container-a");
form.Show ();
form.Controls.Add (cp);
@@ -170,7 +193,7 @@
public void ContainerSelectDirectedBackward ()
{
Form form = new Form ();
- ContainerPoker cp = new ContainerPoker ();
+ ContainerPoker cp = new ContainerPoker ("container-a");
form.Show ();
form.Controls.Add (cp);
@@ -197,7 +220,7 @@
public void ContainerSelectUndirectedForward ()
{
Form form = new Form ();
- ContainerPoker cp = new ContainerPoker ();
+ ContainerPoker cp = new ContainerPoker ("container-a");
form.Show ();
form.Controls.Add (cp);
@@ -213,11 +236,283 @@
}
[Test]
- public void GetNextControl ()
+ public void GetNextControlFromForm ()
{
+ Form form = new Form ();
+ ContainerPoker con_a = new ContainerPoker
("container-a");
+ ContainerPoker con_b = new ContainerPoker
("container-b");
+ ContainerPoker con_c = new ContainerPoker
("container-c");
+ ControlPoker [] ctrls_a = new ControlPoker [] {
+ new ControlPoker (), new ControlPoker (), new
ControlPoker ()
+ };
+ ControlPoker [] ctrls_b = new ControlPoker [] {
+ new ControlPoker (), new ControlPoker (), new
ControlPoker ()
+ };
+ ControlPoker [] ctrls_c = new ControlPoker [] {
+ new ControlPoker (), new ControlPoker (), new
ControlPoker ()
+ };
+
+ con_a.Controls.AddRange (ctrls_a);
+ con_b.Controls.AddRange (ctrls_b);
+ con_c.Controls.AddRange (ctrls_c);
+ form.Controls.Add (con_a);
+ form.Controls.Add (con_b);
+ form.Controls.Add (con_c);
+
+ form.Show ();
+
+ // top level movement,
+ Assert.AreEqual (form.GetNextControl (form, true),
con_a, "form-1");
+ Assert.AreEqual (form.GetNextControl (form, false),
con_c, "form-2");
+
+
+ Assert.AreEqual (form.GetNextControl (con_a, true),
con_b, "container-1");
+ Assert.AreEqual (form.GetNextControl (con_a, false),
null, "container-2");
+ Assert.AreEqual (form.GetNextControl (con_b, true),
con_c, "container-3");
+ Assert.AreEqual (form.GetNextControl (con_b, false),
con_a, "container-4");
+ Assert.AreEqual (form.GetNextControl (con_c, true),
null, "container-5");
+ Assert.AreEqual (form.GetNextControl (con_c, false),
con_b, "container-6");
+
+ Assert.AreEqual (form.GetNextControl (ctrls_a [0],
true), ctrls_a [1], "ctrls-a-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [0],
false), con_a, "ctrls-a-2");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [1],
true), ctrls_a [2], "ctrls-a-3");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [1],
false), ctrls_a [0], "ctrls-a-4");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [2],
true), con_b, "ctrls-a-5");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [2],
false), ctrls_a [1], "ctrls-a-6");
+
+ Assert.AreEqual (form.GetNextControl (ctrls_b [0],
true), ctrls_b [1], "ctrls-b-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_b [0],
false), con_b, "ctrls-b-2");
+ Assert.AreEqual (form.GetNextControl (ctrls_b [1],
true), ctrls_b [2], "ctrls-b-3");
+ Assert.AreEqual (form.GetNextControl (ctrls_b [1],
false), ctrls_b [0], "ctrls-b-4");
+ Assert.AreEqual (form.GetNextControl (ctrls_b [2],
true), con_c, "ctrls-b-5");
+ Assert.AreEqual (form.GetNextControl (ctrls_b [2],
false), ctrls_b [1], "ctrls-b-6");
+
+ Assert.AreEqual (form.GetNextControl (ctrls_c [0],
true), ctrls_c [1], "ctrls-c-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_c [0],
false), con_c, "ctrls-c-2");
+ Assert.AreEqual (form.GetNextControl (ctrls_c [1],
true), ctrls_c [2], "ctrls-c-3");
+ Assert.AreEqual (form.GetNextControl (ctrls_c [1],
false), ctrls_c [0], "ctrls-c-4");
+ Assert.AreEqual (form.GetNextControl (ctrls_c [2],
true), null, "ctrls-c-5");
+ Assert.AreEqual (form.GetNextControl (ctrls_c [2],
false), ctrls_c [1], "ctrls-c-6");
}
+ [Test]
+ public void GetNextControlFromContainerA ()
+ {
+ Form form = new Form ();
+ ContainerPoker con_a = new ContainerPoker
("container-a");
+ ContainerPoker con_b = new ContainerPoker
("container-b");
+ ContainerPoker con_c = new ContainerPoker
("container-c");
+ ControlPoker [] ctrls_a = new ControlPoker [] {
+ new ControlPoker ("ctrls-a-0"), new
ControlPoker ("ctrls-a-1"), new ControlPoker ("ctrls-a-2")
+ };
+ ControlPoker [] ctrls_b = new ControlPoker [] {
+ new ControlPoker ("ctrls-b-0"), new
ControlPoker ("ctrls-b-1"), new ControlPoker ("ctrls-b-2")
+ };
+ ControlPoker [] ctrls_c = new ControlPoker [] {
+ new ControlPoker ("ctrls-c-0"), new
ControlPoker ("ctrls-c-1"), new ControlPoker ("ctrls-c-2")
+ };
+
+ con_a.Controls.AddRange (ctrls_a);
+ con_b.Controls.AddRange (ctrls_b);
+ con_c.Controls.AddRange (ctrls_c);
+
+ form.Controls.Add (con_a);
+ form.Controls.Add (con_b);
+ form.Controls.Add (con_c);
+
+ form.Show ();
+
+ // top level movement,
+ Assert.AreEqual (con_a.GetNextControl (form, true),
ctrls_a [0], "form-1");
+ Assert.AreEqual (con_a.GetNextControl (form, false),
ctrls_a [2], "form-2");
+
+ Assert.AreEqual (con_a.GetNextControl (con_a, true),
ctrls_a [0], "container-1");
+ Assert.AreEqual (con_a.GetNextControl (con_a, false),
ctrls_a [2], "container-2");
+ Assert.AreEqual (con_a.GetNextControl (con_b, true),
ctrls_a [0], "container-3");
+ Assert.AreEqual (con_a.GetNextControl (con_b, false),
ctrls_a [2], "container-4");
+ Assert.AreEqual (con_a.GetNextControl (con_c, true),
ctrls_a [0], "container-5");
+ Assert.AreEqual (con_a.GetNextControl (con_c, false),
ctrls_a [2], "container-6");
+
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [0],
true), ctrls_a [1], "ctrls-a-1");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [0],
false), null, "ctrls-a-2");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [1],
true), ctrls_a [2], "ctrls-a-3");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [1],
false), ctrls_a [0], "ctrls-a-4");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [2],
true), null, "ctrls-a-5");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_a [2],
false), ctrls_a [1], "ctrls-a-6");
+
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [0],
true), ctrls_a [0], "ctrls-b-1");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [0],
false), ctrls_a [2], "ctrls-b-2");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [1],
true), ctrls_a [0], "ctrls-b-3");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [1],
false), ctrls_a [2], "ctrls-b-4");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [2],
true), ctrls_a [0], "ctrls-b-5");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_b [2],
false), ctrls_a [2], "ctrls-b-6");
+
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [0],
true), ctrls_a [0], "ctrls-c-1");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [0],
false), ctrls_a [2], "ctrls-c-2");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [1],
true), ctrls_a [0], "ctrls-c-3");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [1],
false), ctrls_a [2], "ctrls-c-4");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [2],
true), ctrls_a [0], "ctrls-c-5");
+ Assert.AreEqual (con_a.GetNextControl (ctrls_c [2],
false), ctrls_a [2], "ctrls-c-6");
+ }
+
+ [Test]
+ public void GetNextControlFromContainerB ()
+ {
+ Form form = new Form ();
+ ContainerPoker con_a = new ContainerPoker
("container-a");
+ ContainerPoker con_b = new ContainerPoker
("container-b");
+ ContainerPoker con_c = new ContainerPoker
("container-c");
+ ControlPoker [] ctrls_a = new ControlPoker [] {
+ new ControlPoker ("ctrls-a-0"), new
ControlPoker ("ctrls-a-1"), new ControlPoker ("ctrls-a-2")
+ };
+ ControlPoker [] ctrls_b = new ControlPoker [] {
+ new ControlPoker ("ctrls-b-0"), new
ControlPoker ("ctrls-b-1"), new ControlPoker ("ctrls-b-2")
+ };
+ ControlPoker [] ctrls_c = new ControlPoker [] {
+ new ControlPoker ("ctrls-c-0"), new
ControlPoker ("ctrls-c-1"), new ControlPoker ("ctrls-c-2")
+ };
+
+ con_a.Controls.AddRange (ctrls_a);
+ con_b.Controls.AddRange (ctrls_b);
+ con_c.Controls.AddRange (ctrls_c);
+
+ form.Controls.Add (con_a);
+ form.Controls.Add (con_b);
+ form.Controls.Add (con_c);
+
+ form.Show ();
+
+ // top level movement
+ Assert.AreEqual (con_b.GetNextControl (form, true),
ctrls_b [0], "form-1");
+ Assert.AreEqual (con_b.GetNextControl (form, false),
ctrls_b [2], "form-2");
+
+ Assert.AreEqual (con_b.GetNextControl (con_a, true),
ctrls_b [0], "container-1");
+ Assert.AreEqual (con_b.GetNextControl (con_a, false),
ctrls_b [2], "container-2");
+ Assert.AreEqual (con_b.GetNextControl (con_b, true),
ctrls_b [0], "container-3");
+ Assert.AreEqual (con_b.GetNextControl (con_b, false),
ctrls_b [2], "container-4");
+ Assert.AreEqual (con_b.GetNextControl (con_c, true),
ctrls_b [0], "container-5");
+ Assert.AreEqual (con_b.GetNextControl (con_c, false),
ctrls_b [2], "container-6");
+
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [0],
true), ctrls_b [0], "ctrls-a-1");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [0],
false), ctrls_b [2], "ctrls-a-2");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [1],
true), ctrls_b [0], "ctrls-a-3");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [1],
false), ctrls_b [2], "ctrls-a-4");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [2],
true), ctrls_b [0], "ctrls-a-5");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_a [2],
false), ctrls_b [2], "ctrls-a-6");
+
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [0],
true), ctrls_b [1], "ctrls-b-1");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [0],
false), null, "ctrls-b-2");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [1],
true), ctrls_b [2], "ctrls-b-3");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [1],
false), ctrls_b [0], "ctrls-b-4");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [2],
true), null, "ctrls-b-5");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_b [2],
false), ctrls_b [1], "ctrls-b-6");
+
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [0],
true), ctrls_b [0], "ctrls-c-1");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [0],
false), ctrls_b [2], "ctrls-c-2");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [1],
true), ctrls_b [0], "ctrls-c-3");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [1],
false), ctrls_b [2], "ctrls-c-4");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [2],
true), ctrls_b [0], "ctrls-c-5");
+ Assert.AreEqual (con_b.GetNextControl (ctrls_c [2],
false), ctrls_b [2], "ctrls-c-6");
+ }
+
+ [Test]
+ public void GetNextControlFromContainerC ()
+ {
+ Form form = new Form ();
+ ContainerPoker con_a = new ContainerPoker
("container-a");
+ ContainerPoker con_b = new ContainerPoker
("container-b");
+ ContainerPoker con_c = new ContainerPoker
("container-c");
+ ControlPoker [] ctrls_a = new ControlPoker [] {
+ new ControlPoker ("ctrls-a-0"), new
ControlPoker ("ctrls-a-1"), new ControlPoker ("ctrls-a-2")
+ };
+ ControlPoker [] ctrls_b = new ControlPoker [] {
+ new ControlPoker ("ctrls-b-0"), new
ControlPoker ("ctrls-b-1"), new ControlPoker ("ctrls-b-2")
+ };
+ ControlPoker [] ctrls_c = new ControlPoker [] {
+ new ControlPoker ("ctrls-c-0"), new
ControlPoker ("ctrls-c-1"), new ControlPoker ("ctrls-c-2")
+ };
+
+ con_a.Controls.AddRange (ctrls_a);
+ con_b.Controls.AddRange (ctrls_b);
+ con_c.Controls.AddRange (ctrls_c);
+
+ form.Controls.Add (con_a);
+ form.Controls.Add (con_b);
+ form.Controls.Add (con_c);
+
+ form.Show ();
+
+ // top level movement,
+ Assert.AreEqual (con_c.GetNextControl (form, true),
ctrls_c [0], "form-1");
+ Assert.AreEqual (con_c.GetNextControl (form, false),
ctrls_c [2], "form-2");
+
+ Assert.AreEqual (con_c.GetNextControl (con_a, true),
ctrls_c [0], "container-1");
+ Assert.AreEqual (con_c.GetNextControl (con_a, false),
ctrls_c [2], "container-2");
+ Assert.AreEqual (con_c.GetNextControl (con_b, true),
ctrls_c [0], "container-3");
+ Assert.AreEqual (con_c.GetNextControl (con_b, false),
ctrls_c [2], "container-4");
+ Assert.AreEqual (con_c.GetNextControl (con_c, true),
ctrls_c [0], "container-5");
+ Assert.AreEqual (con_c.GetNextControl (con_c, false),
ctrls_c [2], "container-6");
+
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [0],
true), ctrls_c [0], "ctrls-a-1");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [0],
false), ctrls_c [2], "ctrls-a-2");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [1],
true), ctrls_c [0], "ctrls-a-3");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [1],
false), ctrls_c [2], "ctrls-a-4");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [2],
true), ctrls_c [0], "ctrls-a-5");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_a [2],
false), ctrls_c [2], "ctrls-a-6");
+
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [0],
true), ctrls_c [0], "ctrls-b-1");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [0],
false), ctrls_c [2], "ctrls-b-2");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [1],
true), ctrls_c [0], "ctrls-b-3");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [1],
false), ctrls_c [2], "ctrls-b-4");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [2],
true), ctrls_c [0], "ctrls-b-5");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_b [2],
false), ctrls_c [2], "ctrls-b-6");
+
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [0],
true), ctrls_c [1], "ctrls-c-1");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [0],
false), null, "ctrls-c-2");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [1],
true), ctrls_c [2], "ctrls-c-3");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [1],
false), ctrls_c [0], "ctrls-c-4");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [2],
true), null, "ctrls-c-5");
+ Assert.AreEqual (con_c.GetNextControl (ctrls_c [2],
false), ctrls_c [1], "ctrls-c-6");
+ }
+
+ [Test]
+ public void GetNextControl2FromForm ()
+ {
+ Form form = new Form ();
+ ContainerPoker con_a = new ContainerPoker
("container-a");
+ ContainerPoker con_b = new ContainerPoker
("container-b");
+ ContainerPoker con_c = new ContainerPoker
("container-c");
+ ControlPoker [] ctrls_a = new ControlPoker [] {
+ new ControlPoker ("ctrls-a-0"), new
ControlPoker ("ctrls-a-1"), new ControlPoker ("ctrls-a-2")
+ };
+ ControlPoker ctrl_b = new ControlPoker ("ctrl-b");
+
+ con_a.Controls.AddRange (ctrls_a);
+
+ form.Controls.Add (con_a);
+ form.Controls.Add (ctrl_b);
+
+ form.Show ();
+
+ // top level movement,
+ Assert.AreEqual (form.GetNextControl (form, true),
con_a, "form-1");
+ Assert.AreEqual (form.GetNextControl (form, false),
ctrl_b, "form-2");
+
+ Assert.AreEqual (form.GetNextControl (con_a, true),
ctrl_b, "con-a-1");
+ Assert.AreEqual (form.GetNextControl (con_a, false),
null, "con-a-2");
+
+ Assert.AreEqual (form.GetNextControl (ctrl_b, true),
null, "ctrl-b-1");
+ Assert.AreEqual (form.GetNextControl (ctrl_b, false),
con_a, "ctrl-b-2");
+
+ Assert.AreEqual (form.GetNextControl (ctrls_a [0],
true), ctrls_a [1], "ctrl-a-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [0],
false), con_a, "ctrl-a-2");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [1],
true), ctrls_a [2], "ctrl-a-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [1],
false), ctrls_a [0], "ctrl-a-2");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [2],
true), ctrl_b, "ctrl-a-1");
+ Assert.AreEqual (form.GetNextControl (ctrls_a [2],
false), ctrls_a [1], "ctrl-a-2");
+
+ }
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches