2008-12-17 Bill Holmes <billholmes54@gmail.com>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / MenuTest.cs
index 5fb676af6b34322d78f703e005bc24a941637d86..23503bce9a46b7a89fb5b21e18258f2e2f5211f4 100644 (file)
@@ -16,7 +16,7 @@ using NUnit.Framework;
 namespace MonoTests.System.Windows.Forms
 {
        [TestFixture]   
-       public class MenuTest
+       public class MenuTest : TestHelper
        {
                [Test]
                public void MenuPropertyTest ()
@@ -32,6 +32,10 @@ namespace MonoTests.System.Windows.Forms
                        Assert.AreEqual (2, mymenu.MenuItems.Count,"#5");
                        MainMenu mymainmenu = new MainMenu ();
                        Assert.AreEqual (RightToLeft.Inherit, mymainmenu.RightToLeft,"#6");
+                       
+#if NET_2_0
+                       Assert.IsNull (mymenu.Tag);
+#endif
                }
 
                [Test]
@@ -58,6 +62,15 @@ namespace MonoTests.System.Windows.Forms
                        Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
                }
 
+               [Test]
+               public void CloneWindowMenuTest ()
+               {
+                               MenuItem menuitem1 = new MenuItem ();
+                               menuitem1.MdiList = true;
+                               MenuItem menuitem2 = menuitem1.CloneMenu ();
+                               Assert.IsTrue (menuitem2.MdiList, "#1");
+               }
+
                [Test]
                public void GetFormTest ()
                {
@@ -74,17 +87,41 @@ namespace MonoTests.System.Windows.Forms
                }
                
                [Test]
-               public void GetContextMenuTest ()
+               public void MenuItemMerge ()
                {
-                       Form myform = new Form ();
-                       myform.ShowInTaskbar = false;
-                       ContextMenu mycontextmenu = new ContextMenu ();
-                       myform.ContextMenu= mycontextmenu;
-                       MenuItem menuItem1 = new MenuItem ();
-                       menuItem1.Text = "1";
-                       mycontextmenu.MenuItems.Add (menuItem1);
-                       Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
-                       myform.Dispose ();
+                       MenuItem itemA2 = new MenuItem ("Exit");
+                       itemA2.MergeType = MenuMerge.MergeItems;
+                       itemA2.MergeOrder = 3;
+
+                       MenuItem itemA1 = new MenuItem ("File");
+                       itemA1.MenuItems.Add (itemA2);
+                       itemA1.MergeType = MenuMerge.MergeItems;
+
+                       MenuItem itemB2 = new MenuItem ("Open");
+                       itemB2.MergeOrder = 1;
+                       itemB2.MergeType = MenuMerge.Add;
+
+                       MenuItem itemB3 = new MenuItem ("Close");
+                       itemB3.MergeOrder = 2;
+                       itemB3.MergeType = MenuMerge.Add;
+
+                       MenuItem itemB1 = new MenuItem ("File");
+                       itemB1.MenuItems.Add (itemB2);
+                       itemB1.MenuItems.Add (itemB3);
+                       itemB1.MergeType = MenuMerge.MergeItems;
+
+                       MainMenu mainMenu1 = new MainMenu();
+                       mainMenu1.MenuItems.Add (itemA1);
+                       
+                       MainMenu mainMenu2 = new MainMenu();
+                       mainMenu2.MenuItems.Add (itemB1);
+                       
+                       mainMenu1.MergeMenu (mainMenu2);
+
+                       Assert.AreEqual ("File",  mainMenu1.MenuItems[0].Text,              "ItemMerge#1");
+                       Assert.AreEqual ("Open",  mainMenu1.MenuItems[0].MenuItems[0].Text, "ItemMerge#2");
+                       Assert.AreEqual ("Close", mainMenu1.MenuItems[0].MenuItems[1].Text, "ItemMerge#3");
+                       Assert.AreEqual ("Exit",  mainMenu1.MenuItems[0].MenuItems[2].Text, "ItemMerge#4");
                }
        }
 }