Переглянути джерело

2007-03-25 Jonathan Pobst <[email protected]>

	* ToolStripComboBox.cs: Default the ComboBox's FlatStyle to Popup.

2007-03-25  Jonathan Pobst  <[email protected]>

	* ButtonTest.cs: Add test demonstrating the behavior of ImageList.
	* MenuStripTest.cs: General test suite.
	* ToolStripComboBoxTest.cs: Enable tests for FlatStyle.
	* ToolStripControlHostTest.cs: Form.ShowInTaskbar = false.
	* ToolStripItemTest.cs: Test for method Dispose.
	* ToolStripMenuItemTest.cs: Add tests for constructor and keyboard shortcuts.
	* ToolStripProgressBarTest.cs: Enable previously NotWorking test.
	* ToolStripTest.cs: Add tests for Overflow, Dock/Orientation, and 
	CreateLayoutSettings.

svn path=/trunk/mcs/; revision=74965
Jonathan Pobst 19 роки тому
батько
коміт
2dc0db7d36

+ 4 - 0
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog

@@ -1,3 +1,7 @@
+2007-03-25  Jonathan Pobst  <[email protected]>
+
+	* ToolStripComboBox.cs: Default the ComboBox's FlatStyle to Popup.
+
 2007-03-24  Jonathan Pobst  <[email protected]>
 
 	* Control.cs: Make SetBoundsCore match MS better.  The BoundsSpecified

+ 1 - 0
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ToolStripComboBox.cs

@@ -382,6 +382,7 @@ namespace System.Windows.Forms
 			public ToolStripComboBoxControl () : base ()
 			{
 				this.border_style = BorderStyle.None;
+				this.FlatStyle = FlatStyle.Popup;
 			}
 		}
 	}

+ 52 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs

@@ -56,6 +56,58 @@ namespace MonoTests.System.Windows.Forms
 
 			flatApp.BorderSize = -1;
 		}
