2 // Copyright (c) 2005 Novell, Inc.
5 // Hisham Mardam Bey (hisham.mardambey@gmail.com)
6 // Ritvik Mayank (mritvik@novell.com)
11 using NUnit.Framework;
12 using System.Windows.Forms;
14 using System.Collections;
16 namespace MonoTests.System.Windows.Forms
19 public class MyScrollBar : HScrollBar
21 private ArrayList results = new ArrayList ();
22 public MyScrollBar () : base ()
25 protected override void OnBackColorChanged (EventArgs e)
27 results.Add ("OnBackColorChanged");
28 base.OnBackColorChanged (e);
31 protected override void OnBackgroundImageChanged (EventArgs e)
33 results.Add ("OnBackgroundImageChanged");
34 base.OnBackgroundImageChanged (e);
37 protected override void OnClick (EventArgs e)
39 results.Add ("OnClick");
43 protected override void OnDoubleClick (EventArgs e)
45 results.Add ("OnDoubleClick");
46 base.OnDoubleClick (e);
49 protected override void OnFontChanged (EventArgs e)
51 results.Add ("OnFontChanged");
52 base.OnFontChanged (e);
55 protected override void OnForeColorChanged (EventArgs e)
57 results.Add ("OnForeColorChanged");
58 base.OnForeColorChanged (e);
61 protected override void OnImeModeChanged (EventArgs e)
63 results.Add ("OnImeModeChanged");
64 base.OnImeModeChanged (e);
67 protected override void OnMouseDown (MouseEventArgs e)
69 results.Add ("OnMouseDown");
73 protected override void OnMouseMove (MouseEventArgs e)
75 results.Add ("OnMouseMove");
79 protected override void OnMouseEnter (EventArgs e)
81 results.Add ("OnMouseEnter");
82 base.OnMouseEnter (e);
85 protected override void OnMouseLeave (EventArgs e)
87 results.Add ("OnMouseLeave");
88 base.OnMouseLeave (e);
91 protected override void OnMouseHover (EventArgs e)
93 results.Add ("OnMouseHover");
94 base.OnMouseHover (e);
97 protected override void OnMouseUp (MouseEventArgs e)
99 results.Add ("OnMouseUp");
103 protected override void OnHandleCreated (EventArgs e)
105 results.Add ("OnHandleCreated");
106 base.OnHandleCreated (e);
109 protected override void OnBindingContextChanged (EventArgs e)
111 results.Add ("OnBindingContextChanged");
112 base.OnBindingContextChanged (e);
115 protected override void OnInvalidated (InvalidateEventArgs e)
117 results.Add("OnInvalidated");
118 base.OnInvalidated (e);
121 protected override void OnResize (EventArgs e)
123 results.Add("OnResize");
127 protected override void OnSizeChanged (EventArgs e)
129 results.Add("OnSizeChanged");
130 base.OnSizeChanged (e);
133 protected override void OnLayout (LayoutEventArgs e)
135 results.Add("OnLayout");
139 protected override void OnVisibleChanged (EventArgs e)
141 results.Add("OnVisibleChanged");
142 base.OnVisibleChanged (e);
145 protected override void OnScroll (ScrollEventArgs e)
147 results.Add("OnScroll");
151 protected override void OnTextChanged (EventArgs e)
153 results.Add("OnTextChanged");
154 base.OnTextChanged (e);
157 protected override void OnValueChanged (EventArgs e)
159 results.Add("OnValueChanged");
160 base.OnValueChanged (e);
163 protected override void OnPaint (PaintEventArgs e)
165 results.Add("OnPaint");
169 public ArrayList Results {
170 get { return results; }
173 public void MoveMouse ()
179 m.Msg = (int)WndMsg.WM_NCHITTEST;
180 m.HWnd = this.Handle;
181 m.WParam = (IntPtr)0x0;
182 m.LParam = (IntPtr)0x1c604ea;
185 m.Msg = (int)WndMsg.WM_SETCURSOR;
186 m.HWnd = this.Handle;
187 m.WParam = (IntPtr)0x100448;
188 m.LParam = (IntPtr)0x2000001;
191 m.Msg = (int)WndMsg.WM_MOUSEFIRST;
192 m.HWnd = this.Handle;
193 m.WParam = (IntPtr)0x0;
194 m.LParam = (IntPtr)0x14000b;
197 m.Msg = (int)WndMsg.WM_MOUSEHOVER;
198 m.HWnd = this.Handle;
199 m.WParam = (IntPtr)0x0;
200 m.LParam = (IntPtr)0x14000b;
204 public void MouseClick()
211 m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
212 m.HWnd = this.Handle;
213 m.WParam = (IntPtr)0x01;
214 m.LParam = (IntPtr)0x9004f;
219 m.Msg = (int)WndMsg.WM_LBUTTONUP;
220 m.HWnd = this.Handle;
221 m.WParam = (IntPtr)0x01;
222 m.LParam = (IntPtr)0x9004f;
226 public void MouseDoubleClick ()
231 public void MouseRightDown()
237 m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
238 m.HWnd = this.Handle;
239 m.WParam = (IntPtr)0x01;
240 m.LParam = (IntPtr)0x9004f;
244 public void MouseRightUp()
250 m.Msg = (int)WndMsg.WM_RBUTTONUP;
251 m.HWnd = this.Handle;
252 m.WParam = (IntPtr)0x01;
253 m.LParam = (IntPtr)0x9004f;
257 public void ScrollNow ()
264 m.HWnd = this.Handle;
265 m.WParam = (IntPtr)0x1;
266 m.LParam = (IntPtr)0x1a051a;
270 m.HWnd = this.Handle;
271 m.WParam = (IntPtr)0x1;
272 m.LParam = (IntPtr)0x12eb34;
277 public class ScrollbarTest
280 public void PubPropTest ()
282 MyScrollBar myscrlbar = new MyScrollBar ();
285 myscrlbar.BackColor = Color.Red;
286 Assert.AreEqual (255, myscrlbar.BackColor.R, "B2");
287 myscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
288 Assert.AreEqual (16, myscrlbar.BackgroundImage.Height, "B3");
291 Assert.AreEqual ("ControlText", myscrlbar.ForeColor.Name, "F1");
294 //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1");
297 Assert.AreEqual (10, myscrlbar.LargeChange, "L1");
300 Assert.AreEqual (100, myscrlbar.Maximum, "M1");
301 Assert.AreEqual (0, myscrlbar.Minimum, "M2");
302 myscrlbar.Maximum = 300;
303 myscrlbar.Minimum = 100;
304 Assert.AreEqual (300, myscrlbar.Maximum, "M3");
305 Assert.AreEqual (100, myscrlbar.Minimum, "M4");
308 Assert.AreEqual (null, myscrlbar.Site, "S1");
309 Assert.AreEqual (1, myscrlbar.SmallChange, "S2");
310 myscrlbar.SmallChange = 10;
311 Assert.AreEqual (10, myscrlbar.SmallChange, "S3");
314 Assert.AreEqual (false, myscrlbar.TabStop, "T1");
315 myscrlbar.TabStop = true;
316 Assert.AreEqual (true, myscrlbar.TabStop, "T2");
317 Assert.AreEqual ("", myscrlbar.Text, "T3");
318 myscrlbar.Text = "MONO SCROLLBAR";
319 Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "T4");
322 Assert.AreEqual (100, myscrlbar.Value, "V1");
323 myscrlbar.Value = 150;
324 Assert.AreEqual (150, myscrlbar.Value, "V2");
328 [ExpectedException (typeof (ArgumentException))]
329 public void ExceptionValueTest ()
331 MyScrollBar myscrlbar = new MyScrollBar ();
332 myscrlbar.Minimum = 10;
333 myscrlbar.Maximum = 20;
335 myscrlbar.Value = 21;
339 [ExpectedException (typeof (ArgumentException))]
340 public void ExceptionSmallChangeTest ()
342 MyScrollBar myscrlbar = new MyScrollBar ();
343 myscrlbar.SmallChange = -1;
347 [ExpectedException (typeof (ArgumentException))]
348 public void ExceptionLargeChangeTest ()
350 MyScrollBar myscrlbar = new MyScrollBar ();
351 myscrlbar.LargeChange = -1;
354 [Test, Ignore ("Look into this")]
355 public void PubMethodTest ()
357 MyScrollBar myscrlbar = new MyScrollBar ();
358 myscrlbar.Text = "New HScrollBar";
359 Assert.AreEqual ("System.Windows.Forms.HScrollBar, Minimum: 0, Maximum: 100, Value: 0",
360 myscrlbar.ToString (), "T5");
365 public class ScrollBarEventTest
367 static bool eventhandled = false;
368 public void ScrollBar_EventHandler (object sender,EventArgs e)
373 public void ScrollBarMouse_EventHandler (object sender,MouseEventArgs e)
378 public void ScrollBarScroll_EventHandler (object sender,ScrollEventArgs e)
383 public void ScrollBarPaint_EventHandler (object sender,PaintEventArgs e)
389 public void BackColorChangedTest ()
391 Form myform = new Form ();
392 myform.Visible = true;
393 ScrollBar myHscrlbar = new HScrollBar ();
394 myform.Controls.Add (myHscrlbar);
395 myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler);
396 myHscrlbar.BackColor = Color.Red;
397 Assert.AreEqual (true, eventhandled, "B4");
398 eventhandled = false;
402 public void BackgroundImageChangedTest ()
404 Form myform = new Form ();
405 myform.Visible = true;
406 ScrollBar myHscrlbar = new HScrollBar ();
407 myform.Controls.Add (myHscrlbar);
408 myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler);
409 myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
410 Assert.AreEqual (true, eventhandled, "B5");
411 eventhandled = false;
414 [Test, Ignore ("Need to send proper Click / DoubleClick")]
415 public void ClickTest ()
417 Form myform = new Form ();
418 myform.Visible = true;
419 MyScrollBar myHscrlbar = new MyScrollBar ();
420 myform.Controls.Add (myHscrlbar);
421 myHscrlbar.Click += new EventHandler (ScrollBar_EventHandler);
422 myHscrlbar.MouseClick ();
424 Assert.AreEqual (false, eventhandled, "C1");
427 [Test, Ignore ("Need to send proper Click / DoubleClick")]
428 public void DoubleClickTest ()
430 Form myform = new Form ();
431 myform.Visible = true;
432 MyScrollBar myHscrlbar = new MyScrollBar ();
433 myform.Controls.Add (myHscrlbar);
434 myHscrlbar.DoubleClick += new EventHandler (ScrollBar_EventHandler);
435 myHscrlbar.MouseDoubleClick ();
437 Assert.AreEqual (false, eventhandled, "D1");
441 public void FontChangedTest ()
443 Form myform = new Form ();
444 myform.Visible = true;
445 ScrollBar myHscrlbar = new HScrollBar ();
446 myform.Controls.Add (myHscrlbar);
447 myHscrlbar.Font = new Font (FontFamily.GenericMonospace, 10);
448 myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler);
449 FontDialog myFontDialog = new FontDialog();
450 myHscrlbar.Font = myFontDialog.Font;
451 Assert.AreEqual (true, eventhandled, "F2");
452 eventhandled = false;
456 public void ForeColorChangedTest ()
458 Form myform = new Form ();
459 myform.Visible = true;
460 ScrollBar myHscrlbar = new HScrollBar ();
461 myform.Controls.Add (myHscrlbar);
462 myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler);
463 myHscrlbar.ForeColor = Color.Azure;
464 Assert.AreEqual (true, eventhandled, "F3");
465 eventhandled = false;
469 public void ImeModehangedTest ()
471 Form myform = new Form ();
472 myform.Visible = true;
473 ScrollBar myHscrlbar = new HScrollBar ();
474 myform.Controls.Add (myHscrlbar);
475 myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler);
476 myHscrlbar.ImeMode = ImeMode.Katakana;
477 Assert.AreEqual (true, eventhandled, "I2");
478 eventhandled = false;
482 public void MouseDownTest ()
484 Form myform = new Form ();
485 myform.Visible = true;
486 MyScrollBar myHscrlbar = new MyScrollBar ();
487 myform.Controls.Add (myHscrlbar);
488 myHscrlbar.MouseDown += new MouseEventHandler (ScrollBarMouse_EventHandler);
489 myHscrlbar.MouseRightDown ();
491 Assert.AreEqual (true, eventhandled, "M5");
492 eventhandled = false;
496 public void MouseMoveTest ()
498 Form myform = new Form ();
499 myform.Visible = true;
500 MyScrollBar myHscrlbar = new MyScrollBar ();
501 myform.Controls.Add (myHscrlbar);
502 myHscrlbar.MouseMove += new MouseEventHandler (ScrollBarMouse_EventHandler);
503 myHscrlbar.MoveMouse ();
505 Assert.AreEqual (true, eventhandled, "M6");
506 eventhandled = false;
510 public void MouseUpTest ()
512 Form myform = new Form ();
513 myform.Visible = true;
514 MyScrollBar myHscrlbar = new MyScrollBar ();
515 myform.Controls.Add (myHscrlbar);
516 myHscrlbar.MouseUp += new MouseEventHandler (ScrollBarMouse_EventHandler);
517 myHscrlbar.MouseRightUp ();
519 Assert.AreEqual (true, eventhandled, "M7");
520 eventhandled = false;
523 [Test, Ignore ("How can we force it to pain?")]
524 public void PaintTest ()
526 Form myform = new Form ();
527 myform.Visible = true;
528 MyScrollBar myHscrlbar = new MyScrollBar ();
529 myform.Controls.Add (myHscrlbar);
530 myHscrlbar.Paint += new PaintEventHandler (ScrollBarPaint_EventHandler);
532 myHscrlbar.Refresh ();
534 Assert.AreEqual (true, eventhandled, "P1");
535 eventhandled = false;
539 public void ScrollTest ()
541 Form myform = new Form ();
542 myform.Visible = true;
543 MyScrollBar myHscrlbar = new MyScrollBar ();
544 myform.Controls.Add (myHscrlbar);
545 myHscrlbar.Scroll += new ScrollEventHandler (ScrollBarScroll_EventHandler);
546 myHscrlbar.ScrollNow ();
548 Assert.AreEqual (true, eventhandled, "S4");
549 eventhandled = false;
553 public void TextChangedTest ()
555 Form myform = new Form ();
556 myform.Visible = true;
557 MyScrollBar myHscrlbar = new MyScrollBar ();
558 myform.Controls.Add (myHscrlbar);
559 myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler);
560 myHscrlbar.Text = "foo";
562 Assert.AreEqual (true, eventhandled, "T6");
563 eventhandled = false;
567 public void ValueChangeTest ()
569 Form myform = new Form ();
570 myform.Visible = true;
571 MyScrollBar myHscrlbar = new MyScrollBar ();
572 myform.Controls.Add (myHscrlbar);
573 myHscrlbar.Value = 40 ;
574 myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler);
575 myHscrlbar.Value = 50 ;
576 Assert.AreEqual (true, eventhandled, "V3");
577 eventhandled = false;
581 public class MyHScrollBar : HScrollBar
583 public MyHScrollBar () : base ()
587 public Size MyDefaultSize {
588 get { return DefaultSize; }
591 public CreateParams MyCreateParams {
592 get { return CreateParams; }
597 public class MyHScrollBarTest
600 public void ProtectedTest ()
602 MyHScrollBar msbar = new MyHScrollBar ();
604 Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
605 // this is environment dependent.
606 //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2");
610 public class MyVScrollBar : VScrollBar
612 public MyVScrollBar () : base ()
616 public Size MyDefaultSize {
617 get { return DefaultSize; }
620 public CreateParams MyCreateParams {
621 get { return CreateParams; }
626 public class MyVScrollBarTest
629 public void PubMethodTest ()
631 MyVScrollBar msbar = new MyVScrollBar ();
633 Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
638 public void ProtMethodTest ()
640 MyVScrollBar msbar = new MyVScrollBar ();
642 // This is environment dependent.
643 //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3");
644 Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
649 [Ignore("Tests too strict")]
650 public class HScrollBarTestEventsOrder
652 public string [] ArrayListToString (ArrayList arrlist)
654 string [] retval = new string [arrlist.Count];
655 for (int i = 0; i < arrlist.Count; i++)
656 retval[i] = (string)arrlist[i];
661 public void CreateEventsOrder ()
663 string[] EventsWanted = {
665 "OnBindingContextChanged",
666 "OnBindingContextChanged"
668 Form myform = new Form ();
669 myform.Visible = true;
670 MyScrollBar s = new MyScrollBar ();
671 myform.Controls.Add (s);
673 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
677 public void BackColorChangedEventsOrder ()
679 string[] EventsWanted = {
681 "OnBindingContextChanged",
682 "OnBindingContextChanged",
683 "OnBackColorChanged",
686 Form myform = new Form ();
687 myform.Visible = true;
688 MyScrollBar s = new MyScrollBar ();
689 myform.Controls.Add (s);
690 s.BackColor = Color.Aqua;
692 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
696 public void BackgroundImageChangedEventsOrder ()
698 string[] EventsWanted = {
700 "OnBindingContextChanged",
701 "OnBindingContextChanged",
702 "OnBackgroundImageChanged",
705 Form myform = new Form ();
706 myform.Visible = true;
707 MyScrollBar s = new MyScrollBar ();
708 myform.Controls.Add (s);
709 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
711 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
714 [Test, Ignore ("Need to send proper Click / DoubleClick")]
715 public void ClickEventsOrder ()
717 string[] EventsWanted = {
719 "OnBindingContextChanged",
720 "OnBindingContextChanged"
722 Form myform = new Form ();
723 myform.Visible = true;
724 MyScrollBar s = new MyScrollBar ();
725 myform.Controls.Add (s);
728 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
731 [Test, Ignore ("Need to send proper Click / DoubleClick")]
732 public void DoubleClickEventsOrder ()
734 string[] EventsWanted = {
736 "OnBindingContextChanged",
737 "OnBindingContextChanged"
739 Form myform = new Form ();
740 myform.Visible = true;
741 MyScrollBar s = new MyScrollBar ();
742 myform.Controls.Add (s);
743 s.MouseDoubleClick ();
745 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
749 public void FontChangedEventsOrder ()
751 string[] EventsWanted = {
753 "OnBindingContextChanged",
754 "OnBindingContextChanged"
756 Form myform = new Form ();
757 myform.Visible = true;
758 MyScrollBar s = new MyScrollBar ();
759 myform.Controls.Add (s);
760 FontDialog myFontDialog = new FontDialog();
761 s.Font = myFontDialog.Font;
763 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
767 public void ForeColorChangedEventsOrder ()
769 string[] EventsWanted = {
771 "OnBindingContextChanged",
772 "OnBindingContextChanged",
773 "OnForeColorChanged",
776 Form myform = new Form ();
777 myform.Visible = true;
778 MyScrollBar s = new MyScrollBar ();
779 myform.Controls.Add (s);
780 s.ForeColor = Color.Aqua;
782 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
786 public void ImeModeChangedChangedEventsOrder ()
788 string[] EventsWanted = {
790 "OnBindingContextChanged",
791 "OnBindingContextChanged",
794 Form myform = new Form ();
795 myform.Visible = true;
796 MyScrollBar s = new MyScrollBar ();
797 myform.Controls.Add (s);
798 s.ImeMode = ImeMode.Katakana;
800 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
804 public void MouseDownEventsOrder ()
806 string[] EventsWanted = {
808 "OnBindingContextChanged",
809 "OnBindingContextChanged",
812 Form myform = new Form ();
813 myform.Visible = true;
814 MyScrollBar s = new MyScrollBar ();
815 myform.Controls.Add (s);
818 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
822 public void MouseMoveEventsOrder ()
824 string[] EventsWanted = {
826 "OnBindingContextChanged",
827 "OnBindingContextChanged",
831 Form myform = new Form ();
832 myform.Visible = true;
833 MyScrollBar s = new MyScrollBar ();
834 myform.Controls.Add (s);
837 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
841 public void MouseUpEventsOrder ()
843 string[] EventsWanted = {
845 "OnBindingContextChanged",
846 "OnBindingContextChanged",
849 Form myform = new Form ();
850 myform.Visible = true;
851 MyScrollBar s = new MyScrollBar ();
852 myform.Controls.Add (s);
855 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
859 public void PaintEventsOrder ()
861 string[] EventsWanted = {
863 "OnBindingContextChanged",
864 "OnBindingContextChanged",
867 Form myform = new Form ();
868 myform.Visible = true;
869 MyScrollBar s = new MyScrollBar ();
870 myform.Controls.Add (s);
873 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
877 public void ScrollEventsOrder ()
879 string[] EventsWanted = {
881 "OnBindingContextChanged",
882 "OnBindingContextChanged",
886 Form myform = new Form ();
887 myform.Visible = true;
888 MyScrollBar s = new MyScrollBar ();
889 myform.Controls.Add (s);
892 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
896 public void TextChangedEventsOrder ()
898 string[] EventsWanted = {
900 "OnBindingContextChanged",
901 "OnBindingContextChanged",
904 Form myform = new Form ();
905 myform.Visible = true;
906 MyScrollBar s = new MyScrollBar ();
907 myform.Controls.Add (s);
910 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
914 public void ValueChangedEventsOrder ()
916 string[] EventsWanted = {
918 "OnBindingContextChanged",
919 "OnBindingContextChanged",
922 Form myform = new Form ();
923 myform.Visible = true;
924 MyScrollBar s = new MyScrollBar ();
925 myform.Controls.Add (s);
928 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
932 public class MyScrollBar2 : HScrollBar
934 protected ArrayList results = new ArrayList ();
935 public MyScrollBar2 () : base ()
937 this.HandleCreated += new EventHandler (HandleCreated_Handler);
938 this.BackColorChanged += new EventHandler (BackColorChanged_Handler);
939 this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
940 this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
941 this.Click += new EventHandler (Click_Handler);
942 this.DoubleClick += new EventHandler (DoubleClick_Handler);
943 this.FontChanged += new EventHandler (FontChanged_Handler);
944 this.ForeColorChanged += new EventHandler (ForeColorChanged_Handler);
945 this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
946 this.MouseDown += new MouseEventHandler (MouseDown_Handler);
947 this.MouseMove += new MouseEventHandler (MouseMove_Handler);
948 this.MouseUp += new MouseEventHandler (MouseUp_Handler);
949 this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
950 this.Resize += new EventHandler (Resize_Handler);
951 this.SizeChanged += new EventHandler (SizeChanged_Handler);
952 this.Layout += new LayoutEventHandler (Layout_Handler);
953 this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
954 this.Paint += new PaintEventHandler (Paint_Handler);
955 this.Scroll += new ScrollEventHandler (Scroll_Handler);
956 this.TextChanged += new EventHandler (TextChanged_Handler);
957 this.ValueChanged += new EventHandler (ValueChanged_Handler);
960 protected void HandleCreated_Handler (object sender, EventArgs e)
962 results.Add ("HandleCreated");
965 protected void BackColorChanged_Handler (object sender, EventArgs e)
967 results.Add ("BackColorChanged");
970 protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
972 results.Add ("BackgroundImageChanged");
975 protected void Click_Handler (object sender, EventArgs e)
977 results.Add ("Click");
980 protected void DoubleClick_Handler (object sender, EventArgs e)
982 results.Add ("DoubleClick");
985 protected void FontChanged_Handler (object sender, EventArgs e)
987 results.Add ("FontChanged");
990 protected void ForeColorChanged_Handler (object sender, EventArgs e)
992 results.Add ("ForeColorChanged");
995 protected void ImeModeChanged_Handler (object sender, EventArgs e)
997 results.Add ("ImeModeChanged");
1000 protected void MouseDown_Handler (object sender, MouseEventArgs e)
1002 results.Add ("MouseDown");
1005 protected void MouseMove_Handler (object sender, MouseEventArgs e)
1007 results.Add ("MouseMove");
1010 protected void MouseUp_Handler (object sender, MouseEventArgs e)
1012 results.Add ("MouseUp");
1015 protected void BindingContextChanged_Handler (object sender, EventArgs e)
1017 results.Add ("BindingContextChanged");
1020 protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
1022 results.Add("Invalidated");
1025 protected void Resize_Handler (object sender, EventArgs e)
1027 results.Add("Resize");
1030 protected void SizeChanged_Handler (object sender, EventArgs e)
1032 results.Add("SizeChanged");
1035 protected void Layout_Handler (object sender, LayoutEventArgs e)
1037 results.Add("Layout");
1040 protected void VisibleChanged_Handler (object sender, EventArgs e)
1042 results.Add("VisibleChanged");
1045 protected void Paint_Handler (object sender, PaintEventArgs e)
1047 results.Add("Paint");
1050 protected void Scroll_Handler (object sender, ScrollEventArgs e)
1052 results.Add ("Scroll");
1055 protected void TextChanged_Handler (object sender, EventArgs e)
1057 results.Add ("TextChanged");
1060 protected void ValueChanged_Handler (object sender, EventArgs e)
1062 results.Add ("ValueChanged");
1065 public ArrayList Results {
1066 get { return results; }
1069 public void MoveMouse ()
1075 m.Msg = (int)WndMsg.WM_NCHITTEST;
1076 m.HWnd = this.Handle;
1077 m.WParam = (IntPtr)0x0;
1078 m.LParam = (IntPtr)0x1c604ea;
1079 this.WndProc(ref m);
1081 m.Msg = (int)WndMsg.WM_SETCURSOR;
1082 m.HWnd = this.Handle;
1083 m.WParam = (IntPtr)0x100448;
1084 m.LParam = (IntPtr)0x2000001;
1085 this.WndProc(ref m);
1087 m.Msg = (int)WndMsg.WM_MOUSEFIRST;
1088 m.HWnd = this.Handle;
1089 m.WParam = (IntPtr)0x0;
1090 m.LParam = (IntPtr)0x14000b;
1091 this.WndProc(ref m);
1093 m.Msg = (int)WndMsg.WM_MOUSEHOVER;
1094 m.HWnd = this.Handle;
1095 m.WParam = (IntPtr)0x0;
1096 m.LParam = (IntPtr)0x14000b;
1097 this.WndProc(ref m);
1100 public void MouseRightDown()
1106 m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
1107 m.HWnd = this.Handle;
1108 m.WParam = (IntPtr)0x01;
1109 m.LParam = (IntPtr)0x9004f;
1110 this.WndProc(ref m);
1113 public void MouseClick()
1119 m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
1120 m.HWnd = this.Handle;
1121 m.WParam = (IntPtr)0x01;
1122 m.LParam = (IntPtr)0x9004f;
1123 this.WndProc(ref m);
1127 m.Msg = (int)WndMsg.WM_LBUTTONUP;
1128 m.HWnd = this.Handle;
1129 m.WParam = (IntPtr)0x01;
1130 m.LParam = (IntPtr)0x9004f;
1131 this.WndProc(ref m);
1134 public void MouseDoubleClick ()
1140 public void MouseRightUp()
1146 m.Msg = (int)WndMsg.WM_RBUTTONUP;
1147 m.HWnd = this.Handle;
1148 m.WParam = (IntPtr)0x01;
1149 m.LParam = (IntPtr)0x9004f;
1150 this.WndProc(ref m);
1153 public void ScrollNow ()
1160 m.HWnd = this.Handle;
1161 m.WParam = (IntPtr)0x1;
1162 m.LParam = (IntPtr)0x1a051a;
1163 this.WndProc(ref m);
1166 m.HWnd = this.Handle;
1167 m.WParam = (IntPtr)0x1;
1168 m.LParam = (IntPtr)0x12eb34;
1169 this.WndProc(ref m);
1174 [Ignore("Tests too strict")]
1175 public class HScrollBarTestEventsOrder2
1177 public string [] ArrayListToString (ArrayList arrlist)
1179 string [] retval = new string [arrlist.Count];
1180 for (int i = 0; i < arrlist.Count; i++)
1181 retval[i] = (string)arrlist[i];
1186 public void CreateEventsOrder ()
1188 string[] EventsWanted = {
1190 "BindingContextChanged",
1191 "BindingContextChanged"
1193 Form myform = new Form ();
1194 myform.Visible = true;
1195 MyScrollBar2 s = new MyScrollBar2 ();
1196 myform.Controls.Add (s);
1198 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1202 public void BackColorChangedEventsOrder ()
1204 string[] EventsWanted = {
1206 "BindingContextChanged",
1207 "BindingContextChanged",
1211 Form myform = new Form ();
1212 myform.Visible = true;
1213 MyScrollBar2 s = new MyScrollBar2 ();
1214 myform.Controls.Add (s);
1215 s.BackColor = Color.Aqua;
1217 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1221 public void BackgroundImageChangedEventsOrder ()
1223 string[] EventsWanted = {
1225 "BindingContextChanged",
1226 "BindingContextChanged",
1228 "BackgroundImageChanged"
1231 Form myform = new Form ();
1232 myform.Visible = true;
1233 MyScrollBar2 s = new MyScrollBar2 ();
1234 myform.Controls.Add (s);
1235 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
1237 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1240 [Test, Ignore ("Need to send proper Click / DoubleClick")]
1241 public void ClickEventsOrder ()
1243 string[] EventsWanted = {
1245 "BindingContextChanged",
1246 "BindingContextChanged"
1248 Form myform = new Form ();
1249 myform.Visible = true;
1250 MyScrollBar2 s = new MyScrollBar2 ();
1251 myform.Controls.Add (s);
1254 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1257 [Test, Ignore ("Need to send proper Click / DoubleClick")]
1258 public void DoubleClickEventsOrder ()
1260 string[] EventsWanted = {
1262 "BindingContextChanged",
1263 "BindingContextChanged"
1265 Form myform = new Form ();
1266 myform.Visible = true;
1267 MyScrollBar2 s = new MyScrollBar2 ();
1268 myform.Controls.Add (s);
1269 s.MouseDoubleClick ();
1271 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1275 public void FontChangedEventsOrder ()
1277 string[] EventsWanted = {
1279 "BindingContextChanged",
1280 "BindingContextChanged"
1282 Form myform = new Form ();
1283 myform.Visible = true;
1284 MyScrollBar2 s = new MyScrollBar2 ();
1285 myform.Controls.Add (s);
1286 FontDialog myFontDialog = new FontDialog();
1287 s.Font = myFontDialog.Font;
1289 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1293 public void ForeColorChangedEventsOrder ()
1295 string[] EventsWanted = {
1297 "BindingContextChanged",
1298 "BindingContextChanged",
1302 Form myform = new Form ();
1303 myform.Visible = true;
1304 MyScrollBar2 s = new MyScrollBar2 ();
1305 myform.Controls.Add (s);
1306 s.ForeColor = Color.Aqua;
1308 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1312 public void ImeModeChangedChangedEventsOrder ()
1314 string[] EventsWanted = {
1316 "BindingContextChanged",
1317 "BindingContextChanged",
1320 Form myform = new Form ();
1321 myform.Visible = true;
1322 MyScrollBar2 s = new MyScrollBar2 ();
1323 myform.Controls.Add (s);
1324 s.ImeMode = ImeMode.Katakana;
1326 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1330 public void MouseDownEventsOrder ()
1332 string[] EventsWanted = {
1334 "BindingContextChanged",
1335 "BindingContextChanged",
1338 Form myform = new Form ();
1339 myform.Visible = true;
1340 MyScrollBar2 s = new MyScrollBar2 ();
1341 myform.Controls.Add (s);
1342 s.MouseRightDown ();
1344 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1348 public void MouseMoveEventsOrder ()
1350 string[] EventsWanted = {
1352 "BindingContextChanged",
1353 "BindingContextChanged",
1356 Form myform = new Form ();
1357 myform.Visible = true;
1358 MyScrollBar2 s = new MyScrollBar2 ();
1359 myform.Controls.Add (s);
1362 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1366 public void MouseUpEventsOrder ()
1368 string[] EventsWanted = {
1370 "BindingContextChanged",
1371 "BindingContextChanged",
1374 Form myform = new Form ();
1375 myform.Visible = true;
1376 MyScrollBar2 s = new MyScrollBar2 ();
1377 myform.Controls.Add (s);
1380 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1384 public void PaintEventsOrder ()
1386 string[] EventsWanted = {
1388 "BindingContextChanged",
1389 "BindingContextChanged",
1392 Form myform = new Form ();
1393 myform.Visible = true;
1394 MyScrollBar2 s = new MyScrollBar2 ();
1395 myform.Controls.Add (s);
1399 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1403 public void ScrollEventsOrder ()
1405 string[] EventsWanted = {
1407 "BindingContextChanged",
1408 "BindingContextChanged",
1412 Form myform = new Form ();
1413 myform.Visible = true;
1414 MyScrollBar2 s = new MyScrollBar2 ();
1415 myform.Controls.Add (s);
1418 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1422 public void TextChangedEventsOrder ()
1424 string[] EventsWanted = {
1426 "BindingContextChanged",
1427 "BindingContextChanged",
1430 Form myform = new Form ();
1431 myform.Visible = true;
1432 MyScrollBar2 s = new MyScrollBar2 ();
1433 myform.Controls.Add (s);
1436 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1440 public void ValueChangedEventsOrder ()
1442 string[] EventsWanted = {
1444 "BindingContextChanged",
1445 "BindingContextChanged",
1448 Form myform = new Form ();
1449 myform.Visible = true;
1450 MyScrollBar2 s = new MyScrollBar2 ();
1451 myform.Controls.Add (s);
1454 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));