| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- //
- // MdiFormTest.cs: Test cases for MDI Forms.
- //
- // Author:
- // Rolf Bjarne Kvinge ([email protected])
- //
- // (C) 2006 Novell, Inc. (http://www.novell.com)
- //
- using System;
- using System.Drawing;
- using System.Reflection;
- using System.Windows.Forms;
- using NUnit.Framework;
- namespace MonoTests.System.Windows.Forms
- {
- [TestFixture]
- public class MdiFormTest
- {
- [Test]
- public void Text ()
- {
- Form main = null, child1 = null, child2 = null, child3 = null;
- main = new Form ();
- main.IsMdiContainer = true;
- main.Name = "main";
- main.Text = main.Name;
- main.Show();
-
- Assert.AreEqual ("main", main.Text, "#1");
-
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.Text = child1.Name;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- Assert.AreEqual ("main - [child1]", main.Text, "#2");
-
- child2 = new Form ();
- child2.Name = "child2";
- child1.MdiParent = main;
- child2.Text = string.Empty;
- child2.WindowState = FormWindowState.Maximized;
- child2.Show();
-
- Assert.AreEqual ("main - [child1]", main.Text, "#3");
-
- child1.Activate();
- Assert.AreEqual ("main - [child1]", main.Text, "#4");
-
- child1.WindowState = FormWindowState.Minimized;
- Assert.AreEqual ("main", main.Text, "#5");
-
- child2.Activate ();
- Assert.AreEqual ("main", main.Text, "#6");
-
- child2.WindowState = FormWindowState.Maximized;
- Assert.AreEqual ("main", main.Text, "#7");
- child3 = new Form ();
- child3.Name = "child3";
- child3.MdiParent = main;
- child3.Text = child3.Name;
- child3.WindowState = FormWindowState.Maximized;
- child3.Show ();
- Assert.AreEqual ("main - [child3]", main.Text, "#8");
- child3.WindowState = FormWindowState.Normal;
- Assert.AreEqual ("main", main.Text, "#9");
- main.Text = string.Empty;
- child3.WindowState = FormWindowState.Maximized;
- Assert.AreEqual (" - [child3]", main.Text, "#10");
- child3.Text = string.Empty;
- Assert.AreEqual (string.Empty, main.Text, "#11");
- child3.Dispose ();
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- }
- // Setting Text of the MDI containiner before setting IsMdiContainer to
- // true causes #2 to fail on Mono
- [Test]
- [Category ("NotWorking")]
- public void Text_MdiContainer ()
- {
- Form main = new Form ();
- main.ShowInTaskbar = false;
- main.Text = "main";
- main.IsMdiContainer = true;
- main.Show ();
- Assert.AreEqual ("main", main.Text, "#1");
- Form child = new Form ();
- child.Name = "child";
- child.MdiParent = main;
- child.Text = child.Name;
- child.WindowState = FormWindowState.Maximized;
- child.Show ();
- Assert.AreEqual ("main - [child]", main.Text, "#2");
- }
- [Test] // bug 80038
- [Category ("NotWorking")]
- public void Text_ChildClose ()
- {
- Form main = new Form ();
- main.ShowInTaskbar = false;
- main.IsMdiContainer = true;
- main.Text = "main";
- main.Show ();
- Assert.AreEqual ("main", main.Text, "#1");
- Form child = new Form ();
- child.Name = "child";
- child.MdiParent = main;
- child.Text = child.Name;
- child.WindowState = FormWindowState.Maximized;
- child.Show ();
- Assert.AreEqual ("main - [child]", main.Text, "#2");
- child.Close ();
- Assert.AreEqual ("main", main.Text, "#3");
- }
- // Setting WindowState to Maximized of a form, of which the handle is
- // already created, does not make it ActiveMdiChild
- [Test]
- [Category ("NotWorking")]
- public void Text_Maximized ()
- {
- Form main = new Form ();
- main.IsMdiContainer = true;
- main.Name = "main";
- main.Text = main.Name;
- main.Show ();
- Assert.AreEqual ("main", main.Text, "#1");
- Form child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.Text = child1.Name;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
- Assert.AreEqual ("main - [child1]", main.Text, "#2");
- Form child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.Text = child2.Name;
- child2.WindowState = FormWindowState.Maximized;
- child2.Show ();
- Assert.AreEqual ("main - [child2]", main.Text, "#3");
- child1.WindowState = FormWindowState.Maximized;
- Assert.AreEqual ("main - [child1]", main.Text, "#4");
- }
- // Form.ActiveMdiChild should return null if handle is not yet created
- // Depends on fix for bug #80020
- [Test]
- [Category("NotWorking")]
- public void ActiveMdiChild ()
- {
- Form main, child1, child2;
-
- main = new Form ();
- main.IsMdiContainer = true;
- main.Name = "main";
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.Show();
-
- Assert.IsNull (main.ActiveMdiChild, "#1");
- main.Show ();
- Assert.AreSame (child2, main.ActiveMdiChild, "#2");
- child1.WindowState = FormWindowState.Maximized;
- Assert.AreSame (child1, main.ActiveMdiChild, "#3");
- child2.WindowState = FormWindowState.Maximized;
- Assert.AreSame (child2, main.ActiveMdiChild, "#4");
- main.Visible = false;
- Assert.AreSame (child2, main.ActiveMdiChild, "#5");
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- [Test]
- public void MdiChild_WindowState1 ()
- {
- Form main = null, child1 = null, child2 = null;
- try {
-
- main = new Form ();
- main.IsMdiContainer = true;
- main.Name = "main";
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.Show();
-
- Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#2");
- main.Show ();
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- [Test]
- public void MdiChild_WindowState2 ()
- {
- Form main = null, child1 = null, child2 = null;
- try{
-
- main = new Form ();
- main.Name = "main";
- main.IsMdiContainer = true;
- main.Show ();
-
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.Show();
-
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
-
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- [Test]
- public void MdiChild_WindowState3 ()
- {
- Form main = null, child1 = null, child2 = null;
- try {
- main = new Form ();
- main.IsMdiContainer = true;
- main.Show ();
-
- child1 = new Form ();
- child1.MdiParent = main;
- child1.Show ();
-
- child2 = new Form ();
- child2.MdiParent = main;
- child2.WindowState = FormWindowState.Maximized;
- child2.Show();
-
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
-
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- [Test]
- public void MdiChild_WindowState4 ()
- {
- Form main = null, child1 = null, child2 = null;
- try {
- main = new Form ();
- main.IsMdiContainer = true;
- main.Show ();
-
- child1 = new Form ();
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- child2 = new Form ();
- child2.MdiParent = main;
- child2.WindowState = FormWindowState.Maximized;
- Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
- child2.Show();
-
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
-
- child2.WindowState = FormWindowState.Normal;
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#5");
- Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- [Test]
- public void MdiChild_WindowState5 ()
- {
- Form main = null, child1 = null, child2 = null;
- try {
- main = new Form ();
- main.Name = "main";
- main.IsMdiContainer = true;
- main.Show ();
-
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Maximized;
- child1.Show ();
-
- child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.WindowState = FormWindowState.Maximized;
-
- Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
- child2.Show();
- Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
- child1.Activate ();
- Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
- Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- [Test]
- public void MdiChild_WindowState6 ()
- {
- Form main = null, child1 = null, child2 = null;
- try {
-
- main = new Form ();
- main.Name = "main";
- main.IsMdiContainer = true;
- main.Show ();
-
- child1 = new Form ();
- child1.Name = "child1";
- child1.MdiParent = main;
- child1.WindowState = FormWindowState.Minimized;
- child1.Show ();
-
- child2 = new Form ();
- child2.Name = "child2";
- child2.MdiParent = main;
- child2.WindowState = FormWindowState.Maximized;
- Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#1");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
- child2.Show();
-
- Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#3");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
-
- child1.Activate ();
- Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
- Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
-
- child2.Activate ();
- Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#7");
- Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#8");
- } finally {
- child2.Dispose ();
- child1.Dispose ();
- main.Dispose ();
- main.Close();
- }
- }
- }
- }
|