+
+		[Test]
+		[Ignore ("Needs a bugfix in libgdiplus, #80842")]
+		public void BehaviorImageList ()
+		{
+			// Basically, this shows that whichever of [Image|ImageIndex|ImageKey]
+			// is set last resets the others to their default state
+			Button b = new Button ();
+
+			Bitmap i1 = new Bitmap (16, 4);
+			i1.SetPixel (0, 0, Color.Blue);
+			Bitmap i2 = new Bitmap (16, 5);
+			i2.SetPixel (0, 0, Color.Red);
+			Bitmap i3 = new Bitmap (16, 6);
+			i3.SetPixel (0, 0, Color.Green);
+
+			Assert.AreEqual (null, b.Image, "D1");
+			Assert.AreEqual (-1, b.ImageIndex, "D2");
+			Assert.AreEqual (string.Empty, b.ImageKey, "D3");
+
+			ImageList il = new ImageList ();
+			il.Images.Add ("i2", i2);
+			il.Images.Add ("i3", i3);
+
+			b.ImageList = il;
+
+			b.ImageKey = "i3";
+			Assert.AreEqual (-1, b.ImageIndex, "D4");
+			Assert.AreEqual ("i3", b.ImageKey, "D5");
+			Assert.AreEqual (i3.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D6");
+
+			b.ImageIndex = 0;
+			Assert.AreEqual (0, b.ImageIndex, "D7");
+			Assert.AreEqual (string.Empty, b.ImageKey, "D8");
+			Assert.AreEqual (i2.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D9");
+			
+			// Also, Image is not cached, changing the underlying ImageList image is reflected
+			il.Images[0] = i1;
+			Assert.AreEqual (i1.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D16");
+
+			// Note: setting Image resets ImageList to null
+			b.Image = i1;
+			Assert.AreEqual (-1, b.ImageIndex, "D10");
+			Assert.AreEqual (string.Empty, b.ImageKey, "D11");
+			Assert.AreEqual (i1.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D12");
+			Assert.AreEqual (null, b.ImageList, "D12-2");
+
+			b.Image = null;
+			Assert.AreEqual (null, b.Image, "D13");
+			Assert.AreEqual (-1, b.ImageIndex, "D14");
+			Assert.AreEqual (string.Empty, b.ImageKey, "D15");
+		}
 #endif
 		[Test]
 		public void ImageTest ()

+ 12 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog

@@ -1,3 +1,15 @@
+2007-03-25  Jonathan Pobst  <[email protected]>
+
+	* ButtonTest.cs: Add test demonstrating the behavior of ImageList.
+	* MenuStripTest.cs: General test suite.
+	* ToolStripComboBoxTest.cs: Enable tests for FlatStyle.
+	* ToolStripControlHostTest.cs: Form.ShowInTaskbar = false.
+	* ToolStripItemTest.cs: Test for method Dispose.
+	* ToolStripMenuItemTest.cs: Add tests for constructor and keyboard shortcuts.
+	* ToolStripProgressBarTest.cs: Enable previously NotWorking test.
+	* ToolStripTest.cs: Add tests for Overflow, Dock/Orientation, and 
+	CreateLayoutSettings.
+
 2007-03-24  Jonathan Pobst  <[email protected]>
 
 	* DefaultLayoutTest.cs: Enable some NotWorking tests that now

+ 106 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/MenuStripTest.cs

@@ -39,10 +39,97 @@ namespace MonoTests.System.Windows.Forms
 	[TestFixture]
 	public class MenuStripTest
 	{
+		[Test]
+		public void Constructor ()
+		{
+			MenuStrip ms = new MenuStrip ();
+
+			Assert.AreEqual (false, ms.CanOverflow, "A1");
+			Assert.AreEqual (ToolStripGripStyle.Hidden, ms.GripStyle, "A2");
+			Assert.AreEqual (null, ms.MdiWindowListItem, "A3");
+			Assert.AreEqual (false, ms.ShowItemToolTips, "A4");
+			Assert.AreEqual (true, ms.Stretch, "A5");
+			Assert.AreEqual (ToolStripLayoutStyle.HorizontalStackWithOverflow, ms.LayoutStyle, "A6");
+		}
+
+		[Test]
+		public void ControlStyle ()
+		{
+			ExposeProtectedProperties epp = new ExposeProtectedProperties ();
+
+			ControlStyles cs = ControlStyles.ContainerControl;
+			cs |= ControlStyles.UserPaint;
+			cs |= ControlStyles.StandardClick;
+			cs |= ControlStyles.SupportsTransparentBackColor;
+			cs |= ControlStyles.StandardDoubleClick;
+			cs |= ControlStyles.AllPaintingInWmPaint;
+			cs |= ControlStyles.OptimizedDoubleBuffer;
+			cs |= ControlStyles.UseTextForAccessibility;
+
+			Assert.AreEqual (cs, epp.GetControlStyles (), "Styles");
+		}
+		
+		[Test]
+		public void ProtectedProperties ()
+		{
+			ExposeProtectedProperties epp = new ExposeProtectedProperties ();
+
+			Assert.AreEqual (new Padding (2, 2, 0, 2), epp.DefaultGripMargin, "C1");
+			Assert.AreEqual (new Padding (6, 2, 0, 2), epp.DefaultPadding, "C2");
+			Assert.AreEqual (false, epp.DefaultShowItemToolTips, "C3");
+			Assert.AreEqual (new Size (200, 24), epp.DefaultSize, "C4");
+		}
+
+		[Test]
+		public void PropertyCanOverflow ()
+		{
+			StatusStrip ts = new StatusStrip ();
+
+			ts.CanOverflow = true;
+			Assert.AreEqual (true, ts.CanOverflow, "B1");
+		}
+
+		[Test]
+		public void PropertyGripStyle ()
+		{
+			StatusStrip ts = new StatusStrip ();
+
+			ts.GripStyle = ToolStripGripStyle.Visible;
+			Assert.AreEqual (ToolStripGripStyle.Visible, ts.GripStyle, "B1");
+		}
+
+		[Test]
+		[ExpectedException (typeof (InvalidEnumArgumentException))]
+		public void PropertyGripStyleIEAE ()
+		{
+			StatusStrip ts = new StatusStrip ();
+
+			ts.GripStyle = (ToolStripGripStyle)42;
+		}
+
+		[Test]
+		public void PropertyShowItemToolTips ()
+		{
+			StatusStrip ts = new StatusStrip ();
+
+			ts.ShowItemToolTips = true;
+			Assert.AreEqual (true, ts.ShowItemToolTips, "B1");
+		}
+		
+		[Test]
+		public void PropertyStretch ()
+		{
+			StatusStrip ts = new StatusStrip ();
+
+			ts.Stretch = false;
+			Assert.AreEqual (false, ts.Stretch, "B1");
+		}
+
 		[Test]
 		public void BehaviorMdiWindowMenuItem ()
 		{
 			Form f = new Form ();
+			f.ShowInTaskbar = false;
 			f.IsMdiContainer = true;
 			Form c1 = new Form ();
 			c1.MdiParent = f;
@@ -92,6 +179,25 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (5, tsmi.DropDownItems.Count, "Q14");
 			Assert.AreEqual (true, (tsmi.DropDownItems[4] as ToolStripMenuItem).Checked, "Q15");
 		}
+
+		private class ExposeProtectedProperties : MenuStrip
+		{
+			public new Padding DefaultGripMargin { get { return base.DefaultGripMargin; } }
+			public new Padding DefaultPadding { get { return base.DefaultPadding; } }
+			public new bool DefaultShowItemToolTips { get { return base.DefaultShowItemToolTips; } }
+			public new Size DefaultSize { get { return base.DefaultSize; } }
+
+			public ControlStyles GetControlStyles ()
+			{
+				ControlStyles retval = (ControlStyles)0;
+
+				foreach (ControlStyles cs in Enum.GetValues (typeof (ControlStyles)))
+					if (this.GetStyle (cs) == true)
+						retval |= cs;
+
+				return retval;
+			}
+		}
 	}
 }
 #endif

+ 13 - 13
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripComboBoxTest.cs

@@ -51,7 +51,7 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (ComboBoxStyle.DropDown, tsi.DropDownStyle, "A6");
 			Assert.AreEqual (121, tsi.DropDownWidth, "A7");
 			Assert.AreEqual (false, tsi.DroppedDown, "A8");
-			//Assert.AreEqual (FlatStyle.Popup, tsi.FlatStyle, "A9");
+			Assert.AreEqual (FlatStyle.Popup, tsi.FlatStyle, "A9");
 			Assert.AreEqual (true, tsi.IntegralHeight, "A10");
 			Assert.AreEqual ("System.Windows.Forms.ComboBox+ObjectCollection", tsi.Items.ToString (), "A11");
 			Assert.AreEqual (8, tsi.MaxDropDownItems, "A12");
@@ -163,20 +163,20 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (string.Empty, ew.ToString (), "B3");
 		}
 
-		//[Test]
-		//public void PropertyFlatStyle ()
-		//{
-		//        ToolStripComboBox tsi = new ToolStripComboBox ();
-		//        EventWatcher ew = new EventWatcher (tsi);
+		[Test]
+		public void PropertyFlatStyle ()
+		{
+			ToolStripComboBox tsi = new ToolStripComboBox ();
+			EventWatcher ew = new EventWatcher (tsi);
 
-		//        tsi.FlatStyle = FlatStyle.System;
-		//        Assert.AreEqual (FlatStyle.System, tsi.FlatStyle, "B1");
-		//        Assert.AreEqual (string.Empty, ew.ToString (), "B2");
+			tsi.FlatStyle = FlatStyle.System;
+			Assert.AreEqual (FlatStyle.System, tsi.FlatStyle, "B1");
+			Assert.AreEqual (string.Empty, ew.ToString (), "B2");
 
-		//        ew.Clear ();
-		//        tsi.FlatStyle = FlatStyle.System;
-		//        Assert.AreEqual (string.Empty, ew.ToString (), "B3");
-		//}
+			ew.Clear ();
+			tsi.FlatStyle = FlatStyle.System;
+			Assert.AreEqual (string.Empty, ew.ToString (), "B3");
+		}
 
 		[Test]
 		public void PropertyIntegralHeight ()

+ 1 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripControlHostTest.cs

@@ -424,6 +424,7 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (new Size (100, 50), tsi.Size, "H8");
 			
 			Form f = new Form ();
+			f.ShowInTaskbar = false;
 			f.Controls.Add (ts);
 			ts.Items.Add (tsi);
 			f.Show ();

+ 15 - 1
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripItemTest.cs

@@ -112,7 +112,7 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (2, count, "A55");
 			Assert.AreEqual ("MyName", tsi.Name, "A56");
 		}
-
+		
 		[Test]
 		public void ProtectedProperties ()
 		{
@@ -744,6 +744,20 @@ namespace MonoTests.System.Windows.Forms
 			Assert.AreEqual (string.Empty, ew.ToString (), "B3");
 		}
 
+		[Test]
+		public void MethodDispose ()
+		{
+			ToolStrip ts = new ToolStrip ();
+			NullToolStripItem tsi = new NullToolStripItem ();
+			
+			ts.Items.Add (tsi);
+			
+			Assert.AreEqual (false, tsi.IsDisposed, "A1");
+			
+			tsi.Dispose ();
+			Assert.AreEqual (true, tsi.IsDisposed, "A2");
+		}
+		
 		//[Test]
 		//public void PropertyAnchorAndDocking ()
 		//{

+ 107 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripMenuItemTest.cs

@@ -39,10 +39,87 @@ namespace MonoTests.System.Windows.Forms
 	[TestFixture]
 	public class ToolStripMenuItemTest
 	{
+		[Test]
+		public void Constructor ()
+		{
+			ToolStripMenuItem tsi = new ToolStripMenuItem ();
+
+			Assert.AreEqual (false, tsi.Checked, "A1");
+			Assert.AreEqual (false, tsi.CheckOnClick, "A2");
+			Assert.AreEqual (CheckState.Unchecked, tsi.CheckState, "A3");
+			Assert.AreEqual (true, tsi.Enabled, "A4");
+			Assert.AreEqual (false, tsi.IsMdiWindowListEntry, "A5");
+			Assert.AreEqual (ToolStripItemOverflow.Never, tsi.Overflow, "A6");
+			Assert.AreEqual (null, tsi.ShortcutKeyDisplayString, "A7");
+			Assert.AreEqual (Keys.None, tsi.ShortcutKeys, "A8");
+			Assert.AreEqual (true, tsi.ShowShortcutKeys, "A9");
+
+
+			int count = 0;
+			EventHandler oc = new EventHandler (delegate (object sender, EventArgs e) { count++; });
+			Image i = new Bitmap (1, 1);
+
+			tsi = new ToolStripMenuItem (i);
+			tsi.PerformClick ();
+			Assert.AreEqual (null, tsi.Text, "A10-1");
+			Assert.AreSame (i, tsi.Image, "A10-2");
+			Assert.AreEqual (0, count, "A10-3");
+			Assert.AreEqual (string.Empty, tsi.Name, "A10-4");
+
+			tsi = new ToolStripMenuItem ("Text");
+			tsi.PerformClick ();
+			Assert.AreEqual ("Text", tsi.Text, "A10-5");
+			Assert.AreSame (null, tsi.Image, "A11");
+			Assert.AreEqual (0, count, "A12");
+			Assert.AreEqual (string.Empty, tsi.Name, "A13");
+
+			tsi = new ToolStripMenuItem ("Text", i);
+			tsi.PerformClick ();
+			Assert.AreEqual ("Text", tsi.Text, "A14");
+			Assert.AreSame (i, tsi.Image, "A15");
+			Assert.AreEqual (0, count, "A16");
+			Assert.AreEqual (string.Empty, tsi.Name, "A17");
+
+			tsi = new ToolStripMenuItem ("Text", i, oc);
+			tsi.PerformClick ();
+			Assert.AreEqual ("Text", tsi.Text, "A18");
+			Assert.AreSame (i, tsi.Image, "A19");
+			Assert.AreEqual (1, count, "A20");
+			Assert.AreEqual (string.Empty, tsi.Name, "A21");
+
+			tsi = new ToolStripMenuItem ("Text", i, oc, "Name");
+			tsi.PerformClick ();
+			Assert.AreEqual ("Text", tsi.Text, "A22");
+			Assert.AreSame (i, tsi.Image, "A23");
+			Assert.AreEqual (2, count, "A24");
+			Assert.AreEqual ("Name", tsi.Name, "A25");
+		}
+		
+		[Test]
+		public void BehaviorKeyboardShortcuts ()
+		{
+			ExposeProtectedMethods tsmi = new ExposeProtectedMethods ();
+			tsmi.ShortcutKeys = Keys.Control | Keys.D;
+
+			Message m = new Message ();
+			Assert.AreEqual (false, tsmi.PublicProcessCmdKey (ref m, Keys.D), "A1");
+			Assert.AreEqual (false, tsmi.PublicProcessCmdKey (ref m, Keys.Control), "A2");
+			Assert.AreEqual (true, tsmi.PublicProcessCmdKey (ref m, Keys.Control | Keys.D), "A3");
+			Assert.AreEqual (false, tsmi.PublicProcessCmdKey (ref m, Keys.A), "A4");
+			Assert.AreEqual (false, tsmi.PublicProcessCmdKey (ref m, Keys.Control | Keys.A), "A5");
+			
+			tsmi.ShowShortcutKeys = false;
+			Assert.AreEqual (true, tsmi.PublicProcessCmdKey (ref m, Keys.Control | Keys.D), "A6");
+			
+			tsmi.ShortcutKeyDisplayString = "Moose";
+			Assert.AreEqual (true, tsmi.PublicProcessCmdKey (ref m, Keys.Control | Keys.D), "A7");
+		}
+		
 		[Test]
 		public void BehaviorMdiWindowMenuItem ()
 		{
 			Form f = new Form ();
+			f.ShowInTaskbar = false;
 			f.IsMdiContainer = true;
 			Form c1 = new Form ();
 			c1.MdiParent = f;
@@ -60,6 +137,36 @@ namespace MonoTests.System.Windows.Forms
 			f.Show ();
 			Assert.AreEqual (true, (tsmi.DropDownItems[0] as ToolStripMenuItem).IsMdiWindowListEntry, "R1");
 		}
+		
+		[Test]
+		public void BehaviorShortcutText ()
+		{
+			ToolStripMenuItem tsmi = new ToolStripMenuItem ();
+			
+			tsmi.ShortcutKeys = Keys.Control | Keys.O;
+			
+			Assert.AreEqual (null, tsmi.ShortcutKeyDisplayString, "A1");
+			
+			tsmi.ShortcutKeyDisplayString = "Test String";
+			Assert.AreEqual ("Test String", tsmi.ShortcutKeyDisplayString, "A2");
+
+			tsmi.ShortcutKeys = Keys.Control | Keys.P;
+			Assert.AreEqual ("Test String", tsmi.ShortcutKeyDisplayString, "A3");
+
+			tsmi.ShortcutKeyDisplayString = string.Empty;
+			Assert.AreEqual (string.Empty, tsmi.ShortcutKeyDisplayString, "A4");
+
+			tsmi.ShortcutKeyDisplayString = null;
+			Assert.AreEqual (null, tsmi.ShortcutKeyDisplayString, "A5");
+		}
+		
+		private class ExposeProtectedMethods : ToolStripMenuItem
+		{
+			public bool PublicProcessCmdKey (ref Message m, Keys keys)
+			{
+				return this.ProcessCmdKey (ref m, keys);
+			}
+		}
 	}
 }
 #endif

