Fix problems with overlong directory names: phase #1
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / MenuTest.cs
1 //
2 // MenuTest.cs: Test cases for Menu, MainMenu
3 //
4 // Author:
5 //   Ritvik Mayank (mritvik@novell.com)
6 //
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using System.Windows.Forms;
12 using System.Drawing;
13 using System.Reflection;
14 using NUnit.Framework;
15
16 namespace MonoTests.System.Windows.Forms
17 {
18         [TestFixture]   
19         public class MenuTest
20         {
21                 [Test]
22                 public void MenuPropertyTest ()
23                 {
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");
35                 }
36
37                 [Test]
38                 public void GetMainMenuTest ()
39                 {
40                         MainMenu mymainmenu = new MainMenu ();
41                         MenuItem mymenuitem = new MenuItem ();
42                         mymenuitem.Text = "menu 1";
43                         mymainmenu.MenuItems.Add (mymenuitem);
44                         Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
45                 }       
46                 
47                 [Test]
48                 public void CloneMenuTest ()
49                 {
50                         MainMenu mymainmenu1 = new MainMenu ();
51                         MenuItem menuitem1 = new MenuItem ();
52                         MenuItem menuitem2 = new MenuItem ();
53                         menuitem1.Text = "item1";
54                         menuitem2.Text = "item2";
55                         mymainmenu1.MenuItems.Add (menuitem1);
56                         mymainmenu1.MenuItems.Add (menuitem2);
57                         MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
58                         Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
59                 }
60
61                 [Test]
62                 public void GetFormTest ()
63                 {
64                         Form myform = new Form ();
65                         myform.ShowInTaskbar = false;
66                         myform.Name = "New Form";
67                         MainMenu mymainmenu1 = new MainMenu ();
68                         MenuItem menuitem1 = new MenuItem ();
69                         menuitem1.Text = "item1";
70                         mymainmenu1.MenuItems.Add (menuitem1);
71                         myform.Menu = mymainmenu1;
72                         Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
73                         myform.Dispose ();
74                 }
75                 
76                 [Test]
77                 public void GetContextMenuTest ()
78                 {
79                         Form myform = new Form ();
80                         myform.ShowInTaskbar = false;
81                         ContextMenu mycontextmenu = new ContextMenu ();
82                         myform.ContextMenu= mycontextmenu;
83                         MenuItem menuItem1 = new MenuItem ();
84                         menuItem1.Text = "1";
85                         mycontextmenu.MenuItems.Add (menuItem1);
86                         Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
87                         myform.Dispose ();
88                 }
89         }
90 }