FormEventTest.cs 6.7 KB

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