+ 0 - 1
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripProgressBarTest.cs

@@ -191,7 +191,6 @@ namespace MonoTests.System.Windows.Forms
 		}
 
 		[Test]
-		[Ignore ("ProgressBar throws AE, not AOORE")]
 		[ExpectedException (typeof (ArgumentOutOfRangeException))]
 		public void PropertyValueAOORE ()
 		{

+ 81 - 0
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ToolStripTest.cs

@@ -553,6 +553,85 @@ namespace MonoTests.System.Windows.Forms
 		//        ts.TextDirection = (ToolStripTextDirection) 42;
 		//}
 
+		[Test]
+		public void BehaviorDisplayRectangleAndOverflow ()
+		{
+			Form f = new Form ();
+			f.ShowInTaskbar = false;
+			ToolStrip ts = new ToolStrip ();
+			f.Controls.Add (ts);
+			f.Show ();
+
+			Assert.AreEqual (false, ts.OverflowButton.Visible, "D1");
+			Assert.AreEqual (new Rectangle (7, 0, 284, 25), ts.DisplayRectangle, "D2");
+
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			ts.Items.Add (new ToolStripButton ("hello11111111111"));
+			
+			Assert.AreEqual (true, ts.OverflowButton.Visible, "D3");
+			Assert.AreEqual (new Rectangle (7, 0, 284, 25), ts.DisplayRectangle, "D4");
+			f.Dispose ();
+		}
+	
+		[Test]
+		public void BehaviorGripAndOverflowWithFlowLayout ()
+		{
+			ToolStrip ts = new ToolStrip ();
+			ts.LayoutStyle = ToolStripLayoutStyle.Flow;
+			
+			Assert.AreEqual (ToolStripGripStyle.Visible, ts.GripStyle, "A1");
+			Assert.AreEqual (false, ts.OverflowButton.Visible, "A2");
+			Assert.AreEqual ("System.Windows.Forms.Layout.FlowLayout", ts.LayoutEngine.ToString (), "A3");			
+		}
+	
+		[Test]
+		public void BehaviorDockAndOrientation ()
+		{
+			Form f = new Form ();
+			f.ShowInTaskbar = false;
+			
+			ToolStrip ts = new ToolStrip ();
+			ts.Dock = DockStyle.Left;
+			
+			f.Controls.Add (ts);
+			f.Show ();
+			
+			Assert.AreEqual (ToolStripLayoutStyle.VerticalStackWithOverflow, ts.LayoutStyle, "A1");
+			Assert.AreEqual (Orientation.Vertical, ts.Orientation, "A2");
+
+			ts.LayoutStyle = ToolStripLayoutStyle.StackWithOverflow;
+			Assert.AreEqual (ToolStripLayoutStyle.VerticalStackWithOverflow, ts.LayoutStyle, "A3");
+			Assert.AreEqual (Orientation.Vertical, ts.Orientation, "A4");
+
+			ts.LayoutStyle = ToolStripLayoutStyle.HorizontalStackWithOverflow;
+			Assert.AreEqual (ToolStripLayoutStyle.HorizontalStackWithOverflow, ts.LayoutStyle, "A5");
+			Assert.AreEqual (Orientation.Horizontal, ts.Orientation, "A6");
+			
+			ts.LayoutStyle = ToolStripLayoutStyle.Flow;
+			Assert.AreEqual (ToolStripLayoutStyle.Flow, ts.LayoutStyle, "A7");
+			Assert.AreEqual (Orientation.Horizontal, ts.Orientation, "A8");
+
+			ts.LayoutStyle = ToolStripLayoutStyle.StackWithOverflow;
+			Assert.AreEqual (ToolStripLayoutStyle.VerticalStackWithOverflow, ts.LayoutStyle, "A9");
+			Assert.AreEqual (Orientation.Vertical, ts.Orientation, "A10");
+		}
+		
+		[Test]
+		public void MethodCreateLayoutSettings ()
+		{
+			ExposeProtectedProperties ts = new ExposeProtectedProperties ();
+
+			Assert.AreEqual ("System.Windows.Forms.FlowLayoutSettings", ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.Flow).ToString (), "A1");
+			Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.HorizontalStackWithOverflow), "A2");
+			Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.StackWithOverflow), "A3");
+			//Assert.AreEqual ("System.Windows.Forms.TableLayoutSettings", ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.Table).ToString (), "A4");
+			Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.VerticalStackWithOverflow), "A5");
+		}
+		
 		[Test]
 		public void TestToolStrip ()
 		{
@@ -676,6 +755,8 @@ namespace MonoTests.System.Windows.Forms
 						
 				return retval;
 			}
+			
+			public LayoutSettings PublicCreateLayoutSettings (ToolStripLayoutStyle layoutStyle) { return base.CreateLayoutSettings (layoutStyle); }
 		}
 	}
 }