2 // Copyright (c) 2005-2006 Novell, Inc.
5 // Ritvik Mayank (mritvik@novell.com)
6 // Sebastien Pouliot <sebastien@ximian.com>
10 using System.Windows.Forms;
12 using NUnit.Framework;
14 namespace MonoTests.System.Windows.Forms
17 public class ButtonTest
20 public void FlatStyleTest ()
22 Button B1 = new Button ();
23 Assert.AreEqual (FlatStyle.Standard, B1.FlatStyle, "#1");
27 public void FlatButtonAppearanceTest ()
29 Button B1 = new Button ();
30 FlatButtonAppearance flatApp = B1.FlatAppearance;
32 Assert.AreEqual (Color.Empty, flatApp.BorderColor, "#A1");
33 Assert.AreEqual (1, flatApp.BorderSize, "#A2");
34 Assert.AreEqual (Color.Empty, flatApp.CheckedBackColor, "#A3");
35 Assert.AreEqual (Color.Empty, flatApp.MouseDownBackColor, "#A4");
36 Assert.AreEqual (Color.Empty, flatApp.MouseOverBackColor, "#A5");
38 flatApp.BorderColor = Color.Blue;
39 Assert.AreEqual (Color.Blue, flatApp.BorderColor, "#B1");
40 flatApp.BorderSize = 10;
41 Assert.AreEqual (10, flatApp.BorderSize, "#B2");
42 flatApp.CheckedBackColor = Color.Blue;
43 Assert.AreEqual (Color.Blue, flatApp.CheckedBackColor, "#B3");
44 flatApp.MouseDownBackColor = Color.Blue;
45 Assert.AreEqual (Color.Blue, flatApp.MouseDownBackColor, "#B4");
46 flatApp.MouseOverBackColor = Color.Blue;
47 Assert.AreEqual (Color.Blue, flatApp.MouseOverBackColor, "#B5");
51 [ExpectedException(typeof(ArgumentOutOfRangeException))]
52 public void FlatButtonAppearanceExceptionTest ()
54 Button B1 = new Button ();
55 FlatButtonAppearance flatApp = B1.FlatAppearance;
57 flatApp.BorderSize = -1;
61 public void ImageTest ()
63 Button B1 = new Button ();
65 B1.Image = Image.FromFile ("M.gif");
66 Assert.AreEqual (ContentAlignment.MiddleCenter, B1.ImageAlign, "#2");
70 public void ImageListTest ()
72 Button B1 = new Button ();
73 B1.Image = Image.FromFile ("M.gif");
74 Assert.AreEqual (null, B1.ImageList, "#3a");
77 ImageList ImageList1 = new ImageList ();
78 ImageList1.Images.Add(Image.FromFile ("M.gif"));
79 ImageList1.Images.Add(Image.FromFile ("M.gif"));
80 Assert.AreEqual (2, ImageList1.Images.Count, "#3b");
81 B1.ImageList = ImageList1;
82 Assert.AreEqual (-1, B1.ImageIndex, "#3c");
87 B1.ImageList = ImageList1;
88 Assert.AreEqual (1, B1.ImageIndex, "#3d");
89 Assert.AreEqual (2, B1.ImageList.Images.Count, "#3e");
90 Assert.AreEqual (16, B1.ImageList.ImageSize.Height, "#3f");
91 Assert.AreEqual (16, B1.ImageList.ImageSize.Width, "#3g");
96 public void IMeModeTest ()
98 Button B1 = new Button ();
99 Assert.AreEqual (ImeMode.Disable, B1.ImeMode, "#4a");
100 B1.ImeMode = ImeMode.Off;
101 Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4b");
104 Assert.AreEqual (ImeMode.Disable, ((Control)B1).ImeMode, "#4c");
105 ((Control)B1).ImeMode = ImeMode.Off;
106 Assert.AreEqual (ImeMode.Off, ((Control)B1).ImeMode, "#4d");
107 Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4e");
111 public void TextAlignTest ()
113 Button B1 = new Button ();
114 Assert.AreEqual (ContentAlignment.MiddleCenter, B1.TextAlign, "#5");
118 public void DialogResultTest ()
120 Form f = new Form ();
121 f.ShowInTaskbar = false;
122 Button B1 = new Button ();
123 B1.Text = "DialogResult";
124 B1.DialogResult = DialogResult.No;
125 B1.TextAlign = ContentAlignment.BottomRight;
128 Assert.AreEqual (DialogResult.No, B1.DialogResult, "#6");
131 // check cancel button behavior
133 f.ShowInTaskbar = false;
137 Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#7");
141 f.ShowInTaskbar = false;
143 B1.DialogResult = DialogResult.No;
146 Assert.AreEqual (DialogResult.No, B1.DialogResult, "#8");
150 f.ShowInTaskbar = false;
152 B1.DialogResult = DialogResult.No;
153 B1.DialogResult = DialogResult.None;
156 Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#9");
159 // check accept button behavior
161 f.ShowInTaskbar = false;
165 Assert.AreEqual (DialogResult.None, B1.DialogResult, "#10");
169 f.ShowInTaskbar = false;
171 B1.DialogResult = DialogResult.No;
174 Assert.AreEqual (DialogResult.No, B1.DialogResult, "#11");
178 f.ShowInTaskbar = false;
180 B1.DialogResult = DialogResult.No;
181 B1.DialogResult = DialogResult.None;
184 Assert.AreEqual (DialogResult.None, B1.DialogResult, "#12");
189 public void PerformClickTest ()
191 Form f = new Form ();
192 f.ShowInTaskbar = false;
193 Button B1 = new Button ();
194 B1.Text = "DialogResult";
198 Assert.AreEqual (DialogResult.None, B1.DialogResult, "#7");
203 public void ToStringTest ()
205 Button B1 = new Button ();
206 Assert.AreEqual ("System.Windows.Forms.Button, Text: " , B1.ToString (), "#9");
211 public class ButtonInheritorTest : Button {
214 public void DefaultImeModeTest ()
216 Assert.AreEqual (ImeMode.Disable, DefaultImeMode, "1");
220 [ExpectedException (typeof (ArgumentNullException))]
221 public void Constructor_Null ()
223 new ButtonBaseAccessibleObject (null);
227 public void Constructor ()
229 ButtonBaseAccessibleObject bbao = new ButtonBaseAccessibleObject (this);
230 Assert.IsNotNull (bbao.Owner, "Owner");
231 Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
232 Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
233 Assert.IsNull (bbao.Description, "Description");
234 Assert.IsNull (bbao.Help, "Help");
235 Assert.IsNull (bbao.Name, "Name");
236 Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
237 Assert.AreEqual (AccessibleStates.None, bbao.State, "State");
241 public void CreateAccessibilityInstanceTest ()
243 AccessibleObject ao = base.CreateAccessibilityInstance ();
244 Button.ButtonBaseAccessibleObject bbao = (ao as Button.ButtonBaseAccessibleObject);
245 Assert.IsNotNull (bbao, "ButtonBaseAccessibleObject");
246 Assert.IsNotNull (bbao.Owner, "Owner");
247 Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
248 Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
249 Assert.IsNull (bbao.Description, "Description");
250 Assert.IsNull (bbao.Help, "Help");
251 Assert.IsNull (bbao.Name, "Name");
252 Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
253 Assert.AreEqual (AccessibleStates.None, bbao.State, "State");