2 // Copyright (c) 2005 Novell, Inc.
5 // Hisham Mardam Bey (hisham.mardambey@gmail.com)
10 using NUnit.Framework;
11 using System.Windows.Forms;
13 using System.Collections;
15 namespace MonoTests.System.Windows.Forms
18 public class LabelTest
21 public void LabelAccessibility ()
23 Label l = new Label ();
24 Assert.IsNotNull (l.AccessibilityObject, "1");
28 public void PreferredWidth ()
30 Label l = new Label();
32 // preferred width is 0 by default
33 Assert.AreEqual (0, l.PreferredWidth, "2");
35 // and after text is changed it's something else
37 Assert.IsTrue (l.PreferredWidth > 0, "3");
39 // now add it to a form and see
41 f.ShowInTaskbar = false;
46 Assert.AreEqual (0, l.PreferredWidth, "4");
49 Assert.IsTrue (l.PreferredWidth > 0, "5");
55 public void PreferredHeight ()
57 Label l = new Label();
58 Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 3), "#1");
60 l.BorderStyle = BorderStyle.None;
61 Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 3), "#2");
63 l.BorderStyle = BorderStyle.FixedSingle;
64 Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 6), "#3");
66 l.BorderStyle = BorderStyle.Fixed3D;
67 Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 6), "#4");
70 l.UseCompatibleTextRendering = false;
72 l.BorderStyle = BorderStyle.None;
73 Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#5");
75 l.BorderStyle = BorderStyle.FixedSingle;
76 Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#6");
78 l.BorderStyle = BorderStyle.Fixed3D;
79 Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#7");
84 public void SizesTest ()
86 Form myform = new Form ();
87 Label l1 = new Label (); l1.Text = "Test";
88 Label l2 = new Label (); l2.Text = "Test";
89 Label l3 = new Label (); l3.Text = "Test three";
90 Label l4 = new Label (); l4.Text = String.Format ("Test four{0}with line breaks", Environment.NewLine);
91 myform.Controls.Add (l1);
92 myform.Controls.Add (l2);
93 myform.Controls.Add (l3);
94 myform.Controls.Add (l4);
97 l2.Font = new Font (l1.Font.FontFamily, l1.Font.Size + 5, l1.Font.Style);
99 // Height: autosize = false
100 Assert.AreEqual (l1.Height, l2.Height, "#1");
101 Assert.AreEqual (l1.Height, l3.Height, "#2");
102 Assert.AreEqual (l1.Height, l4.Height, "#3");
104 // Width: autosize = false
105 Assert.AreEqual (l1.Width, l2.Width, "#4");
106 Assert.AreEqual (l1.Width, l3.Width, "#5");
107 Assert.AreEqual (l1.Width, l4.Width, "#6");
114 // Height: autosize = false
115 Assert.IsFalse (l1.Height.Equals (l2.Height), "#7");
116 Assert.IsTrue (l1.Height.Equals (l3.Height), "#8");
117 Assert.IsTrue (l1.Height.Equals (l4.Height), "#9");
119 // Width: autosize = false
120 Assert.IsFalse (l1.Width.Equals (l2.Width), "#10");
121 Assert.IsFalse (l1.Width.Equals (l3.Width), "#11");
127 public void StyleTest ()
129 Label l = new Label ();
131 Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#1");
132 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#2");
133 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#3");
135 l.BorderStyle = BorderStyle.None;
137 Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#4");
138 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#5");
139 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#6");
141 l.BorderStyle = BorderStyle.FixedSingle;
143 Assert.IsTrue (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#7");
144 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#8");
145 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#9");
147 l.BorderStyle = BorderStyle.Fixed3D;
149 Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#10");
150 Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#11");
151 Assert.IsTrue (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#12");
155 public void BoundsTest ()
157 Label l = new Label ();
159 Assert.AreEqual (new Rectangle (0,0,100,23), l.Bounds, "1");
160 Assert.AreEqual (new Rectangle (0,0,100,23), l.ClientRectangle, "2");
161 Assert.AreEqual (new Size (100,23), l.ClientSize, "3");
165 public void PubPropTest ()
167 Label l = new Label ();
169 Assert.IsFalse (l.AutoSize, "#3");
171 Assert.AreEqual ("Control", l.BackColor.Name , "#6");
172 Assert.IsNull (l.BackgroundImage, "#8");
173 Assert.AreEqual (BorderStyle.None , l.BorderStyle, "#9");
175 Assert.IsNull (l.Container, "#19");
176 Assert.IsFalse (l.ContainsFocus, "#20");
177 Assert.IsNull (l.ContextMenu, "#21");
178 Assert.IsFalse (l.Created, "#23");
179 Assert.AreEqual (Cursors.Default , l.Cursor, "#24");
181 Assert.IsNotNull (l.DataBindings, "#25");
182 Assert.AreEqual (DockStyle.None, l.Dock, "#28");
184 Assert.IsTrue (l.Enabled, "#29");
186 Assert.AreEqual (FlatStyle.Standard, l.FlatStyle, "#30");
187 Assert.IsFalse (l.Focused, "#31");
188 Assert.AreEqual (FontFamily.GenericSansSerif, l.Font.FontFamily, "#32");
189 Assert.AreEqual (SystemColors.ControlText, l.ForeColor, "#33");
191 Assert.IsFalse (l.HasChildren, "#35");
193 Assert.IsNull (l.Image, "#37");
194 Assert.AreEqual (ContentAlignment.MiddleCenter, l.ImageAlign, "#38");
195 Assert.AreEqual (-1, l.ImageIndex, "#39");
196 Assert.IsNull (l.ImageList, "#40");
197 Assert.IsFalse (l.InvokeRequired, "#42");
198 Assert.IsFalse (l.IsAccessible, "#43");
199 Assert.IsFalse (l.IsDisposed, "#44");
201 Assert.IsNull (l.Parent, "#49");
203 Assert.IsFalse (l.RecreatingHandle, "#54");
204 Assert.IsNull (l.Region, "#55");
205 Assert.AreEqual (RightToLeft.No, l.RightToLeft, "#57");
207 Assert.IsNull (l.Site, "#58");
209 Assert.AreEqual (0, l.TabIndex, "#60");
210 Assert.IsNull (l.Tag, "#61");
211 Assert.AreEqual ("", l.Text, "#62");
212 Assert.AreEqual (ContentAlignment.TopLeft, l.TextAlign, "#63");
213 Assert.IsNull (l.TopLevelControl, "#65");
215 Assert.IsTrue (l.UseMnemonic, "#66");
217 Assert.IsTrue (l.Visible, "#67");
221 public void LabelEqualsTest () {
222 Label s1 = new Label ();
223 Label s2 = new Label ();
226 Assert.IsFalse (s1.Equals (s2), "#69");
227 Assert.IsTrue (s1.Equals (s1), "#70");
231 public void LabelScaleTest () {
232 Label r1 = new Label ();
236 Assert.AreEqual (80, r1.Width, "#71");
237 Assert.AreEqual (40, r1.Height, "#72");
242 public void ToStringTest ()
244 Label l = new Label ();
248 Assert.AreEqual ("System.Windows.Forms.Label, Text: My Label", l.ToString (), "T1");
253 public class LabelEventTest
255 static bool eventhandled = false;
256 public void Label_EventHandler (object sender,EventArgs e)
261 public void Label_KeyDownEventHandler (object sender, KeyEventArgs e)
267 [Ignore ("AutoSize moved to Control in 2.0, Label.AutoSize needs to be reworked a bit.")]
270 public void AutoSizeChangedChangedTest ()
272 Form myform = new Form ();
273 myform.ShowInTaskbar = false;
274 myform.Visible = true;
275 Label l = new Label ();
277 myform.Controls.Add (l);
278 l.AutoSizeChanged += new EventHandler (Label_EventHandler);
280 Assert.AreEqual (true, eventhandled, "B4");
281 eventhandled = false;
286 public void BackgroundImageChangedTest ()
288 Form myform = new Form ();
289 myform.ShowInTaskbar = false;
290 myform.Visible = true;
291 Label l = new Label ();
293 myform.Controls.Add (l);
294 l.BackgroundImageChanged += new EventHandler (Label_EventHandler);
295 l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
296 Assert.AreEqual (true, eventhandled, "B4");
297 eventhandled = false;
302 public void ImeModeChangedTest ()
304 Form myform = new Form ();
305 myform.ShowInTaskbar = false;
306 myform.Visible = true;
307 Label l = new Label ();
309 myform.Controls.Add (l);
310 l.ImeModeChanged += new EventHandler (Label_EventHandler);
311 l.ImeMode = ImeMode.Katakana;
312 Assert.AreEqual (true, eventhandled, "I16");
313 eventhandled = false;
318 public void KeyDownTest ()
320 Form myform = new Form ();
321 myform.ShowInTaskbar = false;
322 myform.Visible = true;
323 MyLabel l = new MyLabel ();
325 myform.Controls.Add (l);
326 l.KeyDown += new KeyEventHandler (Label_KeyDownEventHandler);
329 Assert.AreEqual (true, eventhandled, "K1");
330 eventhandled = false;
335 public void TabStopChangedTest ()
337 Form myform = new Form ();
338 myform.ShowInTaskbar = false;
339 myform.Visible = true;
340 Label l = new Label ();
342 myform.Controls.Add (l);
343 l.TabStopChanged += new EventHandler (Label_EventHandler);
345 Assert.AreEqual (true, eventhandled, "T3");
346 eventhandled = false;
351 public void TextAlignChangedTest ()
353 Form myform = new Form ();
354 myform.ShowInTaskbar = false;
355 myform.Visible = true;
356 Label l = new Label ();
358 myform.Controls.Add (l);
359 l.TextAlignChanged += new EventHandler (Label_EventHandler);
360 l.TextAlign = ContentAlignment.TopRight;
361 Assert.AreEqual (true, eventhandled, "T4");
362 eventhandled = false;
367 public class MyLabelInvalidate : MyLabel
369 //protected ArrayList results = new ArrayList ();
370 public MyLabelInvalidate () : base ()
373 protected override void OnInvalidated (InvalidateEventArgs e)
375 base.OnInvalidated (e);
376 string res = (string)results [results.Count - 1];
377 results [results.Count - 1 ] = string.Concat (res, "," + e.InvalidRect.ToString ());
378 //results.Add ("OnInvalidate," + e.InvalidRect.ToString ());
381 //public ArrayList Results {
382 // get { return results; }
387 public class MyLabel : Label
389 protected ArrayList results = new ArrayList ();
390 public MyLabel () : base ()
393 protected override void OnAutoSizeChanged (EventArgs e)
395 results.Add ("OnAutoSizeChanged");
396 base.OnAutoSizeChanged (e);
399 protected override void OnBackgroundImageChanged (EventArgs e)
401 results.Add ("OnBackgroundImageChanged");
402 base.OnBackgroundImageChanged (e);
405 protected override void OnImeModeChanged (EventArgs e)
407 results.Add ("OnImeModeChanged");
408 base.OnImeModeChanged (e);
411 protected override void OnKeyDown (KeyEventArgs e)
413 results.Add ("OnKeyDown,"+(char)e.KeyValue);
417 protected override void OnKeyPress (KeyPressEventArgs e)
419 results.Add ("OnKeyPress,"+e.KeyChar.ToString ());
423 protected override void OnKeyUp (KeyEventArgs e)
425 results.Add ("OnKeyUp,"+(char)e.KeyValue);
429 protected override void OnHandleCreated (EventArgs e)
431 results.Add ("OnHandleCreated");
432 base.OnHandleCreated (e);
435 protected override void OnBindingContextChanged (EventArgs e)
437 results.Add ("OnBindingContextChanged");
438 base.OnBindingContextChanged (e);
441 protected override void OnInvalidated (InvalidateEventArgs e)
443 results.Add("OnInvalidated");
444 base.OnInvalidated (e);
447 protected override void OnResize (EventArgs e)
449 results.Add("OnResize");
453 protected override void OnSizeChanged (EventArgs e)
455 results.Add("OnSizeChanged");
456 base.OnSizeChanged (e);
459 protected override void OnLayout (LayoutEventArgs e)
461 results.Add("OnLayout");
465 protected override void OnVisibleChanged (EventArgs e)
467 results.Add("OnVisibleChanged");
468 base.OnVisibleChanged (e);
471 protected override void OnPaint (PaintEventArgs e)
473 results.Add("OnPaint");
477 public void KeyPressA()
483 m.Msg = (int)WndMsg.WM_KEYDOWN;
484 m.HWnd = this.Handle;
485 m.WParam = (IntPtr)0x41;
486 m.LParam = (IntPtr)0x1e0001;
489 m.Msg = (int)WndMsg.WM_CHAR;
490 m.HWnd = this.Handle;
491 m.WParam = (IntPtr)0x61;
492 m.LParam = (IntPtr)0x1e0001;
495 m.Msg = (int)WndMsg.WM_KEYUP;
496 m.HWnd = this.Handle;
497 m.WParam = (IntPtr)0x41;
498 m.LParam = (IntPtr)unchecked((int)0xC01e0001);
502 public void KeyDownA()
508 m.Msg = (int)WndMsg.WM_KEYDOWN;
509 m.HWnd = this.Handle;
510 m.WParam = (IntPtr)0x41;
511 m.LParam = (IntPtr)0x1e0001;
514 m.Msg = (int)WndMsg.WM_CHAR;
515 m.HWnd = this.Handle;
516 m.WParam = (IntPtr)0x61;
517 m.LParam = (IntPtr)0x1e0001;
527 m.Msg = (int)WndMsg.WM_KEYUP;
528 m.HWnd = this.Handle;
529 m.WParam = (IntPtr)0x41;
530 m.LParam = (IntPtr)unchecked((int)0xC01e0001);
534 public ArrayList Results {
535 get { return results; }
540 [Ignore("Comparisons too strict")]
541 public class LabelTestEventsOrder
543 public string [] ArrayListToString (ArrayList arrlist)
545 string [] retval = new string [arrlist.Count];
546 for (int i = 0; i < arrlist.Count; i++)
547 retval[i] = (string)arrlist[i];
551 //private void OrderedAssert(string[] wanted, ArrayList found) {
557 // for (int i = 0; i < wanted.Length; i++) {
559 // for (int j = last_target; j < found.Count; j++) {
560 // if (wanted[i] == (string)found[j]) {
562 // last_target = j + 1;
568 // Console.WriteLine("Needed {0}", wanted[i]);
573 public void PrintList(string name, ArrayList list) {
574 Console.WriteLine("{0}", name);
575 for (int i = 0; i < list.Count; i++) {
576 Console.WriteLine(" {0}", list[i]);
578 Console.WriteLine("");
583 public void CreateEventsOrder ()
585 string[] EventsWanted = {
587 "OnBindingContextChanged",
588 "OnBindingContextChanged"
590 Form myform = new Form ();
591 myform.ShowInTaskbar = false;
592 myform.Visible = true;
593 MyLabel l = new MyLabel ();
594 myform.Controls.Add (l);
596 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
601 public void SizeChangedEventsOrder ()
603 string[] EventsWanted = {
605 "OnBindingContextChanged",
606 "OnBindingContextChanged",
612 Form myform = new Form ();
613 myform.ShowInTaskbar = false;
614 myform.Visible = true;
615 MyLabel l = new MyLabel ();
616 myform.Controls.Add (l);
617 l.Size = new Size (150, 20);
619 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
624 public void AutoSizeChangedEventsOrder ()
626 string[] EventsWanted = {
628 "OnBindingContextChanged",
629 "OnBindingContextChanged",
636 Form myform = new Form ();
637 myform.ShowInTaskbar = false;
638 myform.Visible = true;
639 MyLabel l = new MyLabel ();
640 myform.Controls.Add (l);
643 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
648 public void BackgroundImageChangedEventsOrder ()
650 string[] EventsWanted = {
652 "OnBindingContextChanged",
653 "OnBindingContextChanged",
654 "OnBackgroundImageChanged",
657 Form myform = new Form ();
658 myform.ShowInTaskbar = false;
659 myform.Visible = true;
660 MyLabel l = new MyLabel ();
661 myform.Controls.Add (l);
662 l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
664 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
669 public void ImeModeChangedChangedEventsOrder ()
671 string[] EventsWanted = {
673 "OnBindingContextChanged",
674 "OnBindingContextChanged",
677 Form myform = new Form ();
678 myform.ShowInTaskbar = false;
679 myform.Visible = true;
680 MyLabel l = new MyLabel ();
681 myform.Controls.Add (l);
682 l.ImeMode = ImeMode.Katakana;
684 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
689 public void KeyPressEventsOrder ()
691 string[] EventsWanted = {
693 "OnBindingContextChanged",
694 "OnBindingContextChanged",
699 Form myform = new Form ();
700 myform.ShowInTaskbar = false;
701 myform.Visible = true;
702 MyLabel l = new MyLabel ();
703 myform.Controls.Add (l);
706 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
711 public void TabStopChangedEventsOrder ()
713 string[] EventsWanted = {
715 "OnBindingContextChanged",
716 "OnBindingContextChanged"
718 Form myform = new Form ();
719 myform.ShowInTaskbar = false;
720 myform.Visible = true;
721 MyLabel l = new MyLabel ();
722 myform.Controls.Add (l);
724 PrintList("TabStopChanged", l.Results);
725 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
730 public void TextAlignChangedEventsOrder ()
732 string[] EventsWanted = {
734 "OnBindingContextChanged",
735 "OnBindingContextChanged",
738 Form myform = new Form ();
739 myform.ShowInTaskbar = false;
740 myform.Visible = true;
741 MyLabel l = new MyLabel ();
742 myform.Controls.Add (l);
743 l.TextAlign = ContentAlignment.TopRight;
745 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
750 public void InvalidateEventsOrder ()
752 Rectangle rect = new Rectangle (new Point (0,0), new Size (2, 2));
754 Form myform = new Form ();
755 myform.ShowInTaskbar = false;
756 myform.Visible = true;
757 MyLabelInvalidate l = new MyLabelInvalidate ();
758 myform.Controls.Add (l);
759 l.TextAlign = ContentAlignment.TopRight;
761 string [] EventsWanted = {
763 "OnBindingContextChanged",
764 "OnBindingContextChanged",
765 "OnInvalidated,{X=0,Y=0,Width="+l.Size.Width+",Height="+l.Size.Height+"}",
766 "OnInvalidated," + rect.ToString ()
771 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
776 public void PaintEventsOrder ()
778 string[] EventsWanted = {
780 "OnBindingContextChanged",
781 "OnBindingContextChanged",
786 Form myform = new Form ();
787 myform.ShowInTaskbar = false;
788 myform.Visible = true;
789 MyLabel l = new MyLabel ();
790 myform.Controls.Add (l);
791 l.TextAlign = ContentAlignment.TopRight;
793 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
799 public class MyLabel2 : Label
801 protected ArrayList results = new ArrayList ();
802 public MyLabel2 () : base ()
804 this.AutoSizeChanged += new EventHandler (AutoSizeChanged_Handler);
805 this.HandleCreated += new EventHandler (HandleCreated_Handler);
806 this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
807 this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
808 this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
809 this.KeyDown += new KeyEventHandler (KeyDown_Handler);
810 this.KeyPress += new KeyPressEventHandler (KeyPress_Handler);
811 this.KeyUp += new KeyEventHandler (KeyUp_Handler);
812 this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
813 this.Resize += new EventHandler (Resize_Handler);
814 this.SizeChanged += new EventHandler (SizeChanged_Handler);
815 this.Layout += new LayoutEventHandler (Layout_Handler);
816 this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
817 this.Paint += new PaintEventHandler (Paint_Handler);
820 protected void AutoSizeChanged_Handler (object sender, EventArgs e)
822 results.Add ("AutoSizeChanged");
825 protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
827 results.Add ("BackgroundImageChanged");
830 protected void ImeModeChanged_Handler (object sender, EventArgs e)
832 results.Add ("ImeModeChanged");
835 protected void KeyDown_Handler (object sender, KeyEventArgs e)
837 results.Add ("KeyDown,"+(char)e.KeyValue);
840 protected void KeyPress_Handler (object sender, KeyPressEventArgs e)
842 results.Add ("KeyPress,"+e.KeyChar.ToString ());
845 protected void KeyUp_Handler (object sender, KeyEventArgs e)
847 results.Add ("KeyUp,"+(char)e.KeyValue);
850 protected void HandleCreated_Handler (object sender, EventArgs e)
852 results.Add ("HandleCreated");
855 protected void BindingContextChanged_Handler (object sender, EventArgs e)
857 results.Add ("BindingContextChanged");
860 protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
862 results.Add("Invalidated");
865 protected void Resize_Handler (object sender, EventArgs e)
867 results.Add("Resize");
870 protected void SizeChanged_Handler (object sender, EventArgs e)
872 results.Add("SizeChanged");
875 protected void Layout_Handler (object sender, LayoutEventArgs e)
877 results.Add("Layout");
880 protected void VisibleChanged_Handler (object sender, EventArgs e)
882 results.Add("VisibleChanged");
885 protected void Paint_Handler (object sender, PaintEventArgs e)
887 results.Add("Paint");
890 public void KeyPressA()
896 m.Msg = (int)WndMsg.WM_KEYDOWN;
897 m.HWnd = this.Handle;
898 m.WParam = (IntPtr)0x41;
899 m.LParam = (IntPtr)0x1e0001;
902 m.Msg = (int)WndMsg.WM_CHAR;
903 m.HWnd = this.Handle;
904 m.WParam = (IntPtr)0x61;
905 m.LParam = (IntPtr)0x1e0001;
908 m.Msg = (int)WndMsg.WM_KEYUP;
909 m.HWnd = this.Handle;
910 m.WParam = (IntPtr)0x41;
911 m.LParam = (IntPtr)unchecked((int)0xC01e0001);
915 public void KeyDownA()
921 m.Msg = (int)WndMsg.WM_KEYDOWN;
922 m.HWnd = this.Handle;
923 m.WParam = (IntPtr)0x41;
924 m.LParam = (IntPtr)0x1e0001;
927 m.Msg = (int)WndMsg.WM_CHAR;
928 m.HWnd = this.Handle;
929 m.WParam = (IntPtr)0x61;
930 m.LParam = (IntPtr)0x1e0001;
940 m.Msg = (int)WndMsg.WM_KEYUP;
941 m.HWnd = this.Handle;
942 m.WParam = (IntPtr)0x41;
943 m.LParam = (IntPtr)unchecked((int)0xC01e0001);
947 public ArrayList Results {
948 get { return results; }
953 [Ignore("Comparisons too strict")]
954 public class LabelTestEventsOrder2
956 public string [] ArrayListToString (ArrayList arrlist)
958 string [] retval = new string [arrlist.Count];
959 for (int i = 0; i < arrlist.Count; i++)
960 retval[i] = (string)arrlist[i];
965 public void CreateEventsOrder ()
967 string[] EventsWanted = {
969 "BindingContextChanged",
970 "BindingContextChanged"
972 Form myform = new Form ();
973 myform.ShowInTaskbar = false;
974 myform.Visible = true;
975 MyLabel2 l = new MyLabel2 ();
976 myform.Controls.Add (l);
978 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
983 public void SizeChangedEventsOrder ()
985 string[] EventsWanted = {
987 "BindingContextChanged",
988 "BindingContextChanged",
994 Form myform = new Form ();
995 myform.ShowInTaskbar = false;
996 myform.Visible = true;
997 MyLabel2 l = new MyLabel2 ();
998 myform.Controls.Add (l);
999 l.Size = new Size (150, 20);
1001 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1006 public void AutoSizeChangedEventsOrder ()
1008 string[] EventsWanted = {
1010 "BindingContextChanged",
1011 "BindingContextChanged",
1018 Form myform = new Form ();
1019 myform.ShowInTaskbar = false;
1020 myform.Visible = true;
1021 MyLabel2 l = new MyLabel2 ();
1022 myform.Controls.Add (l);
1025 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1030 public void BackgroundImageChangedEventsOrder ()
1032 string[] EventsWanted = {
1034 "BindingContextChanged",
1035 "BindingContextChanged",
1037 "BackgroundImageChanged"
1039 Form myform = new Form ();
1040 myform.ShowInTaskbar = false;
1041 myform.Visible = true;
1042 MyLabel2 l = new MyLabel2 ();
1043 myform.Controls.Add (l);
1044 l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
1046 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1051 public void ImeModeChangedChangedEventsOrder ()
1053 string[] EventsWanted = {
1055 "BindingContextChanged",
1056 "BindingContextChanged",
1059 Form myform = new Form ();
1060 myform.ShowInTaskbar = false;
1061 myform.Visible = true;
1062 MyLabel2 l = new MyLabel2 ();
1063 myform.Controls.Add (l);
1064 l.ImeMode = ImeMode.Katakana;
1066 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1071 public void KeyPressEventsOrder ()
1073 string[] EventsWanted = {
1075 "BindingContextChanged",
1076 "BindingContextChanged",
1081 Form myform = new Form ();
1082 myform.ShowInTaskbar = false;
1083 myform.Visible = true;
1084 MyLabel2 l = new MyLabel2 ();
1085 myform.Controls.Add (l);
1088 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1093 public void TabStopChangedEventsOrder ()
1095 string[] EventsWanted = {
1097 "BindingContextChanged",
1098 "BindingContextChanged"
1100 Form myform = new Form ();
1101 myform.ShowInTaskbar = false;
1102 myform.Visible = true;
1103 MyLabel2 l = new MyLabel2 ();
1104 myform.Controls.Add (l);
1107 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1112 public void TextAlignChangedEventsOrder ()
1114 string[] EventsWanted = {
1116 "BindingContextChanged",
1117 "BindingContextChanged",
1120 Form myform = new Form ();
1121 myform.ShowInTaskbar = false;
1122 myform.Visible = true;
1123 MyLabel2 l = new MyLabel2 ();
1124 myform.Controls.Add (l);
1125 l.TextAlign = ContentAlignment.TopRight;
1127 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
1132 public void PaintEventsOrder ()
1134 string[] EventsWanted = {
1136 "BindingContextChanged",
1137 "BindingContextChanged",
1142 Form myform = new Form ();
1143 myform.ShowInTaskbar = false;
1144 myform.Visible = true;
1145 MyLabel2 l = new MyLabel2 ();
1146 myform.Controls.Add (l);
1147 l.TextAlign = ContentAlignment.TopRight;
1149 Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));