2 // MenuTest.cs: Test cases for Menu, MainMenu
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using System.Windows.Forms;
13 using System.Reflection;
14 using NUnit.Framework;
16 namespace MonoTests.System.Windows.Forms
19 public class MenuTest : TestHelper
22 public void MenuPropertyTest ()
24 Menu mymenu = new MainMenu ();
25 Assert.AreEqual ("System.IntPtr", mymenu.Handle.GetType().FullName, "#1");
26 Assert.AreEqual (false, mymenu.IsParent, "#2");
27 // TODO: MDI is not completed yet
28 //Assert.AreEqual (null, mymenu.MdiListItem, "#3");
29 Assert.AreEqual (0, mymenu.MenuItems.Count,"#4");
30 mymenu.MenuItems.Add ("newmenu1");
31 mymenu.MenuItems.Add ("newmenu2");
32 Assert.AreEqual (2, mymenu.MenuItems.Count,"#5");
33 MainMenu mymainmenu = new MainMenu ();
34 Assert.AreEqual (RightToLeft.Inherit, mymainmenu.RightToLeft,"#6");
37 Assert.IsNull (mymenu.Tag);
42 public void GetMainMenuTest ()
44 MainMenu mymainmenu = new MainMenu ();
45 MenuItem mymenuitem = new MenuItem ();
46 mymenuitem.Text = "menu 1";
47 mymainmenu.MenuItems.Add (mymenuitem);
48 Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
52 public void CloneMenuTest ()
54 MainMenu mymainmenu1 = new MainMenu ();
55 MenuItem menuitem1 = new MenuItem ();
56 MenuItem menuitem2 = new MenuItem ();
57 menuitem1.Text = "item1";
58 menuitem2.Text = "item2";
59 mymainmenu1.MenuItems.Add (menuitem1);
60 mymainmenu1.MenuItems.Add (menuitem2);
61 MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
62 Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
66 public void CloneWindowMenuTest ()
68 MenuItem menuitem1 = new MenuItem ();
69 menuitem1.MdiList = true;
70 MenuItem menuitem2 = menuitem1.CloneMenu ();
71 Assert.IsTrue (menuitem2.MdiList, "#1");
75 public void GetFormTest ()
77 Form myform = new Form ();
78 myform.ShowInTaskbar = false;
79 myform.Name = "New Form";
80 MainMenu mymainmenu1 = new MainMenu ();
81 MenuItem menuitem1 = new MenuItem ();
82 menuitem1.Text = "item1";
83 mymainmenu1.MenuItems.Add (menuitem1);
84 myform.Menu = mymainmenu1;
85 Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
90 public void MenuItemMerge ()
92 MenuItem itemA2 = new MenuItem ("Exit");
93 itemA2.MergeType = MenuMerge.MergeItems;
94 itemA2.MergeOrder = 3;
96 MenuItem itemA1 = new MenuItem ("File");
97 itemA1.MenuItems.Add (itemA2);
98 itemA1.MergeType = MenuMerge.MergeItems;
100 MenuItem itemB2 = new MenuItem ("Open");
101 itemB2.MergeOrder = 1;
102 itemB2.MergeType = MenuMerge.Add;
104 MenuItem itemB3 = new MenuItem ("Close");
105 itemB3.MergeOrder = 2;
106 itemB3.MergeType = MenuMerge.Add;
108 MenuItem itemB1 = new MenuItem ("File");
109 itemB1.MenuItems.Add (itemB2);
110 itemB1.MenuItems.Add (itemB3);
111 itemB1.MergeType = MenuMerge.MergeItems;
113 MainMenu mainMenu1 = new MainMenu();
114 mainMenu1.MenuItems.Add (itemA1);
116 MainMenu mainMenu2 = new MainMenu();
117 mainMenu2.MenuItems.Add (itemB1);
119 mainMenu1.MergeMenu (mainMenu2);
121 Assert.AreEqual ("File", mainMenu1.MenuItems[0].Text, "ItemMerge#1");
122 Assert.AreEqual ("Open", mainMenu1.MenuItems[0].MenuItems[0].Text, "ItemMerge#2");
123 Assert.AreEqual ("Close", mainMenu1.MenuItems[0].MenuItems[1].Text, "ItemMerge#3");
124 Assert.AreEqual ("Exit", mainMenu1.MenuItems[0].MenuItems[2].Text, "ItemMerge#4");