ButtonTest.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. //
  2. // Copyright (c) 2005-2006 Novell, Inc.
  3. //
  4. // Authors:
  5. // Ritvik Mayank ([email protected])
  6. // Sebastien Pouliot <[email protected]>
  7. //
  8. using System;
  9. using System.Windows.Forms;
  10. using System.Drawing;
  11. using NUnit.Framework;
  12. namespace MonoTests.System.Windows.Forms
  13. {
  14. [TestFixture]
  15. public class ButtonTest
  16. {
  17. [Test]
  18. public void FlatStyleTest ()
  19. {
  20. Button B1 = new Button ();
  21. Assert.AreEqual (FlatStyle.Standard, B1.FlatStyle, "#1");
  22. }
  23. #if NET_2_0
  24. [Test]
  25. public void FlatButtonAppearanceTest ()
  26. {
  27. Button B1 = new Button ();
  28. FlatButtonAppearance flatApp = B1.FlatAppearance;
  29. Assert.AreEqual (Color.Empty, flatApp.BorderColor, "#A1");
  30. Assert.AreEqual (1, flatApp.BorderSize, "#A2");
  31. Assert.AreEqual (Color.Empty, flatApp.CheckedBackColor, "#A3");
  32. Assert.AreEqual (Color.Empty, flatApp.MouseDownBackColor, "#A4");
  33. Assert.AreEqual (Color.Empty, flatApp.MouseOverBackColor, "#A5");
  34. flatApp.BorderColor = Color.Blue;
  35. Assert.AreEqual (Color.Blue, flatApp.BorderColor, "#B1");
  36. flatApp.BorderSize = 10;
  37. Assert.AreEqual (10, flatApp.BorderSize, "#B2");
  38. flatApp.CheckedBackColor = Color.Blue;
  39. Assert.AreEqual (Color.Blue, flatApp.CheckedBackColor, "#B3");
  40. flatApp.MouseDownBackColor = Color.Blue;
  41. Assert.AreEqual (Color.Blue, flatApp.MouseDownBackColor, "#B4");
  42. flatApp.MouseOverBackColor = Color.Blue;
  43. Assert.AreEqual (Color.Blue, flatApp.MouseOverBackColor, "#B5");
  44. }
  45. [Test]
  46. [ExpectedException(typeof(ArgumentOutOfRangeException))]
  47. public void FlatButtonAppearanceExceptionTest ()
  48. {
  49. Button B1 = new Button ();
  50. FlatButtonAppearance flatApp = B1.FlatAppearance;
  51. flatApp.BorderSize = -1;
  52. }
  53. #endif
  54. [Test]
  55. public void ImageTest ()
  56. {
  57. Button B1 = new Button ();
  58. B1.Visible = true;
  59. B1.Image = Image.FromFile ("M.gif");
  60. Assert.AreEqual (ContentAlignment.MiddleCenter, B1.ImageAlign, "#2");
  61. }
  62. [Test]
  63. public void ImageListTest ()
  64. {
  65. Button B1 = new Button ();
  66. B1.Image = Image.FromFile ("M.gif");
  67. Assert.AreEqual (null, B1.ImageList, "#3a");
  68. B1 = new Button ();
  69. ImageList ImageList1 = new ImageList ();
  70. ImageList1.Images.Add(Image.FromFile ("M.gif"));
  71. ImageList1.Images.Add(Image.FromFile ("M.gif"));
  72. Assert.AreEqual (2, ImageList1.Images.Count, "#3b");
  73. B1.ImageList = ImageList1;
  74. Assert.AreEqual (-1, B1.ImageIndex, "#3c");
  75. B1 = new Button ();
  76. B1.ImageIndex = 1;
  77. B1.ImageList = ImageList1;
  78. Assert.AreEqual (1, B1.ImageIndex, "#3d");
  79. Assert.AreEqual (2, B1.ImageList.Images.Count, "#3e");
  80. Assert.AreEqual (16, B1.ImageList.ImageSize.Height, "#3f");
  81. Assert.AreEqual (16, B1.ImageList.ImageSize.Width, "#3g");
  82. }
  83. [Test]
  84. public void IMeModeTest ()
  85. {
  86. Button B1 = new Button ();
  87. Assert.AreEqual (ImeMode.Disable, B1.ImeMode, "#4a");
  88. B1.ImeMode = ImeMode.Off;
  89. Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4b");
  90. B1 = new Button ();
  91. Assert.AreEqual (ImeMode.Disable, ((Control)B1).ImeMode, "#4c");
  92. ((Control)B1).ImeMode = ImeMode.Off;
  93. Assert.AreEqual (ImeMode.Off, ((Control)B1).ImeMode, "#4d");
  94. Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4e");
  95. }
  96. [Test]
  97. public void TextAlignTest ()
  98. {
  99. Button B1 = new Button ();
  100. Assert.AreEqual (ContentAlignment.MiddleCenter, B1.TextAlign, "#5");
  101. }
  102. [Test]
  103. public void DialogResultTest ()
  104. {
  105. Form f = new Form ();
  106. f.ShowInTaskbar = false;
  107. Button B1 = new Button ();
  108. B1.Text = "DialogResult";
  109. B1.DialogResult = DialogResult.No;
  110. B1.TextAlign = ContentAlignment.BottomRight;
  111. B1.Visible = true;
  112. f.Controls.Add (B1);
  113. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#6");
  114. f.Dispose();
  115. // check cancel button behavior
  116. f = new Form ();
  117. f.ShowInTaskbar = false;
  118. B1 = new Button ();
  119. f.CancelButton = B1;
  120. f.Controls.Add (B1);
  121. Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#7");
  122. f.Dispose ();
  123. f = new Form ();
  124. f.ShowInTaskbar = false;
  125. B1 = new Button ();
  126. B1.DialogResult = DialogResult.No;
  127. f.CancelButton = B1;
  128. f.Controls.Add (B1);
  129. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#8");
  130. f.Dispose ();
  131. f = new Form ();
  132. f.ShowInTaskbar = false;
  133. B1 = new Button ();
  134. B1.DialogResult = DialogResult.No;
  135. B1.DialogResult = DialogResult.None;
  136. f.CancelButton = B1;
  137. f.Controls.Add (B1);
  138. Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#9");
  139. f.Dispose ();
  140. // check accept button behavior
  141. f = new Form ();
  142. f.ShowInTaskbar = false;
  143. B1 = new Button ();
  144. f.AcceptButton = B1;
  145. f.Controls.Add (B1);
  146. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#10");
  147. f.Dispose ();
  148. f = new Form ();
  149. f.ShowInTaskbar = false;
  150. B1 = new Button ();
  151. B1.DialogResult = DialogResult.No;
  152. f.AcceptButton = B1;
  153. f.Controls.Add (B1);
  154. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#11");
  155. f.Dispose ();
  156. f = new Form ();
  157. f.ShowInTaskbar = false;
  158. B1 = new Button ();
  159. B1.DialogResult = DialogResult.No;
  160. B1.DialogResult = DialogResult.None;
  161. f.AcceptButton = B1;
  162. f.Controls.Add (B1);
  163. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#12");
  164. f.Dispose ();
  165. }
  166. [Test]
  167. public void PerformClickTest ()
  168. {
  169. Form f = new Form ();
  170. f.ShowInTaskbar = false;
  171. Button B1 = new Button ();
  172. B1.Text = "DialogResult";
  173. B1.Visible = true;
  174. f.Controls.Add (B1);
  175. B1.PerformClick ();
  176. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#7");
  177. f.Dispose ();
  178. }
  179. [Test]
  180. public void ToStringTest ()
  181. {
  182. Button B1 = new Button ();
  183. Assert.AreEqual ("System.Windows.Forms.Button, Text: " , B1.ToString (), "#9");
  184. }
  185. }
  186. [TestFixture]
  187. public class ButtonInheritorTest : Button {
  188. [Test]
  189. public void DefaultImeModeTest ()
  190. {
  191. Assert.AreEqual (ImeMode.Disable, DefaultImeMode, "1");
  192. }
  193. [Test]
  194. [ExpectedException (typeof (ArgumentNullException))]
  195. public void Constructor_Null ()
  196. {
  197. new ButtonBaseAccessibleObject (null);
  198. }
  199. [Test]
  200. public void Constructor ()
  201. {
  202. ButtonBaseAccessibleObject bbao = new ButtonBaseAccessibleObject (this);
  203. Assert.IsNotNull (bbao.Owner, "Owner");
  204. Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
  205. Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
  206. Assert.IsNull (bbao.Description, "Description");
  207. Assert.IsNull (bbao.Help, "Help");
  208. Assert.IsNull (bbao.Name, "Name");
  209. Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
  210. Assert.AreEqual (AccessibleStates.None, bbao.State, "State");
  211. }
  212. [Test]
  213. public void CreateAccessibilityInstanceTest ()
  214. {
  215. AccessibleObject ao = base.CreateAccessibilityInstance ();
  216. Button.ButtonBaseAccessibleObject bbao = (ao as Button.ButtonBaseAccessibleObject);
  217. Assert.IsNotNull (bbao, "ButtonBaseAccessibleObject");
  218. Assert.IsNotNull (bbao.Owner, "Owner");
  219. Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
  220. Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
  221. Assert.IsNull (bbao.Description, "Description");
  222. Assert.IsNull (bbao.Help, "Help");
  223. Assert.IsNull (bbao.Name, "Name");
  224. Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
  225. Assert.AreEqual (AccessibleStates.None, bbao.State, "State");
  226. }
  227. }
  228. }