ButtonTest.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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. [Test]
  24. public void ImageTest ()
  25. {
  26. Button B1 = new Button ();
  27. B1.Visible = true;
  28. B1.Image = Image.FromFile ("M.gif");
  29. Assert.AreEqual (ContentAlignment.MiddleCenter, B1.ImageAlign, "#2");
  30. }
  31. [Test]
  32. public void ImageListTest ()
  33. {
  34. Button B1 = new Button ();
  35. B1.Image = Image.FromFile ("M.gif");
  36. Assert.AreEqual (null, B1.ImageList, "#3a");
  37. B1 = new Button ();
  38. ImageList ImageList1 = new ImageList ();
  39. ImageList1.Images.Add(Image.FromFile ("M.gif"));
  40. ImageList1.Images.Add(Image.FromFile ("M.gif"));
  41. Assert.AreEqual (2, ImageList1.Images.Count, "#3b");
  42. B1.ImageList = ImageList1;
  43. Assert.AreEqual (-1, B1.ImageIndex, "#3c");
  44. B1 = new Button ();
  45. B1.ImageIndex = 1;
  46. B1.ImageList = ImageList1;
  47. Assert.AreEqual (1, B1.ImageIndex, "#3d");
  48. Assert.AreEqual (2, B1.ImageList.Images.Count, "#3e");
  49. Assert.AreEqual (16, B1.ImageList.ImageSize.Height, "#3f");
  50. Assert.AreEqual (16, B1.ImageList.ImageSize.Width, "#3g");
  51. }
  52. [Test]
  53. public void IMeModeTest ()
  54. {
  55. Button B1 = new Button ();
  56. Assert.AreEqual (ImeMode.Disable, B1.ImeMode, "#4a");
  57. B1.ImeMode = ImeMode.Off;
  58. Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4b");
  59. B1 = new Button ();
  60. Assert.AreEqual (ImeMode.Disable, ((Control)B1).ImeMode, "#4c");
  61. ((Control)B1).ImeMode = ImeMode.Off;
  62. Assert.AreEqual (ImeMode.Off, ((Control)B1).ImeMode, "#4d");
  63. Assert.AreEqual (ImeMode.Off, B1.ImeMode, "#4e");
  64. }
  65. [Test]
  66. public void TextAlignTest ()
  67. {
  68. Button B1 = new Button ();
  69. Assert.AreEqual (ContentAlignment.MiddleCenter, B1.TextAlign, "#5");
  70. }
  71. [Test]
  72. public void DialogResultTest ()
  73. {
  74. Form f = new Form ();
  75. f.ShowInTaskbar = false;
  76. Button B1 = new Button ();
  77. B1.Text = "DialogResult";
  78. B1.DialogResult = DialogResult.No;
  79. B1.TextAlign = ContentAlignment.BottomRight;
  80. B1.Visible = true;
  81. f.Controls.Add (B1);
  82. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#6");
  83. f.Dispose();
  84. // check cancel button behavior
  85. f = new Form ();
  86. f.ShowInTaskbar = false;
  87. B1 = new Button ();
  88. f.CancelButton = B1;
  89. f.Controls.Add (B1);
  90. Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#7");
  91. f.Dispose ();
  92. f = new Form ();
  93. f.ShowInTaskbar = false;
  94. B1 = new Button ();
  95. B1.DialogResult = DialogResult.No;
  96. f.CancelButton = B1;
  97. f.Controls.Add (B1);
  98. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#8");
  99. f.Dispose ();
  100. f = new Form ();
  101. f.ShowInTaskbar = false;
  102. B1 = new Button ();
  103. B1.DialogResult = DialogResult.No;
  104. B1.DialogResult = DialogResult.None;
  105. f.CancelButton = B1;
  106. f.Controls.Add (B1);
  107. Assert.AreEqual (DialogResult.Cancel, B1.DialogResult, "#9");
  108. f.Dispose ();
  109. // check accept button behavior
  110. f = new Form ();
  111. f.ShowInTaskbar = false;
  112. B1 = new Button ();
  113. f.AcceptButton = B1;
  114. f.Controls.Add (B1);
  115. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#10");
  116. f.Dispose ();
  117. f = new Form ();
  118. f.ShowInTaskbar = false;
  119. B1 = new Button ();
  120. B1.DialogResult = DialogResult.No;
  121. f.AcceptButton = B1;
  122. f.Controls.Add (B1);
  123. Assert.AreEqual (DialogResult.No, B1.DialogResult, "#11");
  124. f.Dispose ();
  125. f = new Form ();
  126. f.ShowInTaskbar = false;
  127. B1 = new Button ();
  128. B1.DialogResult = DialogResult.No;
  129. B1.DialogResult = DialogResult.None;
  130. f.AcceptButton = B1;
  131. f.Controls.Add (B1);
  132. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#12");
  133. f.Dispose ();
  134. }
  135. [Test]
  136. public void PerformClickTest ()
  137. {
  138. Form f = new Form ();
  139. f.ShowInTaskbar = false;
  140. Button B1 = new Button ();
  141. B1.Text = "DialogResult";
  142. B1.Visible = true;
  143. f.Controls.Add (B1);
  144. B1.PerformClick ();
  145. Assert.AreEqual (DialogResult.None, B1.DialogResult, "#7");
  146. f.Dispose ();
  147. }
  148. [Test]
  149. public void ToStringTest ()
  150. {
  151. Button B1 = new Button ();
  152. Assert.AreEqual ("System.Windows.Forms.Button, Text: " , B1.ToString (), "#9");
  153. }
  154. }
  155. [TestFixture]
  156. public class ButtonInheritorTest : Button {
  157. [Test]
  158. public void DefaultImeModeTest ()
  159. {
  160. Assert.AreEqual (ImeMode.Disable, DefaultImeMode, "1");
  161. }
  162. [Test]
  163. [ExpectedException (typeof (ArgumentNullException))]
  164. public void Constructor_Null ()
  165. {
  166. new ButtonBaseAccessibleObject (null);
  167. }
  168. [Test]
  169. public void Constructor ()
  170. {
  171. ButtonBaseAccessibleObject bbao = new ButtonBaseAccessibleObject (this);
  172. Assert.IsNotNull (bbao.Owner, "Owner");
  173. Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
  174. Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
  175. Assert.IsNull (bbao.Description, "Description");
  176. Assert.IsNull (bbao.Help, "Help");
  177. Assert.IsNull (bbao.Name, "Name");
  178. Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
  179. Assert.AreEqual (AccessibleStates.None, bbao.State, "State");
  180. }
  181. [Test]
  182. public void CreateAccessibilityInstanceTest ()
  183. {
  184. AccessibleObject ao = base.CreateAccessibilityInstance ();
  185. Button.ButtonBaseAccessibleObject bbao = (ao as Button.ButtonBaseAccessibleObject);
  186. Assert.IsNotNull (bbao, "ButtonBaseAccessibleObject");
  187. Assert.IsNotNull (bbao.Owner, "Owner");
  188. Assert.IsTrue (Object.ReferenceEquals (this, bbao.Owner), "ReferenceEquals");
  189. Assert.AreEqual ("Press", bbao.DefaultAction, "DefaultAction");
  190. Assert.IsNull (bbao.Description, "Description");
  191. Assert.IsNull (bbao.Help, "Help");
  192. Assert.IsNull (bbao.Name, "Name");
  193. Assert.AreEqual (AccessibleRole.PushButton, bbao.Role, "Role");
  194. Assert.AreEqual (AccessibleStates.None, bbao.State, "State");
  195. }
  196. }
  197. }