1 // 2 // Copyright (c) 2005 Novell, Inc. 3 // 4 // Authors: 5 // Hisham Mardam Bey (hisham.mardambey@gmail.com) 6 // Ritvik Mayank (mritvik@novell.com) 7 // 8 // 9 10 using System; 11 using NUnit.Framework; 12 using System.Windows.Forms; 13 using System.Drawing; 14 using System.Collections; 15 16 namespace MonoTests.System.Windows.Forms 17 { 18 19 public class MyScrollBar : HScrollBar 20 { 21 private ArrayList results = new ArrayList (); MyScrollBar()22 public MyScrollBar () : base () 23 {} 24 25 public Padding PublicDefaultMargin { get { return base.DefaultMargin; } } 26 OnBackColorChanged(EventArgs e)27 protected override void OnBackColorChanged (EventArgs e) 28 { 29 results.Add ("OnBackColorChanged"); 30 base.OnBackColorChanged (e); 31 } 32 OnBackgroundImageChanged(EventArgs e)33 protected override void OnBackgroundImageChanged (EventArgs e) 34 { 35 results.Add ("OnBackgroundImageChanged"); 36 base.OnBackgroundImageChanged (e); 37 } 38 OnClick(EventArgs e)39 protected override void OnClick (EventArgs e) 40 { 41 results.Add ("OnClick"); 42 base.OnClick (e); 43 } 44 OnDoubleClick(EventArgs e)45 protected override void OnDoubleClick (EventArgs e) 46 { 47 results.Add ("OnDoubleClick"); 48 base.OnDoubleClick (e); 49 } 50 OnFontChanged(EventArgs e)51 protected override void OnFontChanged (EventArgs e) 52 { 53 results.Add ("OnFontChanged"); 54 base.OnFontChanged (e); 55 } 56 OnForeColorChanged(EventArgs e)57 protected override void OnForeColorChanged (EventArgs e) 58 { 59 results.Add ("OnForeColorChanged"); 60 base.OnForeColorChanged (e); 61 } 62 OnImeModeChanged(EventArgs e)63 protected override void OnImeModeChanged (EventArgs e) 64 { 65 results.Add ("OnImeModeChanged"); 66 base.OnImeModeChanged (e); 67 } 68 OnMouseDown(MouseEventArgs e)69 protected override void OnMouseDown (MouseEventArgs e) 70 { 71 results.Add ("OnMouseDown"); 72 base.OnMouseDown (e); 73 } 74 OnMouseMove(MouseEventArgs e)75 protected override void OnMouseMove (MouseEventArgs e) 76 { 77 results.Add ("OnMouseMove"); 78 base.OnMouseMove (e); 79 } 80 OnMouseEnter(EventArgs e)81 protected override void OnMouseEnter (EventArgs e) 82 { 83 results.Add ("OnMouseEnter"); 84 base.OnMouseEnter (e); 85 } 86 OnMouseLeave(EventArgs e)87 protected override void OnMouseLeave (EventArgs e) 88 { 89 results.Add ("OnMouseLeave"); 90 base.OnMouseLeave (e); 91 } 92 OnMouseHover(EventArgs e)93 protected override void OnMouseHover (EventArgs e) 94 { 95 results.Add ("OnMouseHover"); 96 base.OnMouseHover (e); 97 } 98 OnMouseUp(MouseEventArgs e)99 protected override void OnMouseUp (MouseEventArgs e) 100 { 101 results.Add ("OnMouseUp"); 102 base.OnMouseUp (e); 103 } 104 OnHandleCreated(EventArgs e)105 protected override void OnHandleCreated (EventArgs e) 106 { 107 results.Add ("OnHandleCreated"); 108 base.OnHandleCreated (e); 109 } 110 OnBindingContextChanged(EventArgs e)111 protected override void OnBindingContextChanged (EventArgs e) 112 { 113 results.Add ("OnBindingContextChanged"); 114 base.OnBindingContextChanged (e); 115 } 116 OnInvalidated(InvalidateEventArgs e)117 protected override void OnInvalidated (InvalidateEventArgs e) 118 { 119 results.Add("OnInvalidated"); 120 base.OnInvalidated (e); 121 } 122 OnResize(EventArgs e)123 protected override void OnResize (EventArgs e) 124 { 125 results.Add("OnResize"); 126 base.OnResize (e); 127 } 128 OnSizeChanged(EventArgs e)129 protected override void OnSizeChanged (EventArgs e) 130 { 131 results.Add("OnSizeChanged"); 132 base.OnSizeChanged (e); 133 } 134 OnLayout(LayoutEventArgs e)135 protected override void OnLayout (LayoutEventArgs e) 136 { 137 results.Add("OnLayout"); 138 base.OnLayout (e); 139 } 140 OnVisibleChanged(EventArgs e)141 protected override void OnVisibleChanged (EventArgs e) 142 { 143 results.Add("OnVisibleChanged"); 144 base.OnVisibleChanged (e); 145 } 146 OnScroll(ScrollEventArgs e)147 protected override void OnScroll (ScrollEventArgs e) 148 { 149 results.Add("OnScroll"); 150 base.OnScroll (e); 151 } 152 OnTextChanged(EventArgs e)153 protected override void OnTextChanged (EventArgs e) 154 { 155 results.Add("OnTextChanged"); 156 base.OnTextChanged (e); 157 } 158 OnValueChanged(EventArgs e)159 protected override void OnValueChanged (EventArgs e) 160 { 161 results.Add("OnValueChanged"); 162 base.OnValueChanged (e); 163 } 164 OnPaint(PaintEventArgs e)165 protected override void OnPaint (PaintEventArgs e) 166 { 167 results.Add("OnPaint"); 168 base.OnPaint (e); 169 } 170 171 public ArrayList Results { 172 get { return results; } 173 } 174 175 //public void MoveMouse () 176 // { 177 // Message m; 178 179 // m = new Message (); 180 181 // m.Msg = (int)WndMsg.WM_NCHITTEST; 182 // m.HWnd = this.Handle; 183 // m.WParam = (IntPtr)0x0; 184 // m.LParam = (IntPtr)0x1c604ea; 185 // this.WndProc(ref m); 186 187 // m.Msg = (int)WndMsg.WM_SETCURSOR; 188 // m.HWnd = this.Handle; 189 // m.WParam = (IntPtr)0x100448; 190 // m.LParam = (IntPtr)0x2000001; 191 // this.WndProc(ref m); 192 193 // m.Msg = (int)WndMsg.WM_MOUSEFIRST; 194 // m.HWnd = this.Handle; 195 // m.WParam = (IntPtr)0x0; 196 // m.LParam = (IntPtr)0x14000b; 197 // this.WndProc(ref m); 198 199 // m.Msg = (int)WndMsg.WM_MOUSEHOVER; 200 // m.HWnd = this.Handle; 201 // m.WParam = (IntPtr)0x0; 202 // m.LParam = (IntPtr)0x14000b; 203 // this.WndProc(ref m); 204 // } 205 206 //public new void MouseClick() 207 // { 208 209 // Message m; 210 211 // m = new Message(); 212 213 // m.Msg = (int)WndMsg.WM_LBUTTONDOWN; 214 // m.HWnd = this.Handle; 215 // m.WParam = (IntPtr)0x01; 216 // m.LParam = (IntPtr)0x9004f; 217 // this.WndProc(ref m); 218 219 // m = new Message(); 220 221 // m.Msg = (int)WndMsg.WM_LBUTTONUP; 222 // m.HWnd = this.Handle; 223 // m.WParam = (IntPtr)0x01; 224 // m.LParam = (IntPtr)0x9004f; 225 // this.WndProc(ref m); 226 // } 227 228 //public new void MouseDoubleClick () 229 // { 230 // this.MouseClick (); 231 // this.MouseClick (); 232 // } 233 //public void MouseRightDown() 234 // { 235 // Message m; 236 237 // m = new Message(); 238 239 // m.Msg = (int)WndMsg.WM_RBUTTONDOWN; 240 // m.HWnd = this.Handle; 241 // m.WParam = (IntPtr)0x01; 242 // m.LParam = (IntPtr)0x9004f; 243 // this.WndProc(ref m); 244 // } 245 246 //public void MouseRightUp() 247 // { 248 // Message m; 249 250 // m = new Message(); 251 252 // m.Msg = (int)WndMsg.WM_RBUTTONUP; 253 // m.HWnd = this.Handle; 254 // m.WParam = (IntPtr)0x01; 255 // m.LParam = (IntPtr)0x9004f; 256 // this.WndProc(ref m); 257 // } 258 ScrollNow()259 public void ScrollNow () 260 { 261 Message m; 262 263 m = new Message (); 264 265 m.Msg = 8468; 266 m.HWnd = this.Handle; 267 m.WParam = (IntPtr)0x1; 268 m.LParam = (IntPtr)0x1a051a; 269 this.WndProc(ref m); 270 271 m.Msg = 233; 272 m.HWnd = this.Handle; 273 m.WParam = (IntPtr)0x1; 274 m.LParam = (IntPtr)0x12eb34; 275 this.WndProc(ref m); 276 } 277 } 278 [TestFixture] 279 public class ScrollBarTest : TestHelper 280 { 281 [Test] PubPropTest()282 public void PubPropTest () 283 { 284 MyScrollBar myscrlbar = new MyScrollBar (); 285 286 // B 287 myscrlbar.BackColor = Color.Red; 288 Assert.AreEqual (255, myscrlbar.BackColor.R, "B2"); 289 myscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png"); 290 Assert.AreEqual (16, myscrlbar.BackgroundImage.Height, "B3"); 291 292 // F 293 Assert.AreEqual ("ControlText", myscrlbar.ForeColor.Name, "F1"); 294 295 // I 296 //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1"); 297 298 // L 299 Assert.AreEqual (10, myscrlbar.LargeChange, "L1"); 300 301 // M 302 Assert.AreEqual (100, myscrlbar.Maximum, "M1"); 303 Assert.AreEqual (0, myscrlbar.Minimum, "M2"); 304 myscrlbar.Maximum = 300; 305 myscrlbar.Minimum = 100; 306 Assert.AreEqual (300, myscrlbar.Maximum, "M3"); 307 Assert.AreEqual (100, myscrlbar.Minimum, "M4"); 308 309 // S 310 Assert.AreEqual (null, myscrlbar.Site, "S1"); 311 Assert.AreEqual (1, myscrlbar.SmallChange, "S2"); 312 myscrlbar.SmallChange = 10; 313 Assert.AreEqual (10, myscrlbar.SmallChange, "S3"); 314 315 // T 316 Assert.AreEqual (false, myscrlbar.TabStop, "T1"); 317 myscrlbar.TabStop = true; 318 Assert.AreEqual (true, myscrlbar.TabStop, "T2"); 319 Assert.AreEqual ("", myscrlbar.Text, "T3"); 320 myscrlbar.Text = "MONO SCROLLBAR"; 321 Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "T4"); 322 323 // V 324 Assert.AreEqual (100, myscrlbar.Value, "V1"); 325 myscrlbar.Value = 150; 326 Assert.AreEqual (150, myscrlbar.Value, "V2"); 327 } 328 329 [Test] 330 [ExpectedException (typeof (ArgumentOutOfRangeException))] ExceptionValueTest()331 public void ExceptionValueTest () 332 { 333 MyScrollBar myscrlbar = new MyScrollBar (); 334 myscrlbar.Minimum = 10; 335 myscrlbar.Maximum = 20; 336 myscrlbar.Value = 9; 337 myscrlbar.Value = 21; 338 } 339 340 [Test] 341 [ExpectedException (typeof (ArgumentOutOfRangeException))] ExceptionSmallChangeTest()342 public void ExceptionSmallChangeTest () 343 { 344 MyScrollBar myscrlbar = new MyScrollBar (); 345 myscrlbar.SmallChange = -1; 346 } 347 348 [Test] 349 [ExpectedException (typeof (ArgumentOutOfRangeException))] ExceptionLargeChangeTest()350 public void ExceptionLargeChangeTest () 351 { 352 MyScrollBar myscrlbar = new MyScrollBar (); 353 myscrlbar.LargeChange = -1; 354 } 355 356 [Test] PubMethodTest()357 public void PubMethodTest () 358 { 359 MyScrollBar myscrlbar = new MyScrollBar (); 360 myscrlbar.Text = "New HScrollBar"; 361 Assert.AreEqual ("MonoTests.System.Windows.Forms.MyScrollBar, Minimum: 0, Maximum: 100, Value: 0", 362 myscrlbar.ToString (), "T5"); 363 } 364 365 [Test] DefaultMarginTest()366 public void DefaultMarginTest () 367 { 368 MyScrollBar s = new MyScrollBar (); 369 Assert.AreEqual (new Padding (0), s.PublicDefaultMargin, "A1"); 370 } 371 372 [Test] GetScaledBoundsTest()373 public void GetScaledBoundsTest () 374 { 375 ScaleScrollBar c = new ScaleScrollBar (); 376 377 Rectangle r = new Rectangle (10, 20, 30, 40); 378 379 Assert.AreEqual (new Rectangle (20, 10, 60, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.All), "A1"); 380 Assert.AreEqual (new Rectangle (20, 10, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Location), "A2"); 381 Assert.AreEqual (new Rectangle (10, 20, 60, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Size), "A3"); 382 Assert.AreEqual (new Rectangle (10, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Height), "A4"); 383 Assert.AreEqual (new Rectangle (20, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.X), "A5"); 384 Assert.AreEqual (new Rectangle (10, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.None), "A6"); 385 } 386 387 private class ScaleScrollBar : ScrollBar 388 { PublicGetScaledBounds(Rectangle bounds, SizeF factor, BoundsSpecified specified)389 public Rectangle PublicGetScaledBounds (Rectangle bounds, SizeF factor, BoundsSpecified specified) 390 { 391 return base.GetScaledBounds (bounds, factor, specified); 392 } 393 } 394 395 [Test] HScrollGetScaledBoundsTest()396 public void HScrollGetScaledBoundsTest () 397 { 398 HScaleScrollBar c = new HScaleScrollBar (); 399 400 Rectangle r = new Rectangle (10, 20, 30, 40); 401 402 Assert.AreEqual (new Rectangle (20, 10, 60, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.All), "A1"); 403 Assert.AreEqual (new Rectangle (20, 10, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Location), "A2"); 404 Assert.AreEqual (new Rectangle (10, 20, 60, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Size), "A3"); 405 Assert.AreEqual (new Rectangle (10, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Height), "A4"); 406 Assert.AreEqual (new Rectangle (20, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.X), "A5"); 407 Assert.AreEqual (new Rectangle (10, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.None), "A6"); 408 } 409 410 private class HScaleScrollBar : HScrollBar 411 { PublicGetScaledBounds(Rectangle bounds, SizeF factor, BoundsSpecified specified)412 public Rectangle PublicGetScaledBounds (Rectangle bounds, SizeF factor, BoundsSpecified specified) 413 { 414 return base.GetScaledBounds (bounds, factor, specified); 415 } 416 } 417 418 [Test] VScrollGetScaledBoundsTest()419 public void VScrollGetScaledBoundsTest () 420 { 421 VScaleScrollBar c = new VScaleScrollBar (); 422 423 Rectangle r = new Rectangle (10, 20, 30, 40); 424 425 Assert.AreEqual (new Rectangle (20, 10, 30, 20), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.All), "A1"); 426 Assert.AreEqual (new Rectangle (20, 10, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Location), "A2"); 427 Assert.AreEqual (new Rectangle (10, 20, 30, 20), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Size), "A3"); 428 Assert.AreEqual (new Rectangle (10, 20, 30, 20), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.Height), "A4"); 429 Assert.AreEqual (new Rectangle (20, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.X), "A5"); 430 Assert.AreEqual (new Rectangle (10, 20, 30, 40), c.PublicGetScaledBounds (r, new SizeF (2f, .5f), BoundsSpecified.None), "A6"); 431 } 432 433 private class VScaleScrollBar : VScrollBar 434 { PublicGetScaledBounds(Rectangle bounds, SizeF factor, BoundsSpecified specified)435 public Rectangle PublicGetScaledBounds (Rectangle bounds, SizeF factor, BoundsSpecified specified) 436 { 437 return base.GetScaledBounds (bounds, factor, specified); 438 } 439 } 440 441 [Test] MaximumValueTest()442 public void MaximumValueTest () 443 { 444 ScrollBar s = new VScrollBar (); 445 446 s.LargeChange = 0; 447 s.Maximum = 100; 448 s.Value = 20; 449 s.Maximum = 0; 450 451 Assert.AreEqual (0, s.LargeChange, "A1"); 452 Assert.AreEqual (0, s.Maximum, "A2"); 453 Assert.AreEqual (0, s.Value, "A3"); 454 } 455 456 [Test] LargeSmallerThanSmallChange()457 public void LargeSmallerThanSmallChange () 458 { 459 ScrollBar s = new VScrollBar (); 460 461 s.LargeChange = 0; 462 463 Assert.AreEqual (0, s.LargeChange, "A1"); 464 Assert.AreEqual (0, s.SmallChange, "A2"); 465 466 s.SmallChange = 10; 467 468 Assert.AreEqual (0, s.LargeChange, "A3"); 469 Assert.AreEqual (0, s.SmallChange, "A4"); 470 471 s.LargeChange = 15; 472 473 Assert.AreEqual (15, s.LargeChange, "A5"); 474 Assert.AreEqual (10, s.SmallChange, "A6"); 475 476 s.LargeChange = 5; 477 478 Assert.AreEqual (5, s.LargeChange, "A7"); 479 Assert.AreEqual (5, s.SmallChange, "A8"); 480 } 481 482 [Test] CalculateLargeChange()483 public void CalculateLargeChange () 484 { 485 ScrollBar s = new HScrollBar (); 486 487 s.Minimum = -50; 488 s.Maximum = 50; 489 s.LargeChange = 1000; 490 491 Assert.AreEqual (101, s.LargeChange, "A1"); 492 493 s.Maximum = 200; 494 s.Minimum = 199; 495 s.LargeChange = 1000; 496 497 Assert.AreEqual (2, s.LargeChange, "A2"); 498 499 s.Minimum = 200; 500 s.LargeChange = 1000; 501 502 Assert.AreEqual (1, s.LargeChange, "A3"); 503 } 504 } 505 506 [TestFixture] 507 public class ScrollBarEventTest : TestHelper 508 { 509 static bool eventhandled = false; ScrollBar_EventHandler(object sender,EventArgs e)510 public void ScrollBar_EventHandler (object sender,EventArgs e) 511 { 512 eventhandled = true; 513 } 514 ScrollBarMouse_EventHandler(object sender,MouseEventArgs e)515 public void ScrollBarMouse_EventHandler (object sender,MouseEventArgs e) 516 { 517 eventhandled = true; 518 } 519 ScrollBarScroll_EventHandler(object sender,ScrollEventArgs e)520 public void ScrollBarScroll_EventHandler (object sender,ScrollEventArgs e) 521 { 522 eventhandled = true; 523 } 524 ScrollBarPaint_EventHandler(object sender,PaintEventArgs e)525 public void ScrollBarPaint_EventHandler (object sender,PaintEventArgs e) 526 { 527 eventhandled = true; 528 } 529 530 [Test] BackColorChangedTest()531 public void BackColorChangedTest () 532 { 533 Form myform = new Form (); 534 myform.ShowInTaskbar = false; 535 myform.Visible = true; 536 ScrollBar myHscrlbar = new HScrollBar (); 537 myform.Controls.Add (myHscrlbar); 538 myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler); 539 myHscrlbar.BackColor = Color.Red; 540 Assert.AreEqual (true, eventhandled, "B4"); 541 eventhandled = false; 542 myform.Dispose (); 543 } 544 545 [Test] BackgroundImageChangedTest()546 public void BackgroundImageChangedTest () 547 { 548 Form myform = new Form (); 549 myform.ShowInTaskbar = false; 550 myform.Visible = true; 551 ScrollBar myHscrlbar = new HScrollBar (); 552 myform.Controls.Add (myHscrlbar); 553 myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler); 554 myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png"); 555 Assert.AreEqual (true, eventhandled, "B5"); 556 eventhandled = false; 557 myform.Dispose (); 558 } 559 560 [Test] FontChangedTest()561 public void FontChangedTest () 562 { 563 Form myform = new Form (); 564 myform.ShowInTaskbar = false; 565 myform.Visible = true; 566 ScrollBar myHscrlbar = new HScrollBar (); 567 myform.Controls.Add (myHscrlbar); 568 myHscrlbar.Font = new Font (FontFamily.GenericMonospace, 10); 569 myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler); 570 FontDialog myFontDialog = new FontDialog(); 571 myHscrlbar.Font = myFontDialog.Font; 572 Assert.AreEqual (true, eventhandled, "F2"); 573 eventhandled = false; 574 myform.Dispose (); 575 } 576 577 [Test] ForeColorChangedTest()578 public void ForeColorChangedTest () 579 { 580 Form myform = new Form (); 581 myform.ShowInTaskbar = false; 582 myform.Visible = true; 583 ScrollBar myHscrlbar = new HScrollBar (); 584 myform.Controls.Add (myHscrlbar); 585 myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler); 586 myHscrlbar.ForeColor = Color.Azure; 587 Assert.AreEqual (true, eventhandled, "F3"); 588 eventhandled = false; 589 myform.Dispose (); 590 } 591 592 [Test] ImeModehangedTest()593 public void ImeModehangedTest () 594 { 595 Form myform = new Form (); 596 myform.ShowInTaskbar = false; 597 myform.Visible = true; 598 ScrollBar myHscrlbar = new HScrollBar (); 599 myform.Controls.Add (myHscrlbar); 600 myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler); 601 myHscrlbar.ImeMode = ImeMode.Katakana; 602 Assert.AreEqual (true, eventhandled, "I2"); 603 eventhandled = false; 604 myform.Dispose (); 605 } 606 607 //[Test] 608 //public void MouseDownTest () 609 // { 610 // Form myform = new Form (); 611 // myform.ShowInTaskbar = false; 612 // myform.Visible = true; 613 // MyScrollBar myHscrlbar = new MyScrollBar (); 614 // myform.Controls.Add (myHscrlbar); 615 // myHscrlbar.MouseDown += new MouseEventHandler (ScrollBarMouse_EventHandler); 616 // myHscrlbar.MouseRightDown (); 617 618 // Assert.AreEqual (true, eventhandled, "M5"); 619 // eventhandled = false; 620 // myform.Dispose (); 621 // } 622 623 //[Test] 624 //public void MouseMoveTest () 625 // { 626 // Form myform = new Form (); 627 // myform.ShowInTaskbar = false; 628 // myform.Visible = true; 629 // MyScrollBar myHscrlbar = new MyScrollBar (); 630 // myform.Controls.Add (myHscrlbar); 631 // myHscrlbar.MouseMove += new MouseEventHandler (ScrollBarMouse_EventHandler); 632 // myHscrlbar.MoveMouse (); 633 634 // Assert.AreEqual (true, eventhandled, "M6"); 635 // eventhandled = false; 636 // myform.Dispose (); 637 // } 638 639 //[Test] 640 //public void MouseUpTest () 641 // { 642 // Form myform = new Form (); 643 // myform.ShowInTaskbar = false; 644 // myform.Visible = true; 645 // MyScrollBar myHscrlbar = new MyScrollBar (); 646 // myform.Controls.Add (myHscrlbar); 647 // myHscrlbar.MouseUp += new MouseEventHandler (ScrollBarMouse_EventHandler); 648 // myHscrlbar.MouseRightUp (); 649 650 // Assert.AreEqual (true, eventhandled, "M7"); 651 // eventhandled = false; 652 // myform.Dispose (); 653 // } 654 655 [Test] 656 [Category ("NotWorking")] ScrollTest()657 public void ScrollTest () 658 { 659 Form myform = new Form (); 660 myform.ShowInTaskbar = false; 661 myform.Visible = true; 662 MyScrollBar myHscrlbar = new MyScrollBar (); 663 myform.Controls.Add (myHscrlbar); 664 myHscrlbar.Scroll += new ScrollEventHandler (ScrollBarScroll_EventHandler); 665 myHscrlbar.ScrollNow (); 666 667 Assert.AreEqual (true, eventhandled, "S4"); 668 eventhandled = false; 669 myform.Dispose (); 670 } 671 672 [Test] TextChangedTest()673 public void TextChangedTest () 674 { 675 Form myform = new Form (); 676 myform.ShowInTaskbar = false; 677 myform.Visible = true; 678 MyScrollBar myHscrlbar = new MyScrollBar (); 679 myform.Controls.Add (myHscrlbar); 680 myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler); 681 myHscrlbar.Text = "foo"; 682 683 Assert.AreEqual (true, eventhandled, "T6"); 684 eventhandled = false; 685 myform.Dispose (); 686 } 687 688 [Test] ValueChangeTest()689 public void ValueChangeTest () 690 { 691 Form myform = new Form (); 692 myform.ShowInTaskbar = false; 693 myform.Visible = true; 694 MyScrollBar myHscrlbar = new MyScrollBar (); 695 myform.Controls.Add (myHscrlbar); 696 myHscrlbar.Value = 40 ; 697 myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler); 698 myHscrlbar.Value = 50 ; 699 Assert.AreEqual (true, eventhandled, "V3"); 700 eventhandled = false; 701 myform.Dispose (); 702 } 703 } 704 705 public class MyHScrollBar : HScrollBar 706 { MyHScrollBar()707 public MyHScrollBar () : base () 708 { 709 } 710 711 public Size MyDefaultSize { 712 get { return DefaultSize; } 713 } 714 715 public CreateParams MyCreateParams { 716 get { return CreateParams; } 717 } 718 } 719 720 [TestFixture] 721 public class MyHScrollBarTest : TestHelper 722 { 723 [Test] ProtectedTest()724 public void ProtectedTest () 725 { 726 MyHScrollBar msbar = new MyHScrollBar (); 727 728 Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1"); 729 // this is environment dependent. 730 //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2"); 731 } 732 } 733 734 public class MyVScrollBar : VScrollBar 735 { MyVScrollBar()736 public MyVScrollBar () : base () 737 { 738 } 739 740 public Size MyDefaultSize { 741 get { return DefaultSize; } 742 } 743 744 public CreateParams MyCreateParams { 745 get { return CreateParams; } 746 } 747 } 748 749 [TestFixture] 750 public class MyVScrollBarTest : TestHelper 751 { 752 [Test] PubMethodTest()753 public void PubMethodTest () 754 { 755 MyVScrollBar msbar = new MyVScrollBar (); 756 757 Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1"); 758 759 } 760 761 [Test] ProtMethodTest()762 public void ProtMethodTest () 763 { 764 MyVScrollBar msbar = new MyVScrollBar (); 765 766 // This is environment dependent. 767 //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3"); 768 Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4"); 769 } 770 } 771 772 [TestFixture] 773 [Ignore("Tests too strict")] 774 public class HScrollBarTestEventsOrder : TestHelper 775 { ArrayListToString(ArrayList arrlist)776 public string [] ArrayListToString (ArrayList arrlist) 777 { 778 string [] retval = new string [arrlist.Count]; 779 for (int i = 0; i < arrlist.Count; i++) 780 retval[i] = (string)arrlist[i]; 781 return retval; 782 } 783 784 [Test] CreateEventsOrder()785 public void CreateEventsOrder () 786 { 787 string[] EventsWanted = { 788 "OnHandleCreated", 789 "OnBindingContextChanged", 790 "OnBindingContextChanged" 791 }; 792 Form myform = new Form (); 793 myform.ShowInTaskbar = false; 794 myform.Visible = true; 795 MyScrollBar s = new MyScrollBar (); 796 myform.Controls.Add (s); 797 798 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 799 myform.Dispose (); 800 } 801 802 [Test] BackColorChangedEventsOrder()803 public void BackColorChangedEventsOrder () 804 { 805 string[] EventsWanted = { 806 "OnHandleCreated", 807 "OnBindingContextChanged", 808 "OnBindingContextChanged", 809 "OnBackColorChanged", 810 "OnInvalidated" 811 }; 812 Form myform = new Form (); 813 myform.ShowInTaskbar = false; 814 myform.Visible = true; 815 MyScrollBar s = new MyScrollBar (); 816 myform.Controls.Add (s); 817 s.BackColor = Color.Aqua; 818 819 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 820 myform.Dispose (); 821 } 822 823 [Test] BackgroundImageChangedEventsOrder()824 public void BackgroundImageChangedEventsOrder () 825 { 826 string[] EventsWanted = { 827 "OnHandleCreated", 828 "OnBindingContextChanged", 829 "OnBindingContextChanged", 830 "OnBackgroundImageChanged", 831 "OnInvalidated" 832 }; 833 Form myform = new Form (); 834 myform.ShowInTaskbar = false; 835 myform.Visible = true; 836 MyScrollBar s = new MyScrollBar (); 837 myform.Controls.Add (s); 838 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png"); 839 840 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 841 myform.Dispose (); 842 } 843 844 //[Test, Ignore ("Need to send proper Click / DoubleClick")] 845 //public void ClickEventsOrder () 846 // { 847 // string[] EventsWanted = { 848 // "OnHandleCreated", 849 // "OnBindingContextChanged", 850 // "OnBindingContextChanged" 851 // }; 852 // Form myform = new Form (); 853 // myform.ShowInTaskbar = false; 854 // myform.Visible = true; 855 // MyScrollBar s = new MyScrollBar (); 856 // myform.Controls.Add (s); 857 // s.MouseClick (); 858 859 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 860 // myform.Dispose (); 861 // } 862 863 //[Test, Ignore ("Need to send proper Click / DoubleClick")] 864 //public void DoubleClickEventsOrder () 865 // { 866 // string[] EventsWanted = { 867 // "OnHandleCreated", 868 // "OnBindingContextChanged", 869 // "OnBindingContextChanged" 870 // }; 871 // Form myform = new Form (); 872 // myform.ShowInTaskbar = false; 873 // myform.Visible = true; 874 // MyScrollBar s = new MyScrollBar (); 875 // myform.Controls.Add (s); 876 // s.MouseDoubleClick (); 877 878 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 879 // myform.Dispose (); 880 // } 881 882 [Test] FontChangedEventsOrder()883 public void FontChangedEventsOrder () 884 { 885 string[] EventsWanted = { 886 "OnHandleCreated", 887 "OnBindingContextChanged", 888 "OnBindingContextChanged" 889 }; 890 Form myform = new Form (); 891 myform.ShowInTaskbar = false; 892 myform.Visible = true; 893 MyScrollBar s = new MyScrollBar (); 894 myform.Controls.Add (s); 895 FontDialog myFontDialog = new FontDialog(); 896 s.Font = myFontDialog.Font; 897 898 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 899 myform.Dispose (); 900 } 901 902 [Test] ForeColorChangedEventsOrder()903 public void ForeColorChangedEventsOrder () 904 { 905 string[] EventsWanted = { 906 "OnHandleCreated", 907 "OnBindingContextChanged", 908 "OnBindingContextChanged", 909 "OnForeColorChanged", 910 "OnInvalidated" 911 }; 912 Form myform = new Form (); 913 myform.ShowInTaskbar = false; 914 myform.Visible = true; 915 MyScrollBar s = new MyScrollBar (); 916 myform.Controls.Add (s); 917 s.ForeColor = Color.Aqua; 918 919 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 920 myform.Dispose (); 921 } 922 923 [Test] ImeModeChangedChangedEventsOrder()924 public void ImeModeChangedChangedEventsOrder () 925 { 926 string[] EventsWanted = { 927 "OnHandleCreated", 928 "OnBindingContextChanged", 929 "OnBindingContextChanged", 930 "OnImeModeChanged" 931 }; 932 Form myform = new Form (); 933 myform.ShowInTaskbar = false; 934 myform.Visible = true; 935 MyScrollBar s = new MyScrollBar (); 936 myform.Controls.Add (s); 937 s.ImeMode = ImeMode.Katakana; 938 939 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 940 myform.Dispose (); 941 } 942 943 //[Test] 944 //public void MouseDownEventsOrder () 945 // { 946 // string[] EventsWanted = { 947 // "OnHandleCreated", 948 // "OnBindingContextChanged", 949 // "OnBindingContextChanged", 950 // "OnMouseDown" 951 // }; 952 // Form myform = new Form (); 953 // myform.ShowInTaskbar = false; 954 // myform.Visible = true; 955 // MyScrollBar s = new MyScrollBar (); 956 // myform.Controls.Add (s); 957 // s.MouseRightDown (); 958 959 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 960 // myform.Dispose (); 961 // } 962 963 //[Test] 964 //public void MouseMoveEventsOrder () 965 // { 966 // string[] EventsWanted = { 967 // "OnHandleCreated", 968 // "OnBindingContextChanged", 969 // "OnBindingContextChanged", 970 // "OnMouseMove", 971 // "OnMouseHover" 972 // }; 973 // Form myform = new Form (); 974 // myform.ShowInTaskbar = false; 975 // myform.Visible = true; 976 // MyScrollBar s = new MyScrollBar (); 977 // myform.Controls.Add (s); 978 // s.MoveMouse (); 979 980 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 981 // myform.Dispose (); 982 // } 983 984 //[Test] 985 //public void MouseUpEventsOrder () 986 // { 987 // string[] EventsWanted = { 988 // "OnHandleCreated", 989 // "OnBindingContextChanged", 990 // "OnBindingContextChanged", 991 // "OnMouseUp" 992 // }; 993 // Form myform = new Form (); 994 // myform.ShowInTaskbar = false; 995 // myform.Visible = true; 996 // MyScrollBar s = new MyScrollBar (); 997 // myform.Controls.Add (s); 998 // s.MouseRightUp (); 999 1000 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1001 // myform.Dispose (); 1002 // } 1003 1004 [Test] PaintEventsOrder()1005 public void PaintEventsOrder () 1006 { 1007 string[] EventsWanted = { 1008 "OnHandleCreated", 1009 "OnBindingContextChanged", 1010 "OnBindingContextChanged", 1011 "OnInvalidated" 1012 }; 1013 Form myform = new Form (); 1014 myform.ShowInTaskbar = false; 1015 myform.Visible = true; 1016 MyScrollBar s = new MyScrollBar (); 1017 myform.Controls.Add (s); 1018 s.Visible = true; 1019 s.Refresh (); 1020 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1021 myform.Dispose (); 1022 } 1023 1024 [Test] ScrollEventsOrder()1025 public void ScrollEventsOrder () 1026 { 1027 string[] EventsWanted = { 1028 "OnHandleCreated", 1029 "OnBindingContextChanged", 1030 "OnBindingContextChanged", 1031 "OnScroll", 1032 "OnValueChanged" 1033 }; 1034 Form myform = new Form (); 1035 myform.ShowInTaskbar = false; 1036 myform.Visible = true; 1037 MyScrollBar s = new MyScrollBar (); 1038 myform.Controls.Add (s); 1039 s.ScrollNow (); 1040 1041 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1042 myform.Dispose (); 1043 } 1044 1045 [Test] TextChangedEventsOrder()1046 public void TextChangedEventsOrder () 1047 { 1048 string[] EventsWanted = { 1049 "OnHandleCreated", 1050 "OnBindingContextChanged", 1051 "OnBindingContextChanged", 1052 "OnTextChanged" 1053 }; 1054 Form myform = new Form (); 1055 myform.ShowInTaskbar = false; 1056 myform.Visible = true; 1057 MyScrollBar s = new MyScrollBar (); 1058 myform.Controls.Add (s); 1059 s.Text = "foobar"; 1060 1061 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1062 myform.Dispose (); 1063 } 1064 1065 [Test] ValueChangedEventsOrder()1066 public void ValueChangedEventsOrder () 1067 { 1068 string[] EventsWanted = { 1069 "OnHandleCreated", 1070 "OnBindingContextChanged", 1071 "OnBindingContextChanged", 1072 "OnValueChanged" 1073 }; 1074 Form myform = new Form (); 1075 myform.ShowInTaskbar = false; 1076 myform.Visible = true; 1077 MyScrollBar s = new MyScrollBar (); 1078 myform.Controls.Add (s); 1079 s.Value = 10; 1080 1081 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1082 myform.Dispose (); 1083 } 1084 } 1085 1086 public class MyScrollBar2 : HScrollBar 1087 { 1088 protected ArrayList results = new ArrayList (); MyScrollBar2()1089 public MyScrollBar2 () : base () 1090 { 1091 this.HandleCreated += new EventHandler (HandleCreated_Handler); 1092 this.BackColorChanged += new EventHandler (BackColorChanged_Handler); 1093 this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler); 1094 this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler); 1095 this.Click += new EventHandler (Click_Handler); 1096 this.DoubleClick += new EventHandler (DoubleClick_Handler); 1097 this.FontChanged += new EventHandler (FontChanged_Handler); 1098 this.ForeColorChanged += new EventHandler (ForeColorChanged_Handler); 1099 this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler); 1100 this.MouseDown += new MouseEventHandler (MouseDown_Handler); 1101 this.MouseMove += new MouseEventHandler (MouseMove_Handler); 1102 this.MouseUp += new MouseEventHandler (MouseUp_Handler); 1103 this.Invalidated += new InvalidateEventHandler (Invalidated_Handler); 1104 this.Resize += new EventHandler (Resize_Handler); 1105 this.SizeChanged += new EventHandler (SizeChanged_Handler); 1106 this.Layout += new LayoutEventHandler (Layout_Handler); 1107 this.VisibleChanged += new EventHandler (VisibleChanged_Handler); 1108 this.Paint += new PaintEventHandler (Paint_Handler); 1109 this.Scroll += new ScrollEventHandler (Scroll_Handler); 1110 this.TextChanged += new EventHandler (TextChanged_Handler); 1111 this.ValueChanged += new EventHandler (ValueChanged_Handler); 1112 } 1113 HandleCreated_Handler(object sender, EventArgs e)1114 protected void HandleCreated_Handler (object sender, EventArgs e) 1115 { 1116 results.Add ("HandleCreated"); 1117 } 1118 BackColorChanged_Handler(object sender, EventArgs e)1119 protected void BackColorChanged_Handler (object sender, EventArgs e) 1120 { 1121 results.Add ("BackColorChanged"); 1122 } 1123 BackgroundImageChanged_Handler(object sender, EventArgs e)1124 protected void BackgroundImageChanged_Handler (object sender, EventArgs e) 1125 { 1126 results.Add ("BackgroundImageChanged"); 1127 } 1128 Click_Handler(object sender, EventArgs e)1129 protected void Click_Handler (object sender, EventArgs e) 1130 { 1131 results.Add ("Click"); 1132 } 1133 DoubleClick_Handler(object sender, EventArgs e)1134 protected void DoubleClick_Handler (object sender, EventArgs e) 1135 { 1136 results.Add ("DoubleClick"); 1137 } 1138 FontChanged_Handler(object sender, EventArgs e)1139 protected void FontChanged_Handler (object sender, EventArgs e) 1140 { 1141 results.Add ("FontChanged"); 1142 } 1143 ForeColorChanged_Handler(object sender, EventArgs e)1144 protected void ForeColorChanged_Handler (object sender, EventArgs e) 1145 { 1146 results.Add ("ForeColorChanged"); 1147 } 1148 ImeModeChanged_Handler(object sender, EventArgs e)1149 protected void ImeModeChanged_Handler (object sender, EventArgs e) 1150 { 1151 results.Add ("ImeModeChanged"); 1152 } 1153 MouseDown_Handler(object sender, MouseEventArgs e)1154 protected void MouseDown_Handler (object sender, MouseEventArgs e) 1155 { 1156 results.Add ("MouseDown"); 1157 } 1158 MouseMove_Handler(object sender, MouseEventArgs e)1159 protected void MouseMove_Handler (object sender, MouseEventArgs e) 1160 { 1161 results.Add ("MouseMove"); 1162 } 1163 MouseUp_Handler(object sender, MouseEventArgs e)1164 protected void MouseUp_Handler (object sender, MouseEventArgs e) 1165 { 1166 results.Add ("MouseUp"); 1167 } 1168 BindingContextChanged_Handler(object sender, EventArgs e)1169 protected void BindingContextChanged_Handler (object sender, EventArgs e) 1170 { 1171 results.Add ("BindingContextChanged"); 1172 } 1173 Invalidated_Handler(object sender, InvalidateEventArgs e)1174 protected void Invalidated_Handler (object sender, InvalidateEventArgs e) 1175 { 1176 results.Add("Invalidated"); 1177 } 1178 Resize_Handler(object sender, EventArgs e)1179 protected void Resize_Handler (object sender, EventArgs e) 1180 { 1181 results.Add("Resize"); 1182 } 1183 SizeChanged_Handler(object sender, EventArgs e)1184 protected void SizeChanged_Handler (object sender, EventArgs e) 1185 { 1186 results.Add("SizeChanged"); 1187 } 1188 Layout_Handler(object sender, LayoutEventArgs e)1189 protected void Layout_Handler (object sender, LayoutEventArgs e) 1190 { 1191 results.Add("Layout"); 1192 } 1193 VisibleChanged_Handler(object sender, EventArgs e)1194 protected void VisibleChanged_Handler (object sender, EventArgs e) 1195 { 1196 results.Add("VisibleChanged"); 1197 } 1198 Paint_Handler(object sender, PaintEventArgs e)1199 protected void Paint_Handler (object sender, PaintEventArgs e) 1200 { 1201 results.Add("Paint"); 1202 } 1203 Scroll_Handler(object sender, ScrollEventArgs e)1204 protected void Scroll_Handler (object sender, ScrollEventArgs e) 1205 { 1206 results.Add ("Scroll"); 1207 } 1208 TextChanged_Handler(object sender, EventArgs e)1209 protected void TextChanged_Handler (object sender, EventArgs e) 1210 { 1211 results.Add ("TextChanged"); 1212 } 1213 ValueChanged_Handler(object sender, EventArgs e)1214 protected void ValueChanged_Handler (object sender, EventArgs e) 1215 { 1216 results.Add ("ValueChanged"); 1217 } 1218 1219 public ArrayList Results { 1220 get { return results; } 1221 } 1222 1223 //public void MoveMouse () 1224 // { 1225 // Message m; 1226 1227 // m = new Message (); 1228 1229 // m.Msg = (int)WndMsg.WM_NCHITTEST; 1230 // m.HWnd = this.Handle; 1231 // m.WParam = (IntPtr)0x0; 1232 // m.LParam = (IntPtr)0x1c604ea; 1233 // this.WndProc(ref m); 1234 1235 // m.Msg = (int)WndMsg.WM_SETCURSOR; 1236 // m.HWnd = this.Handle; 1237 // m.WParam = (IntPtr)0x100448; 1238 // m.LParam = (IntPtr)0x2000001; 1239 // this.WndProc(ref m); 1240 1241 // m.Msg = (int)WndMsg.WM_MOUSEFIRST; 1242 // m.HWnd = this.Handle; 1243 // m.WParam = (IntPtr)0x0; 1244 // m.LParam = (IntPtr)0x14000b; 1245 // this.WndProc(ref m); 1246 1247 // m.Msg = (int)WndMsg.WM_MOUSEHOVER; 1248 // m.HWnd = this.Handle; 1249 // m.WParam = (IntPtr)0x0; 1250 // m.LParam = (IntPtr)0x14000b; 1251 // this.WndProc(ref m); 1252 // } 1253 1254 //public void MouseRightDown() 1255 // { 1256 // Message m; 1257 1258 // m = new Message(); 1259 1260 // m.Msg = (int)WndMsg.WM_RBUTTONDOWN; 1261 // m.HWnd = this.Handle; 1262 // m.WParam = (IntPtr)0x01; 1263 // m.LParam = (IntPtr)0x9004f; 1264 // this.WndProc(ref m); 1265 // } 1266 1267 //public new void MouseClick() 1268 // { 1269 // Message m; 1270 1271 // m = new Message(); 1272 1273 // m.Msg = (int)WndMsg.WM_LBUTTONDOWN; 1274 // m.HWnd = this.Handle; 1275 // m.WParam = (IntPtr)0x01; 1276 // m.LParam = (IntPtr)0x9004f; 1277 // this.WndProc(ref m); 1278 1279 // m = new Message(); 1280 1281 // m.Msg = (int)WndMsg.WM_LBUTTONUP; 1282 // m.HWnd = this.Handle; 1283 // m.WParam = (IntPtr)0x01; 1284 // m.LParam = (IntPtr)0x9004f; 1285 // this.WndProc(ref m); 1286 // } 1287 1288 //public new void MouseDoubleClick () 1289 // { 1290 // MouseClick (); 1291 // MouseClick (); 1292 // } 1293 1294 //public void MouseRightUp() 1295 // { 1296 // Message m; 1297 1298 // m = new Message(); 1299 1300 // m.Msg = (int)WndMsg.WM_RBUTTONUP; 1301 // m.HWnd = this.Handle; 1302 // m.WParam = (IntPtr)0x01; 1303 // m.LParam = (IntPtr)0x9004f; 1304 // this.WndProc(ref m); 1305 // } 1306 ScrollNow()1307 public void ScrollNow () 1308 { 1309 Message m; 1310 1311 m = new Message (); 1312 1313 m.Msg = 8468; 1314 m.HWnd = this.Handle; 1315 m.WParam = (IntPtr)0x1; 1316 m.LParam = (IntPtr)0x1a051a; 1317 this.WndProc (ref m); 1318 1319 m.Msg = 233; 1320 m.HWnd = this.Handle; 1321 m.WParam = (IntPtr)0x1; 1322 m.LParam = (IntPtr)0x12eb34; 1323 this.WndProc (ref m); 1324 } 1325 } 1326 1327 [TestFixture] 1328 [Ignore("Tests too strict")] 1329 public class HScrollBarTestEventsOrder2 : TestHelper 1330 { ArrayListToString(ArrayList arrlist)1331 public string [] ArrayListToString (ArrayList arrlist) 1332 { 1333 string [] retval = new string [arrlist.Count]; 1334 for (int i = 0; i < arrlist.Count; i++) 1335 retval[i] = (string)arrlist[i]; 1336 return retval; 1337 } 1338 1339 [Test] CreateEventsOrder()1340 public void CreateEventsOrder () 1341 { 1342 string[] EventsWanted = { 1343 "HandleCreated", 1344 "BindingContextChanged", 1345 "BindingContextChanged" 1346 }; 1347 Form myform = new Form (); 1348 myform.ShowInTaskbar = false; 1349 myform.Visible = true; 1350 MyScrollBar2 s = new MyScrollBar2 (); 1351 myform.Controls.Add (s); 1352 1353 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1354 myform.Dispose (); 1355 } 1356 1357 [Test] BackColorChangedEventsOrder()1358 public void BackColorChangedEventsOrder () 1359 { 1360 string[] EventsWanted = { 1361 "HandleCreated", 1362 "BindingContextChanged", 1363 "BindingContextChanged", 1364 "Invalidated", 1365 "BackColorChanged" 1366 }; 1367 Form myform = new Form (); 1368 myform.ShowInTaskbar = false; 1369 myform.Visible = true; 1370 MyScrollBar2 s = new MyScrollBar2 (); 1371 myform.Controls.Add (s); 1372 s.BackColor = Color.Aqua; 1373 1374 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1375 myform.Dispose (); 1376 } 1377 1378 [Test] BackgroundImageChangedEventsOrder()1379 public void BackgroundImageChangedEventsOrder () 1380 { 1381 string[] EventsWanted = { 1382 "HandleCreated", 1383 "BindingContextChanged", 1384 "BindingContextChanged", 1385 "Invalidated", 1386 "BackgroundImageChanged" 1387 1388 }; 1389 Form myform = new Form (); 1390 myform.ShowInTaskbar = false; 1391 myform.Visible = true; 1392 MyScrollBar2 s = new MyScrollBar2 (); 1393 myform.Controls.Add (s); 1394 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png"); 1395 1396 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1397 myform.Dispose (); 1398 } 1399 1400 //[Test, Ignore ("Need to send proper Click / DoubleClick")] 1401 //public void ClickEventsOrder () 1402 // { 1403 // string[] EventsWanted = { 1404 // "HandleCreated", 1405 // "BindingContextChanged", 1406 // "BindingContextChanged" 1407 // }; 1408 // Form myform = new Form (); 1409 // myform.ShowInTaskbar = false; 1410 // myform.Visible = true; 1411 // MyScrollBar2 s = new MyScrollBar2 (); 1412 // myform.Controls.Add (s); 1413 // s.MouseClick (); 1414 1415 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1416 // myform.Dispose (); 1417 // } 1418 1419 //[Test, Ignore ("Need to send proper Click / DoubleClick")] 1420 //public void DoubleClickEventsOrder () 1421 // { 1422 // string[] EventsWanted = { 1423 // "HandleCreated", 1424 // "BindingContextChanged", 1425 // "BindingContextChanged" 1426 // }; 1427 // Form myform = new Form (); 1428 // myform.ShowInTaskbar = false; 1429 // myform.Visible = true; 1430 // MyScrollBar2 s = new MyScrollBar2 (); 1431 // myform.Controls.Add (s); 1432 // s.MouseDoubleClick (); 1433 1434 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1435 // myform.Dispose (); 1436 // } 1437 1438 [Test] FontChangedEventsOrder()1439 public void FontChangedEventsOrder () 1440 { 1441 string[] EventsWanted = { 1442 "HandleCreated", 1443 "BindingContextChanged", 1444 "BindingContextChanged" 1445 }; 1446 Form myform = new Form (); 1447 myform.ShowInTaskbar = false; 1448 myform.Visible = true; 1449 MyScrollBar2 s = new MyScrollBar2 (); 1450 myform.Controls.Add (s); 1451 FontDialog myFontDialog = new FontDialog(); 1452 s.Font = myFontDialog.Font; 1453 1454 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1455 myform.Dispose (); 1456 } 1457 1458 [Test] ForeColorChangedEventsOrder()1459 public void ForeColorChangedEventsOrder () 1460 { 1461 string[] EventsWanted = { 1462 "HandleCreated", 1463 "BindingContextChanged", 1464 "BindingContextChanged", 1465 "Invalidated", 1466 "ForeColorChanged" 1467 }; 1468 Form myform = new Form (); 1469 myform.ShowInTaskbar = false; 1470 myform.Visible = true; 1471 MyScrollBar2 s = new MyScrollBar2 (); 1472 myform.Controls.Add (s); 1473 s.ForeColor = Color.Aqua; 1474 1475 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1476 myform.Dispose (); 1477 } 1478 1479 [Test] ImeModeChangedChangedEventsOrder()1480 public void ImeModeChangedChangedEventsOrder () 1481 { 1482 string[] EventsWanted = { 1483 "HandleCreated", 1484 "BindingContextChanged", 1485 "BindingContextChanged", 1486 "ImeModeChanged" 1487 }; 1488 Form myform = new Form (); 1489 myform.ShowInTaskbar = false; 1490 myform.Visible = true; 1491 MyScrollBar2 s = new MyScrollBar2 (); 1492 myform.Controls.Add (s); 1493 s.ImeMode = ImeMode.Katakana; 1494 1495 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1496 myform.Dispose (); 1497 } 1498 1499 //[Test] 1500 //public void MouseDownEventsOrder () 1501 // { 1502 // string[] EventsWanted = { 1503 // "HandleCreated", 1504 // "BindingContextChanged", 1505 // "BindingContextChanged", 1506 // "MouseDown" 1507 // }; 1508 // Form myform = new Form (); 1509 // myform.ShowInTaskbar = false; 1510 // myform.Visible = true; 1511 // MyScrollBar2 s = new MyScrollBar2 (); 1512 // myform.Controls.Add (s); 1513 // s.MouseRightDown (); 1514 1515 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1516 // myform.Dispose (); 1517 // } 1518 1519 //[Test] 1520 //public void MouseMoveEventsOrder () 1521 // { 1522 // string[] EventsWanted = { 1523 // "HandleCreated", 1524 // "BindingContextChanged", 1525 // "BindingContextChanged", 1526 // "MouseMove" 1527 // }; 1528 // Form myform = new Form (); 1529 // myform.ShowInTaskbar = false; 1530 // myform.Visible = true; 1531 // MyScrollBar2 s = new MyScrollBar2 (); 1532 // myform.Controls.Add (s); 1533 // s.MoveMouse (); 1534 1535 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1536 // myform.Dispose (); 1537 // } 1538 1539 //[Test] 1540 //public void MouseUpEventsOrder () 1541 // { 1542 // string[] EventsWanted = { 1543 // "HandleCreated", 1544 // "BindingContextChanged", 1545 // "BindingContextChanged", 1546 // "MouseUp" 1547 // }; 1548 // Form myform = new Form (); 1549 // myform.ShowInTaskbar = false; 1550 // myform.Visible = true; 1551 // MyScrollBar2 s = new MyScrollBar2 (); 1552 // myform.Controls.Add (s); 1553 // s.MouseRightUp (); 1554 1555 // Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1556 // myform.Dispose (); 1557 // } 1558 1559 [Test] PaintEventsOrder()1560 public void PaintEventsOrder () 1561 { 1562 string[] EventsWanted = { 1563 "HandleCreated", 1564 "BindingContextChanged", 1565 "BindingContextChanged", 1566 "Invalidated" 1567 }; 1568 Form myform = new Form (); 1569 myform.ShowInTaskbar = false; 1570 myform.Visible = true; 1571 MyScrollBar2 s = new MyScrollBar2 (); 1572 myform.Controls.Add (s); 1573 s.Visible = true; 1574 s.Refresh (); 1575 1576 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1577 myform.Dispose (); 1578 } 1579 1580 [Test] ScrollEventsOrder()1581 public void ScrollEventsOrder () 1582 { 1583 string[] EventsWanted = { 1584 "HandleCreated", 1585 "BindingContextChanged", 1586 "BindingContextChanged", 1587 "Scroll", 1588 "ValueChanged" 1589 }; 1590 Form myform = new Form (); 1591 myform.ShowInTaskbar = false; 1592 myform.Visible = true; 1593 MyScrollBar2 s = new MyScrollBar2 (); 1594 myform.Controls.Add (s); 1595 s.ScrollNow (); 1596 1597 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1598 myform.Dispose (); 1599 } 1600 1601 [Test] TextChangedEventsOrder()1602 public void TextChangedEventsOrder () 1603 { 1604 string[] EventsWanted = { 1605 "HandleCreated", 1606 "BindingContextChanged", 1607 "BindingContextChanged", 1608 "TextChanged" 1609 }; 1610 Form myform = new Form (); 1611 myform.ShowInTaskbar = false; 1612 myform.Visible = true; 1613 MyScrollBar2 s = new MyScrollBar2 (); 1614 myform.Controls.Add (s); 1615 s.Text = "foobar"; 1616 1617 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1618 myform.Dispose (); 1619 } 1620 1621 [Test] ValueChangedEventsOrder()1622 public void ValueChangedEventsOrder () 1623 { 1624 string[] EventsWanted = { 1625 "HandleCreated", 1626 "BindingContextChanged", 1627 "BindingContextChanged", 1628 "ValueChanged" 1629 }; 1630 Form myform = new Form (); 1631 myform.ShowInTaskbar = false; 1632 myform.Visible = true; 1633 MyScrollBar2 s = new MyScrollBar2 (); 1634 myform.Controls.Add (s); 1635 s.Value = 10; 1636 1637 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results)); 1638 myform.Dispose (); 1639 } 1640 } 1641 1642 [TestFixture] 1643 public class ScrollEventArgsTest : TestHelper 1644 { 1645 [Test] Defaults()1646 public void Defaults () 1647 { 1648 ScrollEventArgs e = new ScrollEventArgs (ScrollEventType.EndScroll, 5); 1649 1650 Assert.AreEqual (5, e.NewValue, "A1"); 1651 Assert.AreEqual (-1, e.OldValue, "A2"); 1652 Assert.AreEqual (ScrollOrientation.HorizontalScroll, e.ScrollOrientation, "A3"); 1653 Assert.AreEqual (ScrollEventType.EndScroll, e.Type, "A4"); 1654 1655 e = new ScrollEventArgs (ScrollEventType.EndScroll, 5, 10); 1656 1657 Assert.AreEqual (10, e.NewValue, "A5"); 1658 Assert.AreEqual (5, e.OldValue, "A6"); 1659 Assert.AreEqual (ScrollOrientation.HorizontalScroll, e.ScrollOrientation, "A7"); 1660 Assert.AreEqual (ScrollEventType.EndScroll, e.Type, "A8"); 1661 1662 e = new ScrollEventArgs (ScrollEventType.EndScroll, 5, ScrollOrientation.VerticalScroll); 1663 1664 Assert.AreEqual (5, e.NewValue, "A9"); 1665 Assert.AreEqual (-1, e.OldValue, "A10"); 1666 Assert.AreEqual (ScrollOrientation.VerticalScroll, e.ScrollOrientation, "A11"); 1667 Assert.AreEqual (ScrollEventType.EndScroll, e.Type, "A12"); 1668 1669 e = new ScrollEventArgs (ScrollEventType.EndScroll, 5, 10, ScrollOrientation.VerticalScroll); 1670 1671 Assert.AreEqual (10, e.NewValue, "A13"); 1672 Assert.AreEqual (5, e.OldValue, "A14"); 1673 Assert.AreEqual (ScrollOrientation.VerticalScroll, e.ScrollOrientation, "A15"); 1674 Assert.AreEqual (ScrollEventType.EndScroll, e.Type, "A16"); 1675 } 1676 } 1677 } 1678