2 // ToolStripDropDownTests.cs
\r
4 // Permission is hereby granted, free of charge, to any person obtaining
\r
5 // a copy of this software and associated documentation files (the
\r
6 // "Software"), to deal in the Software without restriction, including
\r
7 // without limitation the rights to use, copy, modify, merge, publish,
\r
8 // distribute, sublicense, and/or sell copies of the Software, and to
\r
9 // permit persons to whom the Software is furnished to do so, subject to
\r
10 // the following conditions:
\r
12 // The above copyright notice and this permission notice shall be
\r
13 // included in all copies or substantial portions of the Software.
\r
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
\r
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
\r
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
\r
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
\r
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
\r
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
\r
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
23 // Copyright (c) 2007 Jonathan Pobst
\r
26 // Jonathan Pobst (monkey@jpobst.com)
\r
30 using System.Collections.Generic;
\r
32 using NUnit.Framework;
\r
33 using System.Drawing;
\r
34 using System.Windows.Forms;
\r
36 namespace MonoTests.System.Windows.Forms
\r
39 public class ToolStripDropDownTests : TestHelper
\r
42 public void Constructor ()
\r
44 ToolStripDropDown tsdd = new ToolStripDropDown ();
\r
46 Assert.AreEqual (false, tsdd.AllowTransparency, "A1");
\r
47 Assert.AreEqual (true, tsdd.AutoClose, "A2");
\r
48 Assert.AreEqual (false, tsdd.CanOverflow, "A3");
\r
49 Assert.AreEqual (ToolStripDropDownDirection.Right, tsdd.DefaultDropDownDirection, "A4");
\r
50 Assert.AreEqual (true, tsdd.DropShadowEnabled, "A5");
\r
51 Assert.AreEqual (false, tsdd.IsAutoGenerated, "A6");
\r
52 Assert.AreEqual (1, tsdd.Opacity, "A7");
\r
53 Assert.AreEqual (Orientation.Horizontal, tsdd.Orientation, "A7-2");
\r
54 Assert.AreEqual (null, tsdd.OwnerItem, "A8");
\r
55 Assert.AreEqual (null, tsdd.Region, "A9");
\r
56 Assert.AreEqual (RightToLeft.No, tsdd.RightToLeft, "A10");
\r
57 Assert.AreEqual (ToolStripTextDirection.Horizontal, tsdd.TextDirection, "A11");
\r
58 Assert.AreEqual (true, tsdd.TopLevel, "A12");
\r
59 Assert.AreEqual (false, tsdd.Visible, "A13");
\r
61 Assert.AreEqual ("System.Windows.Forms.ToolStripDropDown+ToolStripDropDownAccessibleObject", tsdd.AccessibilityObject.GetType ().ToString (), "A14");
\r
65 public void ProtectedProperties ()
\r
67 ExposeProtectedProperties epp = new ExposeProtectedProperties ();
\r
69 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_POPUP, (WindowStyles)epp.CreateParams.Style, "C1");
\r
70 // This makes no sense
\r
71 // Assert.AreEqual (WindowExStyles.WS_EX_CONTROLPARENT, (WindowExStyles)epp.CreateParams.ExStyle, "C2");
\r
72 Assert.AreEqual (DockStyle.None, epp.DefaultDock, "C3");
\r
73 Assert.AreEqual (new Padding (1, 2, 1, 2), epp.DefaultPadding, "C4");
\r
74 Assert.AreEqual (true, epp.DefaultShowItemToolTips, "C5");
\r
75 // Dependent on monitor resolution
\r
76 // Assert.AreEqual (new Size (1678, 1016), epp.MaxItemSize, "C6");
\r
77 Assert.AreEqual (true, epp.TopMost, "C7");
\r
81 public void MethodCreateLayoutSettings ()
\r
83 ExposeProtectedProperties ts = new ExposeProtectedProperties ();
\r
85 Assert.AreEqual ("System.Windows.Forms.FlowLayoutSettings", ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.Flow).ToString (), "A1");
\r
86 Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.HorizontalStackWithOverflow), "A2");
\r
87 Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.StackWithOverflow), "A3");
\r
88 //Assert.AreEqual ("System.Windows.Forms.TableLayoutSettings", ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.Table).ToString (), "A4");
\r
89 Assert.AreEqual (null, ts.PublicCreateLayoutSettings (ToolStripLayoutStyle.VerticalStackWithOverflow), "A5");
\r
93 //public void Accessibility ()
\r
95 // ToolStripSeparator tsi = new ToolStripSeparator ();
\r
96 // AccessibleObject ao = tsi.AccessibilityObject;
\r
98 // Assert.AreEqual ("ToolStripItemAccessibleObject: Owner = " + tsi.ToString (), ao.ToString (), "L");
\r
99 // Assert.AreEqual (Rectangle.Empty, ao.Bounds, "L1");
\r
100 // Assert.AreEqual ("Press", ao.DefaultAction, "L2");
\r
101 // Assert.AreEqual (null, ao.Description, "L3");
\r
102 // Assert.AreEqual (null, ao.Help, "L4");
\r
103 // Assert.AreEqual (string.Empty, ao.KeyboardShortcut, "L5");
\r
104 // Assert.AreEqual (string.Empty, ao.Name, "L6");
\r
105 // Assert.AreEqual (null, ao.Parent, "L7");
\r
106 // Assert.AreEqual (AccessibleRole.Separator, ao.Role, "L8");
\r
107 // Assert.AreEqual (AccessibleStates.None, ao.State, "L9");
\r
108 // Assert.AreEqual (string.Empty, ao.Value, "L10");
\r
110 // tsi.Name = "Label1";
\r
111 // tsi.Text = "Test Label";
\r
112 // tsi.AccessibleDescription = "Label Desc";
\r
114 // Assert.AreEqual (Rectangle.Empty, ao.Bounds, "L11");
\r
115 // Assert.AreEqual ("Press", ao.DefaultAction, "L12");
\r
116 // Assert.AreEqual ("Label Desc", ao.Description, "L13");
\r
117 // Assert.AreEqual (null, ao.Help, "L14");
\r
118 // Assert.AreEqual (string.Empty, ao.KeyboardShortcut, "L15");
\r
119 // Assert.AreEqual ("Test Label", ao.Name, "L16");
\r
120 // Assert.AreEqual (null, ao.Parent, "L17");
\r
121 // Assert.AreEqual (AccessibleRole.Separator, ao.Role, "L18");
\r
122 // Assert.AreEqual (AccessibleStates.None, ao.State, "L19");
\r
123 // Assert.AreEqual (string.Empty, ao.Value, "L20");
\r
125 // tsi.AccessibleName = "Access Label";
\r
126 // Assert.AreEqual ("Access Label", ao.Name, "L21");
\r
128 // tsi.Text = "Test Label";
\r
129 // Assert.AreEqual ("Access Label", ao.Name, "L22");
\r
131 // tsi.AccessibleDefaultActionDescription = "AAA";
\r
132 // Assert.AreEqual ("AAA", tsi.AccessibleDefaultActionDescription, "L23");
\r
135 private class ExposeProtectedProperties : ToolStripDropDown
\r
137 public new CreateParams CreateParams { get { return base.CreateParams; } }
\r
138 public new DockStyle DefaultDock { get { return base.DefaultDock; } }
\r
139 public new Padding DefaultPadding { get { return base.DefaultPadding; } }
\r
140 public new bool DefaultShowItemToolTips { get { return base.DefaultShowItemToolTips; } }
\r
141 public new Size MaxItemSize { get { return base.MaxItemSize; } }
\r
142 public new bool TopMost { get { return base.TopMost; } }
\r
143 public LayoutSettings PublicCreateLayoutSettings (ToolStripLayoutStyle style) { return base.CreateLayoutSettings (style); }
\r