FormEventTest.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. //
  2. // Copyright (c) 2005 Novell, Inc.
  3. //
  4. // Authors:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. using System;
  8. using NUnit.Framework;
  9. using System.Windows.Forms;
  10. using System.Drawing;
  11. using System.Collections;
  12. using System.ComponentModel;
  13. using System.Threading;
  14. using System.Globalization;
  15. namespace MonoTests.System.Windows.Forms
  16. {
  17. [TestFixture]
  18. public class FormEvent
  19. {
  20. static bool eventhandled = false;
  21. public void New_EventHandler (object sender, EventArgs e)
  22. {
  23. eventhandled = true;
  24. }
  25. [Test, Ignore ("Manual Intervention")]
  26. public void ActivatedTest ()
  27. {
  28. Form myform = new Form ();
  29. myform.Activated += new EventHandler (New_EventHandler);
  30. myform.Activate ();
  31. myform.ShowDialog ();
  32. Assert.AreEqual (true, eventhandled, "#A1");
  33. }
  34. [Test, Ignore ("Manual Intervention")]
  35. public void ClosedTest ()
  36. {
  37. Form myform = new Form ();
  38. myform.Closed += new EventHandler (New_EventHandler);
  39. eventhandled = false;
  40. myform.Close ();
  41. myform.ShowDialog ();
  42. Assert.AreEqual (true, eventhandled, "#A2");
  43. }
  44. [Test, Ignore ("Manual Intervention")]
  45. public void DeactivateTest ()
  46. {
  47. Form myform = new Form ();
  48. myform.Deactivate += new EventHandler (New_EventHandler);
  49. eventhandled = false;
  50. myform.Close ();
  51. myform.Activate ();
  52. myform.ShowDialog ();
  53. Assert.AreEqual (true, eventhandled, "#A3");
  54. }
  55. [Test, Ignore ("Manual Intervention")]
  56. public void LoadTest ()
  57. {
  58. Form myform = new Form ();
  59. myform.Load += new EventHandler (New_EventHandler);
  60. eventhandled = false;
  61. myform.ShowDialog ();
  62. Assert.AreEqual (true, eventhandled, "#A4");
  63. myform.Dispose ();
  64. }
  65. class MyForm : Form
  66. {
  67. public void MaximizeBoundsTest ()
  68. {
  69. this.MaximizedBounds = new Rectangle (10,10,100,100);
  70. }
  71. }
  72. [Test]
  73. public void MaximizedBoundsChangedTest ()
  74. {
  75. MyForm myform = new MyForm ();
  76. myform.MaximizedBoundsChanged += new EventHandler (New_EventHandler);
  77. eventhandled = false;
  78. myform.MaximizeBoundsTest ();
  79. Assert.AreEqual (true, eventhandled, "#A5");
  80. myform.Dispose ();
  81. }
  82. [Test]
  83. public void MaximumSizeChangedTest ()
  84. {
  85. Form myform = new Form ();
  86. myform.MaximumSizeChanged += new EventHandler (New_EventHandler);
  87. eventhandled = false;
  88. myform.MaximumSize = new Size (500, 500);
  89. Assert.AreEqual (true, eventhandled, "#A6");
  90. myform.Dispose ();
  91. }
  92. [Test, Ignore ("Manual Intervention")]
  93. public void MdiChildActivateTest ()
  94. {
  95. Form parent = new Form ();
  96. Form child = new Form ();
  97. parent.IsMdiContainer = true;
  98. child.IsMdiContainer = false;
  99. child.MdiParent = parent;
  100. parent.MdiChildActivate += new EventHandler (New_EventHandler);
  101. eventhandled = false;
  102. using (parent)
  103. {
  104. child.Visible = true;
  105. parent.Show ();
  106. Assert.AreEqual (true, eventhandled, "#A7");
  107. eventhandled = false;
  108. child.Close ();
  109. Assert.AreEqual (true, eventhandled, "#A8");
  110. }
  111. }
  112. [Test]
  113. public void MinimumSizeChangedTest ()
  114. {
  115. Form myform = new Form ();
  116. myform.MinimumSizeChanged += new EventHandler (New_EventHandler);
  117. eventhandled = false;
  118. myform.MinimumSize = new Size(100, 100);
  119. Assert.AreEqual (true, eventhandled, "#A10");
  120. myform.Dispose ();
  121. }
  122. }
  123. [TestFixture]
  124. public class ClosingEvent
  125. {
  126. bool cancel = true;
  127. CancelEventArgs args = null;
  128. public void Closing_Handler (object sender, CancelEventArgs e)
  129. {
  130. e.Cancel = cancel;
  131. args = e;
  132. }
  133. [Test, Ignore ("visual test")]
  134. public void ClosingEventTest ()
  135. {
  136. Form myform = new Form ();
  137. myform.Closing += new CancelEventHandler (Closing_Handler);
  138. myform.Show ();
  139. args = null;
  140. myform.Close ();
  141. Assert.AreEqual (true, args != null, "#A11");
  142. Assert.AreEqual (true, myform.Visible, "#A12");
  143. cancel = false;
  144. args = null;
  145. myform.Close ();
  146. Assert.AreEqual (true, args != null, "#A13");
  147. Assert.AreEqual (false, myform.Visible, "#A14");
  148. }
  149. }
  150. [TestFixture,Ignore ("Test Breaks")]
  151. public class InputLanguageChangedEvent
  152. {
  153. static bool eventhandled = false;
  154. public void InputLanguage_Handler (object sender,InputLanguageChangedEventArgs e)
  155. {
  156. eventhandled = true;
  157. }
  158. [Test]
  159. public void InputLanguageChangedEventTest ()
  160. {
  161. Form myform = new Form ();
  162. CultureInfo oldci = Thread.CurrentThread.CurrentCulture;
  163. CultureInfo oldcui = Thread.CurrentThread.CurrentUICulture;
  164. InputLanguage oldil = InputLanguage.CurrentInputLanguage;
  165. try
  166. {
  167. if (InputLanguage.InstalledInputLanguages.Count > 1)
  168. {
  169. InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[0];
  170. myform.InputLanguageChanged += new InputLanguageChangedEventHandler (InputLanguage_Handler);
  171. Thread.CurrentThread.CurrentCulture = new CultureInfo ("ta-IN");
  172. Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
  173. InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1];
  174. Assert.AreEqual (true, eventhandled, "#A15");
  175. }
  176. }
  177. finally
  178. {
  179. Thread.CurrentThread.CurrentCulture = oldci;
  180. Thread.CurrentThread.CurrentUICulture = oldcui;
  181. InputLanguage.CurrentInputLanguage = oldil;
  182. }
  183. myform.Dispose ();
  184. }
  185. }
  186. [TestFixture,Ignore ("Test Breaks")]
  187. public class InputLanguageChangingdEvent
  188. {
  189. static bool eventhandled = false;
  190. public void InputLangChanging_Handler(object sender,InputLanguageChangingEventArgs e)
  191. {
  192. eventhandled = true;
  193. }
  194. [Test]
  195. public void InputLanguageChangingEventTest ()
  196. {
  197. Form myform = new Form ();
  198. CultureInfo oldci = Thread.CurrentThread.CurrentCulture;
  199. CultureInfo oldcui = Thread.CurrentThread.CurrentUICulture;
  200. InputLanguage oldil = InputLanguage.CurrentInputLanguage;
  201. try
  202. {
  203. if (InputLanguage.InstalledInputLanguages.Count > 1)
  204. {
  205. InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[0];
  206. myform.InputLanguageChanging += new InputLanguageChangingEventHandler (InputLangChanging_Handler);
  207. Thread.CurrentThread.CurrentCulture = new CultureInfo ("ta-IN");
  208. Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
  209. InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1];
  210. Assert.AreEqual (true, eventhandled, "#A16");
  211. }
  212. }
  213. finally
  214. {
  215. Thread.CurrentThread.CurrentCulture = oldci;
  216. Thread.CurrentThread.CurrentUICulture = oldcui;
  217. InputLanguage.CurrentInputLanguage = oldil;
  218. }
  219. myform.Dispose ();
  220. }
  221. }
  222. }