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
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 GetContextMenuTest ()
92 Form myform = new Form ();
93 myform.ShowInTaskbar = false;
94 ContextMenu mycontextmenu = new ContextMenu ();
95 myform.ContextMenu= mycontextmenu;
96 MenuItem menuItem1 = new MenuItem ();
98 mycontextmenu.MenuItems.Add (menuItem1);
99 Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
104 public void MenuItemMerge ()
106 MenuItem itemA2 = new MenuItem ("Exit");
107 itemA2.MergeType = MenuMerge.MergeItems;
108 itemA2.MergeOrder = 3;
110 MenuItem itemA1 = new MenuItem ("File");
111 itemA1.MenuItems.Add (itemA2);
112 itemA1.MergeType = MenuMerge.MergeItems;
114 MenuItem itemB2 = new MenuItem ("Open");
115 itemB2.MergeOrder = 1;
116 itemB2.MergeType = MenuMerge.Add;
118 MenuItem itemB3 = new MenuItem ("Close");
119 itemB3.MergeOrder = 2;
120 itemB3.MergeType = MenuMerge.Add;
122 MenuItem itemB1 = new MenuItem ("File");
123 itemB1.MenuItems.Add (itemB2);
124 itemB1.MenuItems.Add (itemB3);
125 itemB1.MergeType = MenuMerge.MergeItems;
127 MainMenu mainMenu1 = new MainMenu();
128 mainMenu1.MenuItems.Add (itemA1);
130 MainMenu mainMenu2 = new MainMenu();
131 mainMenu2.MenuItems.Add (itemB1);
133 mainMenu1.MergeMenu (mainMenu2);
135 Assert.AreEqual ("File", mainMenu1.MenuItems[0].Text, "ItemMerge#1");
136 Assert.AreEqual ("Open", mainMenu1.MenuItems[0].MenuItems[0].Text, "ItemMerge#2");
137 Assert.AreEqual ("Close", mainMenu1.MenuItems[0].MenuItems[1].Text, "ItemMerge#3");
138 Assert.AreEqual ("Exit", mainMenu1.MenuItems[0].MenuItems[2].Text, "ItemMerge#4");