namespace MonoTests.System.Windows.Forms
{
- [TestFixture]
- [Ignore ("This test has to be completly reviewed")]
- public class MenuTest
+ [TestFixture]
+ public class MenuTest : TestHelper
{
[Test]
public void MenuPropertyTest ()
Menu mymenu = new MainMenu ();
Assert.AreEqual ("System.IntPtr", mymenu.Handle.GetType().FullName, "#1");
Assert.AreEqual (false, mymenu.IsParent, "#2");
- Assert.AreEqual (null, mymenu.MdiListItem, "#3");
+ // TODO: MDI is not completed yet
+ //Assert.AreEqual (null, mymenu.MdiListItem, "#3");
Assert.AreEqual (0, mymenu.MenuItems.Count,"#4");
mymenu.MenuItems.Add ("newmenu1");
mymenu.MenuItems.Add ("newmenu2");
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]
mymainmenu.MenuItems.Add (mymenuitem);
Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
}
-
- [Test]
- public void MergeMenuTest ()
- {
- MainMenu mymainmenu1 = new MainMenu ();
- MainMenu mymainmenu2 = new MainMenu ();
- MenuItem mymenuitem1 = new MenuItem ();
- MenuItem mymenuitem2 = new MenuItem ();
- mymenuitem1.Text = "A";
- mymenuitem2.Text = "B";
- mymainmenu1.MenuItems.Add (mymenuitem1);
- mymainmenu2.MenuItems.Add (mymenuitem2);
- mymainmenu1.MergeMenu (mymainmenu2);
- Assert.AreEqual (2, mymainmenu1.MenuItems.Count, "#8");
- }
-
+
[Test]
public void CloneMenuTest ()
{
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 ()
{
Form myform = new Form ();
+ myform.ShowInTaskbar = false;
myform.Name = "New Form";
MainMenu mymainmenu1 = new MainMenu ();
MenuItem menuitem1 = new MenuItem ();
mymainmenu1.MenuItems.Add (menuitem1);
myform.Menu = mymainmenu1;
Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
+ myform.Dispose ();
}
[Test]
- public void GetContextMenuTest ()
+ public void MenuItemMerge ()
{
- Form myform = new Form ();
- ContextMenu mycontextmenu = new ContextMenu ();
- myform.ContextMenu= mycontextmenu;
- MenuItem menuItem1 = new MenuItem ();
- menuItem1.Text = "1";
- mycontextmenu.MenuItems.Add (menuItem1);
- Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
+ 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");
}
}
}