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;
355 public void PubMethodTest ()
357 MyScrollBar myscrlbar
= new MyScrollBar ();
358 myscrlbar
.Text
= "New HScrollBar";
359 Assert
.AreEqual ("MonoTests.System.Windows.Forms.MyScrollBar, 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
.ShowInTaskbar
= false;
393 myform
.Visible
= true;
394 ScrollBar myHscrlbar
= new HScrollBar ();
395 myform
.Controls
.Add (myHscrlbar
);
396 myHscrlbar
.BackColorChanged
+= new EventHandler (ScrollBar_EventHandler
);
397 myHscrlbar
.BackColor
= Color
.Red
;
398 Assert
.AreEqual (true, eventhandled
, "B4");
399 eventhandled
= false;
404 public void BackgroundImageChangedTest ()
406 Form myform
= new Form ();
407 myform
.ShowInTaskbar
= false;
408 myform
.Visible
= true;
409 ScrollBar myHscrlbar
= new HScrollBar ();
410 myform
.Controls
.Add (myHscrlbar
);
411 myHscrlbar
.BackgroundImageChanged
+= new EventHandler (ScrollBar_EventHandler
);
412 myHscrlbar
.BackgroundImage
= Image
.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
413 Assert
.AreEqual (true, eventhandled
, "B5");
414 eventhandled
= false;
419 public void FontChangedTest ()
421 Form myform
= new Form ();
422 myform
.ShowInTaskbar
= false;
423 myform
.Visible
= true;
424 ScrollBar myHscrlbar
= new HScrollBar ();
425 myform
.Controls
.Add (myHscrlbar
);
426 myHscrlbar
.Font
= new Font (FontFamily
.GenericMonospace
, 10);
427 myHscrlbar
.FontChanged
+= new EventHandler (ScrollBar_EventHandler
);
428 FontDialog myFontDialog
= new FontDialog();
429 myHscrlbar
.Font
= myFontDialog
.Font
;
430 Assert
.AreEqual (true, eventhandled
, "F2");
431 eventhandled
= false;
436 public void ForeColorChangedTest ()
438 Form myform
= new Form ();
439 myform
.ShowInTaskbar
= false;
440 myform
.Visible
= true;
441 ScrollBar myHscrlbar
= new HScrollBar ();
442 myform
.Controls
.Add (myHscrlbar
);
443 myHscrlbar
.ForeColorChanged
+= new EventHandler (ScrollBar_EventHandler
);
444 myHscrlbar
.ForeColor
= Color
.Azure
;
445 Assert
.AreEqual (true, eventhandled
, "F3");
446 eventhandled
= false;
451 public void ImeModehangedTest ()
453 Form myform
= new Form ();
454 myform
.ShowInTaskbar
= false;
455 myform
.Visible
= true;
456 ScrollBar myHscrlbar
= new HScrollBar ();
457 myform
.Controls
.Add (myHscrlbar
);
458 myHscrlbar
.ImeModeChanged
+= new EventHandler (ScrollBar_EventHandler
);
459 myHscrlbar
.ImeMode
= ImeMode
.Katakana
;
460 Assert
.AreEqual (true, eventhandled
, "I2");
461 eventhandled
= false;
466 public void MouseDownTest ()
468 Form myform
= new Form ();
469 myform
.ShowInTaskbar
= false;
470 myform
.Visible
= true;
471 MyScrollBar myHscrlbar
= new MyScrollBar ();
472 myform
.Controls
.Add (myHscrlbar
);
473 myHscrlbar
.MouseDown
+= new MouseEventHandler (ScrollBarMouse_EventHandler
);
474 myHscrlbar
.MouseRightDown ();
476 Assert
.AreEqual (true, eventhandled
, "M5");
477 eventhandled
= false;
482 public void MouseMoveTest ()
484 Form myform
= new Form ();
485 myform
.ShowInTaskbar
= false;
486 myform
.Visible
= true;
487 MyScrollBar myHscrlbar
= new MyScrollBar ();
488 myform
.Controls
.Add (myHscrlbar
);
489 myHscrlbar
.MouseMove
+= new MouseEventHandler (ScrollBarMouse_EventHandler
);
490 myHscrlbar
.MoveMouse ();
492 Assert
.AreEqual (true, eventhandled
, "M6");
493 eventhandled
= false;
498 public void MouseUpTest ()
500 Form myform
= new Form ();
501 myform
.ShowInTaskbar
= false;
502 myform
.Visible
= true;
503 MyScrollBar myHscrlbar
= new MyScrollBar ();
504 myform
.Controls
.Add (myHscrlbar
);
505 myHscrlbar
.MouseUp
+= new MouseEventHandler (ScrollBarMouse_EventHandler
);
506 myHscrlbar
.MouseRightUp ();
508 Assert
.AreEqual (true, eventhandled
, "M7");
509 eventhandled
= false;
514 [Category ("NotWorking")]
515 public void ScrollTest ()
517 Form myform
= new Form ();
518 myform
.ShowInTaskbar
= false;
519 myform
.Visible
= true;
520 MyScrollBar myHscrlbar
= new MyScrollBar ();
521 myform
.Controls
.Add (myHscrlbar
);
522 myHscrlbar
.Scroll
+= new ScrollEventHandler (ScrollBarScroll_EventHandler
);
523 myHscrlbar
.ScrollNow ();
525 Assert
.AreEqual (true, eventhandled
, "S4");
526 eventhandled
= false;
531 public void TextChangedTest ()
533 Form myform
= new Form ();
534 myform
.ShowInTaskbar
= false;
535 myform
.Visible
= true;
536 MyScrollBar myHscrlbar
= new MyScrollBar ();
537 myform
.Controls
.Add (myHscrlbar
);
538 myHscrlbar
.TextChanged
+= new EventHandler (ScrollBar_EventHandler
);
539 myHscrlbar
.Text
= "foo";
541 Assert
.AreEqual (true, eventhandled
, "T6");
542 eventhandled
= false;
547 public void ValueChangeTest ()
549 Form myform
= new Form ();
550 myform
.ShowInTaskbar
= false;
551 myform
.Visible
= true;
552 MyScrollBar myHscrlbar
= new MyScrollBar ();
553 myform
.Controls
.Add (myHscrlbar
);
554 myHscrlbar
.Value
= 40 ;
555 myHscrlbar
.ValueChanged
+= new EventHandler (ScrollBar_EventHandler
);
556 myHscrlbar
.Value
= 50 ;
557 Assert
.AreEqual (true, eventhandled
, "V3");
558 eventhandled
= false;
563 public class MyHScrollBar
: HScrollBar
565 public MyHScrollBar () : base ()
569 public Size MyDefaultSize
{
570 get { return DefaultSize; }
573 public CreateParams MyCreateParams
{
574 get { return CreateParams; }
579 public class MyHScrollBarTest
582 public void ProtectedTest ()
584 MyHScrollBar msbar
= new MyHScrollBar ();
586 Assert
.AreEqual (80, msbar
.MyDefaultSize
.Width
, "D1");
587 // this is environment dependent.
588 //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2");
592 public class MyVScrollBar
: VScrollBar
594 public MyVScrollBar () : base ()
598 public Size MyDefaultSize
{
599 get { return DefaultSize; }
602 public CreateParams MyCreateParams
{
603 get { return CreateParams; }
608 public class MyVScrollBarTest
611 public void PubMethodTest ()
613 MyVScrollBar msbar
= new MyVScrollBar ();
615 Assert
.AreEqual (RightToLeft
.No
, msbar
.RightToLeft
, "R1");
620 public void ProtMethodTest ()
622 MyVScrollBar msbar
= new MyVScrollBar ();
624 // This is environment dependent.
625 //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3");
626 Assert
.AreEqual (80, msbar
.MyDefaultSize
.Height
, "D4");
631 [Ignore("Tests too strict")]
632 public class HScrollBarTestEventsOrder
634 public string [] ArrayListToString (ArrayList arrlist
)
636 string [] retval
= new string [arrlist
.Count
];
637 for (int i
= 0; i
< arrlist
.Count
; i
++)
638 retval
[i
] = (string)arrlist
[i
];
643 public void CreateEventsOrder ()
645 string[] EventsWanted
= {
647 "OnBindingContextChanged",
648 "OnBindingContextChanged"
650 Form myform
= new Form ();
651 myform
.ShowInTaskbar
= false;
652 myform
.Visible
= true;
653 MyScrollBar s
= new MyScrollBar ();
654 myform
.Controls
.Add (s
);
656 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
661 public void BackColorChangedEventsOrder ()
663 string[] EventsWanted
= {
665 "OnBindingContextChanged",
666 "OnBindingContextChanged",
667 "OnBackColorChanged",
670 Form myform
= new Form ();
671 myform
.ShowInTaskbar
= false;
672 myform
.Visible
= true;
673 MyScrollBar s
= new MyScrollBar ();
674 myform
.Controls
.Add (s
);
675 s
.BackColor
= Color
.Aqua
;
677 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
682 public void BackgroundImageChangedEventsOrder ()
684 string[] EventsWanted
= {
686 "OnBindingContextChanged",
687 "OnBindingContextChanged",
688 "OnBackgroundImageChanged",
691 Form myform
= new Form ();
692 myform
.ShowInTaskbar
= false;
693 myform
.Visible
= true;
694 MyScrollBar s
= new MyScrollBar ();
695 myform
.Controls
.Add (s
);
696 s
.BackgroundImage
= Image
.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
698 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
702 [Test
, Ignore ("Need to send proper Click / DoubleClick")]
703 public void ClickEventsOrder ()
705 string[] EventsWanted
= {
707 "OnBindingContextChanged",
708 "OnBindingContextChanged"
710 Form myform
= new Form ();
711 myform
.ShowInTaskbar
= false;
712 myform
.Visible
= true;
713 MyScrollBar s
= new MyScrollBar ();
714 myform
.Controls
.Add (s
);
717 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
721 [Test
, Ignore ("Need to send proper Click / DoubleClick")]
722 public void DoubleClickEventsOrder ()
724 string[] EventsWanted
= {
726 "OnBindingContextChanged",
727 "OnBindingContextChanged"
729 Form myform
= new Form ();
730 myform
.ShowInTaskbar
= false;
731 myform
.Visible
= true;
732 MyScrollBar s
= new MyScrollBar ();
733 myform
.Controls
.Add (s
);
734 s
.MouseDoubleClick ();
736 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
741 public void FontChangedEventsOrder ()
743 string[] EventsWanted
= {
745 "OnBindingContextChanged",
746 "OnBindingContextChanged"
748 Form myform
= new Form ();
749 myform
.ShowInTaskbar
= false;
750 myform
.Visible
= true;
751 MyScrollBar s
= new MyScrollBar ();
752 myform
.Controls
.Add (s
);
753 FontDialog myFontDialog
= new FontDialog();
754 s
.Font
= myFontDialog
.Font
;
756 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
761 public void ForeColorChangedEventsOrder ()
763 string[] EventsWanted
= {
765 "OnBindingContextChanged",
766 "OnBindingContextChanged",
767 "OnForeColorChanged",
770 Form myform
= new Form ();
771 myform
.ShowInTaskbar
= false;
772 myform
.Visible
= true;
773 MyScrollBar s
= new MyScrollBar ();
774 myform
.Controls
.Add (s
);
775 s
.ForeColor
= Color
.Aqua
;
777 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
782 public void ImeModeChangedChangedEventsOrder ()
784 string[] EventsWanted
= {
786 "OnBindingContextChanged",
787 "OnBindingContextChanged",
790 Form myform
= new Form ();
791 myform
.ShowInTaskbar
= false;
792 myform
.Visible
= true;
793 MyScrollBar s
= new MyScrollBar ();
794 myform
.Controls
.Add (s
);
795 s
.ImeMode
= ImeMode
.Katakana
;
797 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
802 public void MouseDownEventsOrder ()
804 string[] EventsWanted
= {
806 "OnBindingContextChanged",
807 "OnBindingContextChanged",
810 Form myform
= new Form ();
811 myform
.ShowInTaskbar
= false;
812 myform
.Visible
= true;
813 MyScrollBar s
= new MyScrollBar ();
814 myform
.Controls
.Add (s
);
817 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
822 public void MouseMoveEventsOrder ()
824 string[] EventsWanted
= {
826 "OnBindingContextChanged",
827 "OnBindingContextChanged",
831 Form myform
= new Form ();
832 myform
.ShowInTaskbar
= false;
833 myform
.Visible
= true;
834 MyScrollBar s
= new MyScrollBar ();
835 myform
.Controls
.Add (s
);
838 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
843 public void MouseUpEventsOrder ()
845 string[] EventsWanted
= {
847 "OnBindingContextChanged",
848 "OnBindingContextChanged",
851 Form myform
= new Form ();
852 myform
.ShowInTaskbar
= false;
853 myform
.Visible
= true;
854 MyScrollBar s
= new MyScrollBar ();
855 myform
.Controls
.Add (s
);
858 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
863 public void PaintEventsOrder ()
865 string[] EventsWanted
= {
867 "OnBindingContextChanged",
868 "OnBindingContextChanged",
871 Form myform
= new Form ();
872 myform
.ShowInTaskbar
= false;
873 myform
.Visible
= true;
874 MyScrollBar s
= new MyScrollBar ();
875 myform
.Controls
.Add (s
);
878 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
883 public void ScrollEventsOrder ()
885 string[] EventsWanted
= {
887 "OnBindingContextChanged",
888 "OnBindingContextChanged",
892 Form myform
= new Form ();
893 myform
.ShowInTaskbar
= false;
894 myform
.Visible
= true;
895 MyScrollBar s
= new MyScrollBar ();
896 myform
.Controls
.Add (s
);
899 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
904 public void TextChangedEventsOrder ()
906 string[] EventsWanted
= {
908 "OnBindingContextChanged",
909 "OnBindingContextChanged",
912 Form myform
= new Form ();
913 myform
.ShowInTaskbar
= false;
914 myform
.Visible
= true;
915 MyScrollBar s
= new MyScrollBar ();
916 myform
.Controls
.Add (s
);
919 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
924 public void ValueChangedEventsOrder ()
926 string[] EventsWanted
= {
928 "OnBindingContextChanged",
929 "OnBindingContextChanged",
932 Form myform
= new Form ();
933 myform
.ShowInTaskbar
= false;
934 myform
.Visible
= true;
935 MyScrollBar s
= new MyScrollBar ();
936 myform
.Controls
.Add (s
);
939 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
944 public class MyScrollBar2
: HScrollBar
946 protected ArrayList results
= new ArrayList ();
947 public MyScrollBar2 () : base ()
949 this.HandleCreated
+= new EventHandler (HandleCreated_Handler
);
950 this.BackColorChanged
+= new EventHandler (BackColorChanged_Handler
);
951 this.BackgroundImageChanged
+= new EventHandler (BackgroundImageChanged_Handler
);
952 this.BindingContextChanged
+= new EventHandler (BindingContextChanged_Handler
);
953 this.Click
+= new EventHandler (Click_Handler
);
954 this.DoubleClick
+= new EventHandler (DoubleClick_Handler
);
955 this.FontChanged
+= new EventHandler (FontChanged_Handler
);
956 this.ForeColorChanged
+= new EventHandler (ForeColorChanged_Handler
);
957 this.ImeModeChanged
+= new EventHandler (ImeModeChanged_Handler
);
958 this.MouseDown
+= new MouseEventHandler (MouseDown_Handler
);
959 this.MouseMove
+= new MouseEventHandler (MouseMove_Handler
);
960 this.MouseUp
+= new MouseEventHandler (MouseUp_Handler
);
961 this.Invalidated
+= new InvalidateEventHandler (Invalidated_Handler
);
962 this.Resize
+= new EventHandler (Resize_Handler
);
963 this.SizeChanged
+= new EventHandler (SizeChanged_Handler
);
964 this.Layout
+= new LayoutEventHandler (Layout_Handler
);
965 this.VisibleChanged
+= new EventHandler (VisibleChanged_Handler
);
966 this.Paint
+= new PaintEventHandler (Paint_Handler
);
967 this.Scroll
+= new ScrollEventHandler (Scroll_Handler
);
968 this.TextChanged
+= new EventHandler (TextChanged_Handler
);
969 this.ValueChanged
+= new EventHandler (ValueChanged_Handler
);
972 protected void HandleCreated_Handler (object sender
, EventArgs e
)
974 results
.Add ("HandleCreated");
977 protected void BackColorChanged_Handler (object sender
, EventArgs e
)
979 results
.Add ("BackColorChanged");
982 protected void BackgroundImageChanged_Handler (object sender
, EventArgs e
)
984 results
.Add ("BackgroundImageChanged");
987 protected void Click_Handler (object sender
, EventArgs e
)
989 results
.Add ("Click");
992 protected void DoubleClick_Handler (object sender
, EventArgs e
)
994 results
.Add ("DoubleClick");
997 protected void FontChanged_Handler (object sender
, EventArgs e
)
999 results
.Add ("FontChanged");
1002 protected void ForeColorChanged_Handler (object sender
, EventArgs e
)
1004 results
.Add ("ForeColorChanged");
1007 protected void ImeModeChanged_Handler (object sender
, EventArgs e
)
1009 results
.Add ("ImeModeChanged");
1012 protected void MouseDown_Handler (object sender
, MouseEventArgs e
)
1014 results
.Add ("MouseDown");
1017 protected void MouseMove_Handler (object sender
, MouseEventArgs e
)
1019 results
.Add ("MouseMove");
1022 protected void MouseUp_Handler (object sender
, MouseEventArgs e
)
1024 results
.Add ("MouseUp");
1027 protected void BindingContextChanged_Handler (object sender
, EventArgs e
)
1029 results
.Add ("BindingContextChanged");
1032 protected void Invalidated_Handler (object sender
, InvalidateEventArgs e
)
1034 results
.Add("Invalidated");
1037 protected void Resize_Handler (object sender
, EventArgs e
)
1039 results
.Add("Resize");
1042 protected void SizeChanged_Handler (object sender
, EventArgs e
)
1044 results
.Add("SizeChanged");
1047 protected void Layout_Handler (object sender
, LayoutEventArgs e
)
1049 results
.Add("Layout");
1052 protected void VisibleChanged_Handler (object sender
, EventArgs e
)
1054 results
.Add("VisibleChanged");
1057 protected void Paint_Handler (object sender
, PaintEventArgs e
)
1059 results
.Add("Paint");
1062 protected void Scroll_Handler (object sender
, ScrollEventArgs e
)
1064 results
.Add ("Scroll");
1067 protected void TextChanged_Handler (object sender
, EventArgs e
)
1069 results
.Add ("TextChanged");
1072 protected void ValueChanged_Handler (object sender
, EventArgs e
)
1074 results
.Add ("ValueChanged");
1077 public ArrayList Results
{
1078 get { return results; }
1081 public void MoveMouse ()
1087 m
.Msg
= (int)WndMsg
.WM_NCHITTEST
;
1088 m
.HWnd
= this.Handle
;
1089 m
.WParam
= (IntPtr
)0x0;
1090 m
.LParam
= (IntPtr
)0x1c604ea;
1091 this.WndProc(ref m
);
1093 m
.Msg
= (int)WndMsg
.WM_SETCURSOR
;
1094 m
.HWnd
= this.Handle
;
1095 m
.WParam
= (IntPtr
)0x100448;
1096 m
.LParam
= (IntPtr
)0x2000001;
1097 this.WndProc(ref m
);
1099 m
.Msg
= (int)WndMsg
.WM_MOUSEFIRST
;
1100 m
.HWnd
= this.Handle
;
1101 m
.WParam
= (IntPtr
)0x0;
1102 m
.LParam
= (IntPtr
)0x14000b;
1103 this.WndProc(ref m
);
1105 m
.Msg
= (int)WndMsg
.WM_MOUSEHOVER
;
1106 m
.HWnd
= this.Handle
;
1107 m
.WParam
= (IntPtr
)0x0;
1108 m
.LParam
= (IntPtr
)0x14000b;
1109 this.WndProc(ref m
);
1112 public void MouseRightDown()
1118 m
.Msg
= (int)WndMsg
.WM_RBUTTONDOWN
;
1119 m
.HWnd
= this.Handle
;
1120 m
.WParam
= (IntPtr
)0x01;
1121 m
.LParam
= (IntPtr
)0x9004f;
1122 this.WndProc(ref m
);
1125 public void MouseClick()
1131 m
.Msg
= (int)WndMsg
.WM_LBUTTONDOWN
;
1132 m
.HWnd
= this.Handle
;
1133 m
.WParam
= (IntPtr
)0x01;
1134 m
.LParam
= (IntPtr
)0x9004f;
1135 this.WndProc(ref m
);
1139 m
.Msg
= (int)WndMsg
.WM_LBUTTONUP
;
1140 m
.HWnd
= this.Handle
;
1141 m
.WParam
= (IntPtr
)0x01;
1142 m
.LParam
= (IntPtr
)0x9004f;
1143 this.WndProc(ref m
);
1146 public void MouseDoubleClick ()
1152 public void MouseRightUp()
1158 m
.Msg
= (int)WndMsg
.WM_RBUTTONUP
;
1159 m
.HWnd
= this.Handle
;
1160 m
.WParam
= (IntPtr
)0x01;
1161 m
.LParam
= (IntPtr
)0x9004f;
1162 this.WndProc(ref m
);
1165 public void ScrollNow ()
1172 m
.HWnd
= this.Handle
;
1173 m
.WParam
= (IntPtr
)0x1;
1174 m
.LParam
= (IntPtr
)0x1a051a;
1175 this.WndProc(ref m
);
1178 m
.HWnd
= this.Handle
;
1179 m
.WParam
= (IntPtr
)0x1;
1180 m
.LParam
= (IntPtr
)0x12eb34;
1181 this.WndProc(ref m
);
1186 [Ignore("Tests too strict")]
1187 public class HScrollBarTestEventsOrder2
1189 public string [] ArrayListToString (ArrayList arrlist
)
1191 string [] retval
= new string [arrlist
.Count
];
1192 for (int i
= 0; i
< arrlist
.Count
; i
++)
1193 retval
[i
] = (string)arrlist
[i
];
1198 public void CreateEventsOrder ()
1200 string[] EventsWanted
= {
1202 "BindingContextChanged",
1203 "BindingContextChanged"
1205 Form myform
= new Form ();
1206 myform
.ShowInTaskbar
= false;
1207 myform
.Visible
= true;
1208 MyScrollBar2 s
= new MyScrollBar2 ();
1209 myform
.Controls
.Add (s
);
1211 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1216 public void BackColorChangedEventsOrder ()
1218 string[] EventsWanted
= {
1220 "BindingContextChanged",
1221 "BindingContextChanged",
1225 Form myform
= new Form ();
1226 myform
.ShowInTaskbar
= false;
1227 myform
.Visible
= true;
1228 MyScrollBar2 s
= new MyScrollBar2 ();
1229 myform
.Controls
.Add (s
);
1230 s
.BackColor
= Color
.Aqua
;
1232 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1237 public void BackgroundImageChangedEventsOrder ()
1239 string[] EventsWanted
= {
1241 "BindingContextChanged",
1242 "BindingContextChanged",
1244 "BackgroundImageChanged"
1247 Form myform
= new Form ();
1248 myform
.ShowInTaskbar
= false;
1249 myform
.Visible
= true;
1250 MyScrollBar2 s
= new MyScrollBar2 ();
1251 myform
.Controls
.Add (s
);
1252 s
.BackgroundImage
= Image
.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
1254 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1258 [Test
, Ignore ("Need to send proper Click / DoubleClick")]
1259 public void ClickEventsOrder ()
1261 string[] EventsWanted
= {
1263 "BindingContextChanged",
1264 "BindingContextChanged"
1266 Form myform
= new Form ();
1267 myform
.ShowInTaskbar
= false;
1268 myform
.Visible
= true;
1269 MyScrollBar2 s
= new MyScrollBar2 ();
1270 myform
.Controls
.Add (s
);
1273 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1277 [Test
, Ignore ("Need to send proper Click / DoubleClick")]
1278 public void DoubleClickEventsOrder ()
1280 string[] EventsWanted
= {
1282 "BindingContextChanged",
1283 "BindingContextChanged"
1285 Form myform
= new Form ();
1286 myform
.ShowInTaskbar
= false;
1287 myform
.Visible
= true;
1288 MyScrollBar2 s
= new MyScrollBar2 ();
1289 myform
.Controls
.Add (s
);
1290 s
.MouseDoubleClick ();
1292 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1297 public void FontChangedEventsOrder ()
1299 string[] EventsWanted
= {
1301 "BindingContextChanged",
1302 "BindingContextChanged"
1304 Form myform
= new Form ();
1305 myform
.ShowInTaskbar
= false;
1306 myform
.Visible
= true;
1307 MyScrollBar2 s
= new MyScrollBar2 ();
1308 myform
.Controls
.Add (s
);
1309 FontDialog myFontDialog
= new FontDialog();
1310 s
.Font
= myFontDialog
.Font
;
1312 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1317 public void ForeColorChangedEventsOrder ()
1319 string[] EventsWanted
= {
1321 "BindingContextChanged",
1322 "BindingContextChanged",
1326 Form myform
= new Form ();
1327 myform
.ShowInTaskbar
= false;
1328 myform
.Visible
= true;
1329 MyScrollBar2 s
= new MyScrollBar2 ();
1330 myform
.Controls
.Add (s
);
1331 s
.ForeColor
= Color
.Aqua
;
1333 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1338 public void ImeModeChangedChangedEventsOrder ()
1340 string[] EventsWanted
= {
1342 "BindingContextChanged",
1343 "BindingContextChanged",
1346 Form myform
= new Form ();
1347 myform
.ShowInTaskbar
= false;
1348 myform
.Visible
= true;
1349 MyScrollBar2 s
= new MyScrollBar2 ();
1350 myform
.Controls
.Add (s
);
1351 s
.ImeMode
= ImeMode
.Katakana
;
1353 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1358 public void MouseDownEventsOrder ()
1360 string[] EventsWanted
= {
1362 "BindingContextChanged",
1363 "BindingContextChanged",
1366 Form myform
= new Form ();
1367 myform
.ShowInTaskbar
= false;
1368 myform
.Visible
= true;
1369 MyScrollBar2 s
= new MyScrollBar2 ();
1370 myform
.Controls
.Add (s
);
1371 s
.MouseRightDown ();
1373 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1378 public void MouseMoveEventsOrder ()
1380 string[] EventsWanted
= {
1382 "BindingContextChanged",
1383 "BindingContextChanged",
1386 Form myform
= new Form ();
1387 myform
.ShowInTaskbar
= false;
1388 myform
.Visible
= true;
1389 MyScrollBar2 s
= new MyScrollBar2 ();
1390 myform
.Controls
.Add (s
);
1393 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1398 public void MouseUpEventsOrder ()
1400 string[] EventsWanted
= {
1402 "BindingContextChanged",
1403 "BindingContextChanged",
1406 Form myform
= new Form ();
1407 myform
.ShowInTaskbar
= false;
1408 myform
.Visible
= true;
1409 MyScrollBar2 s
= new MyScrollBar2 ();
1410 myform
.Controls
.Add (s
);
1413 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1418 public void PaintEventsOrder ()
1420 string[] EventsWanted
= {
1422 "BindingContextChanged",
1423 "BindingContextChanged",
1426 Form myform
= new Form ();
1427 myform
.ShowInTaskbar
= false;
1428 myform
.Visible
= true;
1429 MyScrollBar2 s
= new MyScrollBar2 ();
1430 myform
.Controls
.Add (s
);
1434 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1439 public void ScrollEventsOrder ()
1441 string[] EventsWanted
= {
1443 "BindingContextChanged",
1444 "BindingContextChanged",
1448 Form myform
= new Form ();
1449 myform
.ShowInTaskbar
= false;
1450 myform
.Visible
= true;
1451 MyScrollBar2 s
= new MyScrollBar2 ();
1452 myform
.Controls
.Add (s
);
1455 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1460 public void TextChangedEventsOrder ()
1462 string[] EventsWanted
= {
1464 "BindingContextChanged",
1465 "BindingContextChanged",
1468 Form myform
= new Form ();
1469 myform
.ShowInTaskbar
= false;
1470 myform
.Visible
= true;
1471 MyScrollBar2 s
= new MyScrollBar2 ();
1472 myform
.Controls
.Add (s
);
1475 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));
1480 public void ValueChangedEventsOrder ()
1482 string[] EventsWanted
= {
1484 "BindingContextChanged",
1485 "BindingContextChanged",
1488 Form myform
= new Form ();
1489 myform
.ShowInTaskbar
= false;
1490 myform
.Visible
= true;
1491 MyScrollBar2 s
= new MyScrollBar2 ();
1492 myform
.Controls
.Add (s
);
1495 Assert
.AreEqual (EventsWanted
, ArrayListToString (s
.Results
));