* attribute.cs (GetMarshal): Work even if "DefineCustom" is
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ControlEventTest.cs
1
2 using System;
3 using NUnit.Framework;
4 using System.Windows.Forms;
5 using System.Drawing;
6 using System.Threading;
7
8 namespace MonoTests.System.Windows.Forms
9 {
10         [TestFixture]
11         public class EventClass
12         {
13                 static bool eventhandled = false;
14                 public static void Event_Handler1 (object sender, EventArgs e)
15                 {
16                         eventhandled = true;
17                 }
18
19                 [Test]
20                 public void BackColorChangedTest ()
21                 {
22                         Control c = new Control ();
23                         // Test BackColorChanged Event
24                         c.BackColorChanged += new EventHandler (Event_Handler1);
25                         c.BackColor = Color.Black;
26                         Assert.AreEqual (true, eventhandled, "#A1");
27
28                 }
29
30                 [Test]
31                 public void BgrndImageChangedTest ()
32                 {
33                         Control c = new Control ();
34                         // Test BackgroundImageChanged Event
35                         c.BackgroundImageChanged += new EventHandler (Event_Handler1);
36                         string abc = "M.gif";
37                         eventhandled = false;
38                         c.BackgroundImage = Image.FromFile (abc);
39                         Assert.AreEqual (true, eventhandled, "#A2");
40                 }
41
42                 [Test]
43                 public void BindingContextChangedTest ()
44                 {
45                         Control c = new Control ();
46                         // Test BindingContextChanged Event
47                         c.BindingContextChanged += new EventHandler (Event_Handler1);
48                         BindingContext bcG1 = new BindingContext ();
49                         eventhandled = false;
50                         c.BindingContext = bcG1;
51                         Assert.AreEqual (true, eventhandled, "#A3");
52
53                 }
54
55                 [Test]
56                 public void CausesValidationChangedTest ()
57                 {
58                         Control c = new Control ();
59                         // Test CausesValidationChanged Event
60                         c.CausesValidationChanged += new EventHandler (Event_Handler1);
61                         eventhandled = false;
62                         c.CausesValidation = false;
63                         Assert.AreEqual (true, eventhandled, "#A4");
64
65                 }
66
67                 [Test]
68                 public void CursorChangedTest ()
69                 {
70                         Control c = new Control ();
71                         // Test CursorChanged Event
72                         c.CursorChanged += new EventHandler (Event_Handler1);
73                         eventhandled = false;
74                         c.Cursor = Cursors.Hand;
75                         Assert.AreEqual (true, eventhandled, "#A6");
76                 }
77
78                 [Test]
79                 public void DisposedTest ()
80                 {
81                         Control c = new Control ();
82                         // Test Disposed Event
83                         c.Disposed += new EventHandler (Event_Handler1);
84                         eventhandled = false;
85                         c.Dispose ();
86                         Assert.AreEqual (true, eventhandled, "#A7");
87                 }
88
89                 [Test]
90                 public void DockChangedTest ()
91                 {
92                         Control c = new Control ();
93                         // Test DockChanged Event
94                         c.DockChanged += new EventHandler (Event_Handler1);
95                         eventhandled = false;
96                         c.Dock = DockStyle.Bottom;
97                         Assert.AreEqual (true, eventhandled, "#A8");
98                 }
99
100                 [Test]
101                 public void EnabledChangedTest ()
102                 {
103                         Control c = new Control ();
104                         // Test EnabledChanged Event
105                         c.EnabledChanged += new EventHandler (Event_Handler1);
106                         eventhandled = false;
107                         c.Enabled = false;
108                         Assert.AreEqual (true, eventhandled, "#A9");
109                 }
110
111                 [Test]
112                 public void FontChangedTest ()
113                 {
114                         Control c = new Control ();
115                         // Test FontChanged Event
116                         c.FontChanged += new EventHandler (Event_Handler1);
117                         eventhandled = false;
118                         c.Font = new Font (c.Font, FontStyle.Bold);
119                         Assert.AreEqual (true, eventhandled, "#A11");
120                 }
121
122                 [Test]
123                 public void ForeColorChangedTest ()
124                 {
125                         Control c = new Control ();
126                         // Test ForeColorChanged Event
127                         c.ForeColorChanged += new EventHandler (Event_Handler1);
128                         eventhandled = false;
129                         c.ForeColor = Color.Red;
130                         Assert.AreEqual (true, eventhandled, "#A12");
131                 }
132
133                 [Test]
134                 public void HandleCreatedTest ()
135                 {
136                         Control c = new Control ();
137                         // Test HandleCreated Event
138                         c.HandleCreated += new EventHandler (Event_Handler1);
139                         eventhandled = false;
140                         c.Handle.GetType ();
141                         Assert.AreEqual (true, eventhandled, "#A15");
142                 }
143
144                 [Test]
145                 public void ImeModeChangedTest ()
146                 {
147                         Control c = new Control ();
148                         // Test ImeModeChanged Event
149                         c.ImeModeChanged += new EventHandler (Event_Handler1);
150                         eventhandled = false;
151                         c.ImeMode = ImeMode.Off;
152                         Assert.AreEqual (true, eventhandled, "#A19");
153                 }
154
155                 [Test]
156                 public void LocationChangedTest ()
157                 {
158                         Control c = new Control ();
159                         // Test LocationChanged Event
160                         c.LocationChanged += new EventHandler (Event_Handler1);
161                         eventhandled = false;
162                         c.Left = 20;
163                         Assert.AreEqual (true, eventhandled, "#A20");
164                 }
165
166                 [Test]
167                 public void ResizeTest ()
168                 {
169                         Control c = new Control ();
170                         // Test Resize Event
171                         c.Resize += new EventHandler (Event_Handler1);
172                         eventhandled = false;
173                         c.Height = 20;
174                         Assert.AreEqual (true, eventhandled, "#A22");
175                 }
176
177                 [Test]
178                 public void RightToLeftChangedTest ()
179                 {
180                         Control c = new Control ();
181                         // Test RightToLeftChanged Event
182                         c.RightToLeftChanged += new EventHandler (Event_Handler1);
183                         eventhandled = false;
184                         c.RightToLeft = RightToLeft.Yes;
185                         Assert.AreEqual (true, eventhandled, "#A23");
186                 }
187
188                 [Test]
189                 public void SizeChangedTest ()
190                 {
191                         Control c = new Control ();
192                         // Test SizeChanged Event
193                         c.SizeChanged += new EventHandler (Event_Handler1);
194                         eventhandled = false;
195                         c.Height = 80;
196                         Assert.AreEqual (true, eventhandled, "#A24");
197                 }
198
199                 [Test]
200                 public void TabIndexChangedTest ()
201                 {
202                         Control c = new Control ();
203                         // Test TabIndexChanged Event
204                         c.TabIndexChanged += new EventHandler (Event_Handler1);
205                         eventhandled = false;
206                         c.TabIndex = 1;
207                         Assert.AreEqual (true, eventhandled, "#A27");
208                 }
209
210                 [Test]
211                 public void TabStopChangedTest ()
212                 {
213                         Control c = new Control ();
214                         // Test TabStopChanged Event
215                         c.TabStopChanged += new EventHandler (Event_Handler1);
216                         eventhandled = false;
217                         c.TabStop = false;
218                         Assert.AreEqual (true, eventhandled, "#A28");
219                 }
220
221                 [Test]
222                 public void TextChangedTest ()
223                 {
224                         Control c = new Control ();
225                         // Test TextChanged Event
226                         c.TextChanged += new EventHandler (Event_Handler1);
227                         eventhandled = false;
228                         c.Text = "some Text";
229                         Assert.AreEqual (true, eventhandled, "#A29");
230                 }
231
232                 [Test]
233                 public void VisibleChangedTest ()
234                 {
235                         Control c = new Control ();
236                         // Test VisibleChanged Event
237                         c.VisibleChanged += new EventHandler (Event_Handler1);
238                         eventhandled = false;
239                         c.Visible = false;
240                         Assert.AreEqual (true, eventhandled, "#A30");
241                 }
242         }
243
244
245         [TestFixture]
246         public class LayoutEventClass
247         {
248                 static bool eventhandled = false;
249                 public static void LayoutEvent (object sender, LayoutEventArgs e)
250                 {
251                         eventhandled = true;
252                 }
253
254                 [Test]
255                 public void LayoutTest ()
256                 {
257                         Control c = new Control ();
258                         c.Layout += new LayoutEventHandler (LayoutEvent);
259                         eventhandled = false;
260                         c.Visible = true;
261                         c.Height = 100;
262                         Assert.AreEqual (true, eventhandled, "#D1");
263
264                 }
265         }
266
267         [TestFixture]
268         public class ControlAddRemoveEventClass
269         {
270                 static bool eventhandled = false;
271                 public static void ControlEvent (object sender, ControlEventArgs e)
272                 {
273                         eventhandled = true;
274                 }
275
276                 [Test]
277                 public void ControlAddedTest ()
278                 {
279                         Control c = new Control ();
280                         c.ControlAdded += new ControlEventHandler (ControlEvent);
281                         TextBox TB = new TextBox ();
282                         eventhandled = false;
283                         c.Controls.Add (TB);
284                         Assert.AreEqual (true, eventhandled, "#F1");
285                 }
286
287                 [Test]
288                 public void ControlRemovedTest ()
289                 {
290                         Control c = new Control ();
291                         c.ControlRemoved += new ControlEventHandler (ControlEvent);
292                         TextBox TB = new TextBox ();
293                         c.Controls.Add (TB);
294                         eventhandled = false;
295                         c.Controls.Remove (TB);
296                         Assert.AreEqual (true, eventhandled, "#F2");
297                 }
298         }
299 }