using System.Reflection;
using NUnit.Framework;
-[TestFixture]
-public class MenuTest
+namespace MonoTests.System.Windows.Forms
{
- [Test]
- public void MenuPropertyTest ()
+ [TestFixture]
+ public class MenuTest : TestHelper
{
- 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");
- 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");
- }
+ [Test]
+ public void MenuPropertyTest ()
+ {
+ Menu mymenu = new MainMenu ();
+ Assert.AreEqual ("System.IntPtr", mymenu.Handle.GetType().FullName, "#1");
+ Assert.AreEqual (false, mymenu.IsParent, "#2");
+ // 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]
- public void GetMainMenuTest ()
- {
- MainMenu mymainmenu = new MainMenu ();
- MenuItem mymenuitem = new MenuItem ();
- mymenuitem.Text = "menu 1";
- mymainmenu.MenuItems.Add (mymenuitem);
- Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
- }
+ [Test]
+ public void GetMainMenuTest ()
+ {
+ MainMenu mymainmenu = new MainMenu ();
+ MenuItem mymenuitem = new MenuItem ();
+ mymenuitem.Text = "menu 1";
+ mymainmenu.MenuItems.Add (mymenuitem);
+ Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
+ }
+
+ [Test]
+ public void CloneMenuTest ()
+ {
+ MainMenu mymainmenu1 = new MainMenu ();
+ MenuItem menuitem1 = new MenuItem ();
+ MenuItem menuitem2 = new MenuItem ();
+ menuitem1.Text = "item1";
+ menuitem2.Text = "item2";
+ mymainmenu1.MenuItems.Add (menuitem1);
+ mymainmenu1.MenuItems.Add (menuitem2);
+ MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
+ Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
+ }
- [Test]
- public void MergeMenuTest ()
- {
- Form myform = new Form ();
- Menu mymenu = new MainMenu ();
- 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 ()
- {
- Form myform = new Form ();
- Menu mymenu = new MainMenu ();
- MainMenu mymainmenu1 = new MainMenu ();
- MenuItem menuitem1 = new MenuItem ();
- MenuItem menuitem2 = new MenuItem ();
- menuitem1.Text = "item1";
- menuitem2.Text = "item2";
- mymainmenu1.MenuItems.Add (menuitem1);
- mymainmenu1.MenuItems.Add (menuitem2);
- MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
- Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
- }
-
- [Test]
- public void GetFormTest ()
- {
- Form myform = new Form ();
- myform.Name = "New Form";
- Menu mymenu = new MainMenu ();
- MainMenu mymainmenu1 = new MainMenu ();
- MenuItem menuitem1 = new MenuItem ();
- menuitem1.Text = "item1";
- mymainmenu1.MenuItems.Add (menuitem1);
- myform.Menu = mymainmenu1;
- Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
+ [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 ();
+ menuitem1.Text = "item1";
+ mymainmenu1.MenuItems.Add (menuitem1);
+ myform.Menu = mymainmenu1;
+ Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void MenuItemMerge ()
+ {
+ 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");
+ }
}
-}
\ No newline at end of file
+}