ScrollBarTest.cs 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500
  1. //
  2. // Copyright (c) 2005 Novell, Inc.
  3. //
  4. // Authors:
  5. // Hisham Mardam Bey ([email protected])
  6. // Ritvik Mayank ([email protected])
  7. //
  8. //
  9. using System;
  10. using NUnit.Framework;
  11. using System.Windows.Forms;
  12. using System.Drawing;
  13. using System.Collections;
  14. namespace MonoTests.System.Windows.Forms
  15. {
  16. public class MyScrollBar : HScrollBar
  17. {
  18. private ArrayList results = new ArrayList ();
  19. public MyScrollBar () : base ()
  20. {}
  21. protected override void OnBackColorChanged (EventArgs e)
  22. {
  23. results.Add ("OnBackColorChanged");
  24. base.OnBackColorChanged (e);
  25. }
  26. protected override void OnBackgroundImageChanged (EventArgs e)
  27. {
  28. results.Add ("OnBackgroundImageChanged");
  29. base.OnBackgroundImageChanged (e);
  30. }
  31. protected override void OnClick (EventArgs e)
  32. {
  33. results.Add ("OnClick");
  34. base.OnClick (e);
  35. }
  36. protected override void OnDoubleClick (EventArgs e)
  37. {
  38. results.Add ("OnDoubleClick");
  39. base.OnDoubleClick (e);
  40. }
  41. protected override void OnFontChanged (EventArgs e)
  42. {
  43. results.Add ("OnFontChanged");
  44. base.OnFontChanged (e);
  45. }
  46. protected override void OnForeColorChanged (EventArgs e)
  47. {
  48. results.Add ("OnForeColorChanged");
  49. base.OnForeColorChanged (e);
  50. }
  51. protected override void OnImeModeChanged (EventArgs e)
  52. {
  53. results.Add ("OnImeModeChanged");
  54. base.OnImeModeChanged (e);
  55. }
  56. protected override void OnMouseDown (MouseEventArgs e)
  57. {
  58. results.Add ("OnMouseDown");
  59. base.OnMouseDown (e);
  60. }
  61. protected override void OnMouseMove (MouseEventArgs e)
  62. {
  63. results.Add ("OnMouseMove");
  64. base.OnMouseMove (e);
  65. }
  66. protected override void OnMouseEnter (EventArgs e)
  67. {
  68. results.Add ("OnMouseEnter");
  69. base.OnMouseEnter (e);
  70. }
  71. protected override void OnMouseLeave (EventArgs e)
  72. {
  73. results.Add ("OnMouseLeave");
  74. base.OnMouseLeave (e);
  75. }
  76. protected override void OnMouseHover (EventArgs e)
  77. {
  78. results.Add ("OnMouseHover");
  79. base.OnMouseHover (e);
  80. }
  81. protected override void OnMouseUp (MouseEventArgs e)
  82. {
  83. results.Add ("OnMouseUp");
  84. base.OnMouseUp (e);
  85. }
  86. protected override void OnHandleCreated (EventArgs e)
  87. {
  88. results.Add ("OnHandleCreated");
  89. base.OnHandleCreated (e);
  90. }
  91. protected override void OnBindingContextChanged (EventArgs e)
  92. {
  93. results.Add ("OnBindingContextChanged");
  94. base.OnBindingContextChanged (e);
  95. }
  96. protected override void OnInvalidated (InvalidateEventArgs e)
  97. {
  98. results.Add("OnInvalidated");
  99. base.OnInvalidated (e);
  100. }
  101. protected override void OnResize (EventArgs e)
  102. {
  103. results.Add("OnResize");
  104. base.OnResize (e);
  105. }
  106. protected override void OnSizeChanged (EventArgs e)
  107. {
  108. results.Add("OnSizeChanged");
  109. base.OnSizeChanged (e);
  110. }
  111. protected override void OnLayout (LayoutEventArgs e)
  112. {
  113. results.Add("OnLayout");
  114. base.OnLayout (e);
  115. }
  116. protected override void OnVisibleChanged (EventArgs e)
  117. {
  118. results.Add("OnVisibleChanged");
  119. base.OnVisibleChanged (e);
  120. }
  121. protected override void OnScroll (ScrollEventArgs e)
  122. {
  123. results.Add("OnScroll");
  124. base.OnScroll (e);
  125. }
  126. protected override void OnTextChanged (EventArgs e)
  127. {
  128. results.Add("OnTextChanged");
  129. base.OnTextChanged (e);
  130. }
  131. protected override void OnValueChanged (EventArgs e)
  132. {
  133. results.Add("OnValueChanged");
  134. base.OnValueChanged (e);
  135. }
  136. protected override void OnPaint (PaintEventArgs e)
  137. {
  138. results.Add("OnPaint");
  139. base.OnPaint (e);
  140. }
  141. public ArrayList Results {
  142. get { return results; }
  143. }
  144. public void MoveMouse ()
  145. {
  146. Message m;
  147. m = new Message ();
  148. m.Msg = (int)WndMsg.WM_NCHITTEST;
  149. m.HWnd = this.Handle;
  150. m.WParam = (IntPtr)0x0;
  151. m.LParam = (IntPtr)0x1c604ea;
  152. this.WndProc(ref m);
  153. m.Msg = (int)WndMsg.WM_SETCURSOR;
  154. m.HWnd = this.Handle;
  155. m.WParam = (IntPtr)0x100448;
  156. m.LParam = (IntPtr)0x2000001;
  157. this.WndProc(ref m);
  158. m.Msg = (int)WndMsg.WM_MOUSEFIRST;
  159. m.HWnd = this.Handle;
  160. m.WParam = (IntPtr)0x0;
  161. m.LParam = (IntPtr)0x14000b;
  162. this.WndProc(ref m);
  163. m.Msg = (int)WndMsg.WM_MOUSEHOVER;
  164. m.HWnd = this.Handle;
  165. m.WParam = (IntPtr)0x0;
  166. m.LParam = (IntPtr)0x14000b;
  167. this.WndProc(ref m);
  168. }
  169. public new void MouseClick()
  170. {
  171. Message m;
  172. m = new Message();
  173. m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
  174. m.HWnd = this.Handle;
  175. m.WParam = (IntPtr)0x01;
  176. m.LParam = (IntPtr)0x9004f;
  177. this.WndProc(ref m);
  178. m = new Message();
  179. m.Msg = (int)WndMsg.WM_LBUTTONUP;
  180. m.HWnd = this.Handle;
  181. m.WParam = (IntPtr)0x01;
  182. m.LParam = (IntPtr)0x9004f;
  183. this.WndProc(ref m);
  184. }
  185. public new void MouseDoubleClick ()
  186. {
  187. MouseClick ();
  188. MouseClick ();
  189. }
  190. public void MouseRightDown()
  191. {
  192. Message m;
  193. m = new Message();
  194. m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
  195. m.HWnd = this.Handle;
  196. m.WParam = (IntPtr)0x01;
  197. m.LParam = (IntPtr)0x9004f;
  198. this.WndProc(ref m);
  199. }
  200. public void MouseRightUp()
  201. {
  202. Message m;
  203. m = new Message();
  204. m.Msg = (int)WndMsg.WM_RBUTTONUP;
  205. m.HWnd = this.Handle;
  206. m.WParam = (IntPtr)0x01;
  207. m.LParam = (IntPtr)0x9004f;
  208. this.WndProc(ref m);
  209. }
  210. public void ScrollNow ()
  211. {
  212. Message m;
  213. m = new Message ();
  214. m.Msg = 8468;
  215. m.HWnd = this.Handle;
  216. m.WParam = (IntPtr)0x1;
  217. m.LParam = (IntPtr)0x1a051a;
  218. this.WndProc(ref m);
  219. m.Msg = 233;
  220. m.HWnd = this.Handle;
  221. m.WParam = (IntPtr)0x1;
  222. m.LParam = (IntPtr)0x12eb34;
  223. this.WndProc(ref m);
  224. }
  225. }
  226. [TestFixture]
  227. public class ScrollBarTest
  228. {
  229. [Test]
  230. public void PubPropTest ()
  231. {
  232. MyScrollBar myscrlbar = new MyScrollBar ();
  233. // B
  234. myscrlbar.BackColor = Color.Red;
  235. Assert.AreEqual (255, myscrlbar.BackColor.R, "B2");
  236. myscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  237. Assert.AreEqual (16, myscrlbar.BackgroundImage.Height, "B3");
  238. // F
  239. Assert.AreEqual ("ControlText", myscrlbar.ForeColor.Name, "F1");
  240. // I
  241. //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1");
  242. // L
  243. Assert.AreEqual (10, myscrlbar.LargeChange, "L1");
  244. // M
  245. Assert.AreEqual (100, myscrlbar.Maximum, "M1");
  246. Assert.AreEqual (0, myscrlbar.Minimum, "M2");
  247. myscrlbar.Maximum = 300;
  248. myscrlbar.Minimum = 100;
  249. Assert.AreEqual (300, myscrlbar.Maximum, "M3");
  250. Assert.AreEqual (100, myscrlbar.Minimum, "M4");
  251. // S
  252. Assert.AreEqual (null, myscrlbar.Site, "S1");
  253. Assert.AreEqual (1, myscrlbar.SmallChange, "S2");
  254. myscrlbar.SmallChange = 10;
  255. Assert.AreEqual (10, myscrlbar.SmallChange, "S3");
  256. // T
  257. Assert.AreEqual (false, myscrlbar.TabStop, "T1");
  258. myscrlbar.TabStop = true;
  259. Assert.AreEqual (true, myscrlbar.TabStop, "T2");
  260. Assert.AreEqual ("", myscrlbar.Text, "T3");
  261. myscrlbar.Text = "MONO SCROLLBAR";
  262. Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "T4");
  263. // V
  264. Assert.AreEqual (100, myscrlbar.Value, "V1");
  265. myscrlbar.Value = 150;
  266. Assert.AreEqual (150, myscrlbar.Value, "V2");
  267. }
  268. [Test]
  269. [ExpectedException (typeof (ArgumentException))]
  270. public void ExceptionValueTest ()
  271. {
  272. MyScrollBar myscrlbar = new MyScrollBar ();
  273. myscrlbar.Minimum = 10;
  274. myscrlbar.Maximum = 20;
  275. myscrlbar.Value = 9;
  276. myscrlbar.Value = 21;
  277. }
  278. [Test]
  279. [ExpectedException (typeof (ArgumentException))]
  280. public void ExceptionSmallChangeTest ()
  281. {
  282. MyScrollBar myscrlbar = new MyScrollBar ();
  283. myscrlbar.SmallChange = -1;
  284. }
  285. [Test]
  286. [ExpectedException (typeof (ArgumentException))]
  287. public void ExceptionLargeChangeTest ()
  288. {
  289. MyScrollBar myscrlbar = new MyScrollBar ();
  290. myscrlbar.LargeChange = -1;
  291. }
  292. [Test]
  293. public void PubMethodTest ()
  294. {
  295. MyScrollBar myscrlbar = new MyScrollBar ();
  296. myscrlbar.Text = "New HScrollBar";
  297. Assert.AreEqual ("MonoTests.System.Windows.Forms.MyScrollBar, Minimum: 0, Maximum: 100, Value: 0",
  298. myscrlbar.ToString (), "T5");
  299. }
  300. }
  301. [TestFixture]
  302. public class ScrollBarEventTest
  303. {
  304. static bool eventhandled = false;
  305. public void ScrollBar_EventHandler (object sender,EventArgs e)
  306. {
  307. eventhandled = true;
  308. }
  309. public void ScrollBarMouse_EventHandler (object sender,MouseEventArgs e)
  310. {
  311. eventhandled = true;
  312. }
  313. public void ScrollBarScroll_EventHandler (object sender,ScrollEventArgs e)
  314. {
  315. eventhandled = true;
  316. }
  317. public void ScrollBarPaint_EventHandler (object sender,PaintEventArgs e)
  318. {
  319. eventhandled = true;
  320. }
  321. [Test]
  322. public void BackColorChangedTest ()
  323. {
  324. Form myform = new Form ();
  325. myform.ShowInTaskbar = false;
  326. myform.Visible = true;
  327. ScrollBar myHscrlbar = new HScrollBar ();
  328. myform.Controls.Add (myHscrlbar);
  329. myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler);
  330. myHscrlbar.BackColor = Color.Red;
  331. Assert.AreEqual (true, eventhandled, "B4");
  332. eventhandled = false;
  333. myform.Dispose ();
  334. }
  335. [Test]
  336. public void BackgroundImageChangedTest ()
  337. {
  338. Form myform = new Form ();
  339. myform.ShowInTaskbar = false;
  340. myform.Visible = true;
  341. ScrollBar myHscrlbar = new HScrollBar ();
  342. myform.Controls.Add (myHscrlbar);
  343. myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler);
  344. myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  345. Assert.AreEqual (true, eventhandled, "B5");
  346. eventhandled = false;
  347. myform.Dispose ();
  348. }
  349. [Test]
  350. public void FontChangedTest ()
  351. {
  352. Form myform = new Form ();
  353. myform.ShowInTaskbar = false;
  354. myform.Visible = true;
  355. ScrollBar myHscrlbar = new HScrollBar ();
  356. myform.Controls.Add (myHscrlbar);
  357. myHscrlbar.Font = new Font (FontFamily.GenericMonospace, 10);
  358. myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler);
  359. FontDialog myFontDialog = new FontDialog();
  360. myHscrlbar.Font = myFontDialog.Font;
  361. Assert.AreEqual (true, eventhandled, "F2");
  362. eventhandled = false;
  363. myform.Dispose ();
  364. }
  365. [Test]
  366. public void ForeColorChangedTest ()
  367. {
  368. Form myform = new Form ();
  369. myform.ShowInTaskbar = false;
  370. myform.Visible = true;
  371. ScrollBar myHscrlbar = new HScrollBar ();
  372. myform.Controls.Add (myHscrlbar);
  373. myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler);
  374. myHscrlbar.ForeColor = Color.Azure;
  375. Assert.AreEqual (true, eventhandled, "F3");
  376. eventhandled = false;
  377. myform.Dispose ();
  378. }
  379. [Test]
  380. public void ImeModehangedTest ()
  381. {
  382. Form myform = new Form ();
  383. myform.ShowInTaskbar = false;
  384. myform.Visible = true;
  385. ScrollBar myHscrlbar = new HScrollBar ();
  386. myform.Controls.Add (myHscrlbar);
  387. myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler);
  388. myHscrlbar.ImeMode = ImeMode.Katakana;
  389. Assert.AreEqual (true, eventhandled, "I2");
  390. eventhandled = false;
  391. myform.Dispose ();
  392. }
  393. [Test]
  394. public void MouseDownTest ()
  395. {
  396. Form myform = new Form ();
  397. myform.ShowInTaskbar = false;
  398. myform.Visible = true;
  399. MyScrollBar myHscrlbar = new MyScrollBar ();
  400. myform.Controls.Add (myHscrlbar);
  401. myHscrlbar.MouseDown += new MouseEventHandler (ScrollBarMouse_EventHandler);
  402. myHscrlbar.MouseRightDown ();
  403. Assert.AreEqual (true, eventhandled, "M5");
  404. eventhandled = false;
  405. myform.Dispose ();
  406. }
  407. [Test]
  408. public void MouseMoveTest ()
  409. {
  410. Form myform = new Form ();
  411. myform.ShowInTaskbar = false;
  412. myform.Visible = true;
  413. MyScrollBar myHscrlbar = new MyScrollBar ();
  414. myform.Controls.Add (myHscrlbar);
  415. myHscrlbar.MouseMove += new MouseEventHandler (ScrollBarMouse_EventHandler);
  416. myHscrlbar.MoveMouse ();
  417. Assert.AreEqual (true, eventhandled, "M6");
  418. eventhandled = false;
  419. myform.Dispose ();
  420. }
  421. [Test]
  422. public void MouseUpTest ()
  423. {
  424. Form myform = new Form ();
  425. myform.ShowInTaskbar = false;
  426. myform.Visible = true;
  427. MyScrollBar myHscrlbar = new MyScrollBar ();
  428. myform.Controls.Add (myHscrlbar);
  429. myHscrlbar.MouseUp += new MouseEventHandler (ScrollBarMouse_EventHandler);
  430. myHscrlbar.MouseRightUp ();
  431. Assert.AreEqual (true, eventhandled, "M7");
  432. eventhandled = false;
  433. myform.Dispose ();
  434. }
  435. [Test]
  436. [Category ("NotWorking")]
  437. public void ScrollTest ()
  438. {
  439. Form myform = new Form ();
  440. myform.ShowInTaskbar = false;
  441. myform.Visible = true;
  442. MyScrollBar myHscrlbar = new MyScrollBar ();
  443. myform.Controls.Add (myHscrlbar);
  444. myHscrlbar.Scroll += new ScrollEventHandler (ScrollBarScroll_EventHandler);
  445. myHscrlbar.ScrollNow ();
  446. Assert.AreEqual (true, eventhandled, "S4");
  447. eventhandled = false;
  448. myform.Dispose ();
  449. }
  450. [Test]
  451. public void TextChangedTest ()
  452. {
  453. Form myform = new Form ();
  454. myform.ShowInTaskbar = false;
  455. myform.Visible = true;
  456. MyScrollBar myHscrlbar = new MyScrollBar ();
  457. myform.Controls.Add (myHscrlbar);
  458. myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler);
  459. myHscrlbar.Text = "foo";
  460. Assert.AreEqual (true, eventhandled, "T6");
  461. eventhandled = false;
  462. myform.Dispose ();
  463. }
  464. [Test]
  465. public void ValueChangeTest ()
  466. {
  467. Form myform = new Form ();
  468. myform.ShowInTaskbar = false;
  469. myform.Visible = true;
  470. MyScrollBar myHscrlbar = new MyScrollBar ();
  471. myform.Controls.Add (myHscrlbar);
  472. myHscrlbar.Value = 40 ;
  473. myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler);
  474. myHscrlbar.Value = 50 ;
  475. Assert.AreEqual (true, eventhandled, "V3");
  476. eventhandled = false;
  477. myform.Dispose ();
  478. }
  479. }
  480. public class MyHScrollBar : HScrollBar
  481. {
  482. public MyHScrollBar () : base ()
  483. {
  484. }
  485. public Size MyDefaultSize {
  486. get { return DefaultSize; }
  487. }
  488. public CreateParams MyCreateParams {
  489. get { return CreateParams; }
  490. }
  491. }
  492. [TestFixture]
  493. public class MyHScrollBarTest
  494. {
  495. [Test]
  496. public void ProtectedTest ()
  497. {
  498. MyHScrollBar msbar = new MyHScrollBar ();
  499. Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
  500. // this is environment dependent.
  501. //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2");
  502. }
  503. }
  504. public class MyVScrollBar : VScrollBar
  505. {
  506. public MyVScrollBar () : base ()
  507. {
  508. }
  509. public Size MyDefaultSize {
  510. get { return DefaultSize; }
  511. }
  512. public CreateParams MyCreateParams {
  513. get { return CreateParams; }
  514. }
  515. }
  516. [TestFixture]
  517. public class MyVScrollBarTest
  518. {
  519. [Test]
  520. public void PubMethodTest ()
  521. {
  522. MyVScrollBar msbar = new MyVScrollBar ();
  523. Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
  524. }
  525. [Test]
  526. public void ProtMethodTest ()
  527. {
  528. MyVScrollBar msbar = new MyVScrollBar ();
  529. // This is environment dependent.
  530. //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3");
  531. Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
  532. }
  533. }
  534. [TestFixture]
  535. [Ignore("Tests too strict")]
  536. public class HScrollBarTestEventsOrder
  537. {
  538. public string [] ArrayListToString (ArrayList arrlist)
  539. {
  540. string [] retval = new string [arrlist.Count];
  541. for (int i = 0; i < arrlist.Count; i++)
  542. retval[i] = (string)arrlist[i];
  543. return retval;
  544. }
  545. [Test]
  546. public void CreateEventsOrder ()
  547. {
  548. string[] EventsWanted = {
  549. "OnHandleCreated",
  550. "OnBindingContextChanged",
  551. "OnBindingContextChanged"
  552. };
  553. Form myform = new Form ();
  554. myform.ShowInTaskbar = false;
  555. myform.Visible = true;
  556. MyScrollBar s = new MyScrollBar ();
  557. myform.Controls.Add (s);
  558. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  559. myform.Dispose ();
  560. }
  561. [Test]
  562. public void BackColorChangedEventsOrder ()
  563. {
  564. string[] EventsWanted = {
  565. "OnHandleCreated",
  566. "OnBindingContextChanged",
  567. "OnBindingContextChanged",
  568. "OnBackColorChanged",
  569. "OnInvalidated"
  570. };
  571. Form myform = new Form ();
  572. myform.ShowInTaskbar = false;
  573. myform.Visible = true;
  574. MyScrollBar s = new MyScrollBar ();
  575. myform.Controls.Add (s);
  576. s.BackColor = Color.Aqua;
  577. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  578. myform.Dispose ();
  579. }
  580. [Test]
  581. public void BackgroundImageChangedEventsOrder ()
  582. {
  583. string[] EventsWanted = {
  584. "OnHandleCreated",
  585. "OnBindingContextChanged",
  586. "OnBindingContextChanged",
  587. "OnBackgroundImageChanged",
  588. "OnInvalidated"
  589. };
  590. Form myform = new Form ();
  591. myform.ShowInTaskbar = false;
  592. myform.Visible = true;
  593. MyScrollBar s = new MyScrollBar ();
  594. myform.Controls.Add (s);
  595. s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  596. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  597. myform.Dispose ();
  598. }
  599. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  600. public void ClickEventsOrder ()
  601. {
  602. string[] EventsWanted = {
  603. "OnHandleCreated",
  604. "OnBindingContextChanged",
  605. "OnBindingContextChanged"
  606. };
  607. Form myform = new Form ();
  608. myform.ShowInTaskbar = false;
  609. myform.Visible = true;
  610. MyScrollBar s = new MyScrollBar ();
  611. myform.Controls.Add (s);
  612. s.MouseClick ();
  613. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  614. myform.Dispose ();
  615. }
  616. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  617. public void DoubleClickEventsOrder ()
  618. {
  619. string[] EventsWanted = {
  620. "OnHandleCreated",
  621. "OnBindingContextChanged",
  622. "OnBindingContextChanged"
  623. };
  624. Form myform = new Form ();
  625. myform.ShowInTaskbar = false;
  626. myform.Visible = true;
  627. MyScrollBar s = new MyScrollBar ();
  628. myform.Controls.Add (s);
  629. s.MouseDoubleClick ();
  630. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  631. myform.Dispose ();
  632. }
  633. [Test]
  634. public void FontChangedEventsOrder ()
  635. {
  636. string[] EventsWanted = {
  637. "OnHandleCreated",
  638. "OnBindingContextChanged",
  639. "OnBindingContextChanged"
  640. };
  641. Form myform = new Form ();
  642. myform.ShowInTaskbar = false;
  643. myform.Visible = true;
  644. MyScrollBar s = new MyScrollBar ();
  645. myform.Controls.Add (s);
  646. FontDialog myFontDialog = new FontDialog();
  647. s.Font = myFontDialog.Font;
  648. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  649. myform.Dispose ();
  650. }
  651. [Test]
  652. public void ForeColorChangedEventsOrder ()
  653. {
  654. string[] EventsWanted = {
  655. "OnHandleCreated",
  656. "OnBindingContextChanged",
  657. "OnBindingContextChanged",
  658. "OnForeColorChanged",
  659. "OnInvalidated"
  660. };
  661. Form myform = new Form ();
  662. myform.ShowInTaskbar = false;
  663. myform.Visible = true;
  664. MyScrollBar s = new MyScrollBar ();
  665. myform.Controls.Add (s);
  666. s.ForeColor = Color.Aqua;
  667. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  668. myform.Dispose ();
  669. }
  670. [Test]
  671. public void ImeModeChangedChangedEventsOrder ()
  672. {
  673. string[] EventsWanted = {
  674. "OnHandleCreated",
  675. "OnBindingContextChanged",
  676. "OnBindingContextChanged",
  677. "OnImeModeChanged"
  678. };
  679. Form myform = new Form ();
  680. myform.ShowInTaskbar = false;
  681. myform.Visible = true;
  682. MyScrollBar s = new MyScrollBar ();
  683. myform.Controls.Add (s);
  684. s.ImeMode = ImeMode.Katakana;
  685. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  686. myform.Dispose ();
  687. }
  688. [Test]
  689. public void MouseDownEventsOrder ()
  690. {
  691. string[] EventsWanted = {
  692. "OnHandleCreated",
  693. "OnBindingContextChanged",
  694. "OnBindingContextChanged",
  695. "OnMouseDown"
  696. };
  697. Form myform = new Form ();
  698. myform.ShowInTaskbar = false;
  699. myform.Visible = true;
  700. MyScrollBar s = new MyScrollBar ();
  701. myform.Controls.Add (s);
  702. s.MouseRightDown ();
  703. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  704. myform.Dispose ();
  705. }
  706. [Test]
  707. public void MouseMoveEventsOrder ()
  708. {
  709. string[] EventsWanted = {
  710. "OnHandleCreated",
  711. "OnBindingContextChanged",
  712. "OnBindingContextChanged",
  713. "OnMouseMove",
  714. "OnMouseHover"
  715. };
  716. Form myform = new Form ();
  717. myform.ShowInTaskbar = false;
  718. myform.Visible = true;
  719. MyScrollBar s = new MyScrollBar ();
  720. myform.Controls.Add (s);
  721. s.MoveMouse ();
  722. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  723. myform.Dispose ();
  724. }
  725. [Test]
  726. public void MouseUpEventsOrder ()
  727. {
  728. string[] EventsWanted = {
  729. "OnHandleCreated",
  730. "OnBindingContextChanged",
  731. "OnBindingContextChanged",
  732. "OnMouseUp"
  733. };
  734. Form myform = new Form ();
  735. myform.ShowInTaskbar = false;
  736. myform.Visible = true;
  737. MyScrollBar s = new MyScrollBar ();
  738. myform.Controls.Add (s);
  739. s.MouseRightUp ();
  740. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  741. myform.Dispose ();
  742. }
  743. [Test]
  744. public void PaintEventsOrder ()
  745. {
  746. string[] EventsWanted = {
  747. "OnHandleCreated",
  748. "OnBindingContextChanged",
  749. "OnBindingContextChanged",
  750. "OnInvalidated"
  751. };
  752. Form myform = new Form ();
  753. myform.ShowInTaskbar = false;
  754. myform.Visible = true;
  755. MyScrollBar s = new MyScrollBar ();
  756. myform.Controls.Add (s);
  757. s.Visible = true;
  758. s.Refresh ();
  759. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  760. myform.Dispose ();
  761. }
  762. [Test]
  763. public void ScrollEventsOrder ()
  764. {
  765. string[] EventsWanted = {
  766. "OnHandleCreated",
  767. "OnBindingContextChanged",
  768. "OnBindingContextChanged",
  769. "OnScroll",
  770. "OnValueChanged"
  771. };
  772. Form myform = new Form ();
  773. myform.ShowInTaskbar = false;
  774. myform.Visible = true;
  775. MyScrollBar s = new MyScrollBar ();
  776. myform.Controls.Add (s);
  777. s.ScrollNow ();
  778. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  779. myform.Dispose ();
  780. }
  781. [Test]
  782. public void TextChangedEventsOrder ()
  783. {
  784. string[] EventsWanted = {
  785. "OnHandleCreated",
  786. "OnBindingContextChanged",
  787. "OnBindingContextChanged",
  788. "OnTextChanged"
  789. };
  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.Text = "foobar";
  796. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  797. myform.Dispose ();
  798. }
  799. [Test]
  800. public void ValueChangedEventsOrder ()
  801. {
  802. string[] EventsWanted = {
  803. "OnHandleCreated",
  804. "OnBindingContextChanged",
  805. "OnBindingContextChanged",
  806. "OnValueChanged"
  807. };
  808. Form myform = new Form ();
  809. myform.ShowInTaskbar = false;
  810. myform.Visible = true;
  811. MyScrollBar s = new MyScrollBar ();
  812. myform.Controls.Add (s);
  813. s.Value = 10;
  814. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  815. myform.Dispose ();
  816. }
  817. }
  818. public class MyScrollBar2 : HScrollBar
  819. {
  820. protected ArrayList results = new ArrayList ();
  821. public MyScrollBar2 () : base ()
  822. {
  823. this.HandleCreated += new EventHandler (HandleCreated_Handler);
  824. this.BackColorChanged += new EventHandler (BackColorChanged_Handler);
  825. this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
  826. this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
  827. this.Click += new EventHandler (Click_Handler);
  828. this.DoubleClick += new EventHandler (DoubleClick_Handler);
  829. this.FontChanged += new EventHandler (FontChanged_Handler);
  830. this.ForeColorChanged += new EventHandler (ForeColorChanged_Handler);
  831. this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
  832. this.MouseDown += new MouseEventHandler (MouseDown_Handler);
  833. this.MouseMove += new MouseEventHandler (MouseMove_Handler);
  834. this.MouseUp += new MouseEventHandler (MouseUp_Handler);
  835. this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
  836. this.Resize += new EventHandler (Resize_Handler);
  837. this.SizeChanged += new EventHandler (SizeChanged_Handler);
  838. this.Layout += new LayoutEventHandler (Layout_Handler);
  839. this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
  840. this.Paint += new PaintEventHandler (Paint_Handler);
  841. this.Scroll += new ScrollEventHandler (Scroll_Handler);
  842. this.TextChanged += new EventHandler (TextChanged_Handler);
  843. this.ValueChanged += new EventHandler (ValueChanged_Handler);
  844. }
  845. protected void HandleCreated_Handler (object sender, EventArgs e)
  846. {
  847. results.Add ("HandleCreated");
  848. }
  849. protected void BackColorChanged_Handler (object sender, EventArgs e)
  850. {
  851. results.Add ("BackColorChanged");
  852. }
  853. protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
  854. {
  855. results.Add ("BackgroundImageChanged");
  856. }
  857. protected void Click_Handler (object sender, EventArgs e)
  858. {
  859. results.Add ("Click");
  860. }
  861. protected void DoubleClick_Handler (object sender, EventArgs e)
  862. {
  863. results.Add ("DoubleClick");
  864. }
  865. protected void FontChanged_Handler (object sender, EventArgs e)
  866. {
  867. results.Add ("FontChanged");
  868. }
  869. protected void ForeColorChanged_Handler (object sender, EventArgs e)
  870. {
  871. results.Add ("ForeColorChanged");
  872. }
  873. protected void ImeModeChanged_Handler (object sender, EventArgs e)
  874. {
  875. results.Add ("ImeModeChanged");
  876. }
  877. protected void MouseDown_Handler (object sender, MouseEventArgs e)
  878. {
  879. results.Add ("MouseDown");
  880. }
  881. protected void MouseMove_Handler (object sender, MouseEventArgs e)
  882. {
  883. results.Add ("MouseMove");
  884. }
  885. protected void MouseUp_Handler (object sender, MouseEventArgs e)
  886. {
  887. results.Add ("MouseUp");
  888. }
  889. protected void BindingContextChanged_Handler (object sender, EventArgs e)
  890. {
  891. results.Add ("BindingContextChanged");
  892. }
  893. protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
  894. {
  895. results.Add("Invalidated");
  896. }
  897. protected void Resize_Handler (object sender, EventArgs e)
  898. {
  899. results.Add("Resize");
  900. }
  901. protected void SizeChanged_Handler (object sender, EventArgs e)
  902. {
  903. results.Add("SizeChanged");
  904. }
  905. protected void Layout_Handler (object sender, LayoutEventArgs e)
  906. {
  907. results.Add("Layout");
  908. }
  909. protected void VisibleChanged_Handler (object sender, EventArgs e)
  910. {
  911. results.Add("VisibleChanged");
  912. }
  913. protected void Paint_Handler (object sender, PaintEventArgs e)
  914. {
  915. results.Add("Paint");
  916. }
  917. protected void Scroll_Handler (object sender, ScrollEventArgs e)
  918. {
  919. results.Add ("Scroll");
  920. }
  921. protected void TextChanged_Handler (object sender, EventArgs e)
  922. {
  923. results.Add ("TextChanged");
  924. }
  925. protected void ValueChanged_Handler (object sender, EventArgs e)
  926. {
  927. results.Add ("ValueChanged");
  928. }
  929. public ArrayList Results {
  930. get { return results; }
  931. }
  932. public void MoveMouse ()
  933. {
  934. Message m;
  935. m = new Message ();
  936. m.Msg = (int)WndMsg.WM_NCHITTEST;
  937. m.HWnd = this.Handle;
  938. m.WParam = (IntPtr)0x0;
  939. m.LParam = (IntPtr)0x1c604ea;
  940. this.WndProc(ref m);
  941. m.Msg = (int)WndMsg.WM_SETCURSOR;
  942. m.HWnd = this.Handle;
  943. m.WParam = (IntPtr)0x100448;
  944. m.LParam = (IntPtr)0x2000001;
  945. this.WndProc(ref m);
  946. m.Msg = (int)WndMsg.WM_MOUSEFIRST;
  947. m.HWnd = this.Handle;
  948. m.WParam = (IntPtr)0x0;
  949. m.LParam = (IntPtr)0x14000b;
  950. this.WndProc(ref m);
  951. m.Msg = (int)WndMsg.WM_MOUSEHOVER;
  952. m.HWnd = this.Handle;
  953. m.WParam = (IntPtr)0x0;
  954. m.LParam = (IntPtr)0x14000b;
  955. this.WndProc(ref m);
  956. }
  957. public void MouseRightDown()
  958. {
  959. Message m;
  960. m = new Message();
  961. m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
  962. m.HWnd = this.Handle;
  963. m.WParam = (IntPtr)0x01;
  964. m.LParam = (IntPtr)0x9004f;
  965. this.WndProc(ref m);
  966. }
  967. public new void MouseClick()
  968. {
  969. Message m;
  970. m = new Message();
  971. m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
  972. m.HWnd = this.Handle;
  973. m.WParam = (IntPtr)0x01;
  974. m.LParam = (IntPtr)0x9004f;
  975. this.WndProc(ref m);
  976. m = new Message();
  977. m.Msg = (int)WndMsg.WM_LBUTTONUP;
  978. m.HWnd = this.Handle;
  979. m.WParam = (IntPtr)0x01;
  980. m.LParam = (IntPtr)0x9004f;
  981. this.WndProc(ref m);
  982. }
  983. public new void MouseDoubleClick ()
  984. {
  985. MouseClick ();
  986. MouseClick ();
  987. }
  988. public void MouseRightUp()
  989. {
  990. Message m;
  991. m = new Message();
  992. m.Msg = (int)WndMsg.WM_RBUTTONUP;
  993. m.HWnd = this.Handle;
  994. m.WParam = (IntPtr)0x01;
  995. m.LParam = (IntPtr)0x9004f;
  996. this.WndProc(ref m);
  997. }
  998. public void ScrollNow ()
  999. {
  1000. Message m;
  1001. m = new Message ();
  1002. m.Msg = 8468;
  1003. m.HWnd = this.Handle;
  1004. m.WParam = (IntPtr)0x1;
  1005. m.LParam = (IntPtr)0x1a051a;
  1006. this.WndProc(ref m);
  1007. m.Msg = 233;
  1008. m.HWnd = this.Handle;
  1009. m.WParam = (IntPtr)0x1;
  1010. m.LParam = (IntPtr)0x12eb34;
  1011. this.WndProc(ref m);
  1012. }
  1013. }
  1014. [TestFixture]
  1015. [Ignore("Tests too strict")]
  1016. public class HScrollBarTestEventsOrder2
  1017. {
  1018. public string [] ArrayListToString (ArrayList arrlist)
  1019. {
  1020. string [] retval = new string [arrlist.Count];
  1021. for (int i = 0; i < arrlist.Count; i++)
  1022. retval[i] = (string)arrlist[i];
  1023. return retval;
  1024. }
  1025. [Test]
  1026. public void CreateEventsOrder ()
  1027. {
  1028. string[] EventsWanted = {
  1029. "HandleCreated",
  1030. "BindingContextChanged",
  1031. "BindingContextChanged"
  1032. };
  1033. Form myform = new Form ();
  1034. myform.ShowInTaskbar = false;
  1035. myform.Visible = true;
  1036. MyScrollBar2 s = new MyScrollBar2 ();
  1037. myform.Controls.Add (s);
  1038. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1039. myform.Dispose ();
  1040. }
  1041. [Test]
  1042. public void BackColorChangedEventsOrder ()
  1043. {
  1044. string[] EventsWanted = {
  1045. "HandleCreated",
  1046. "BindingContextChanged",
  1047. "BindingContextChanged",
  1048. "Invalidated",
  1049. "BackColorChanged"
  1050. };
  1051. Form myform = new Form ();
  1052. myform.ShowInTaskbar = false;
  1053. myform.Visible = true;
  1054. MyScrollBar2 s = new MyScrollBar2 ();
  1055. myform.Controls.Add (s);
  1056. s.BackColor = Color.Aqua;
  1057. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1058. myform.Dispose ();
  1059. }
  1060. [Test]
  1061. public void BackgroundImageChangedEventsOrder ()
  1062. {
  1063. string[] EventsWanted = {
  1064. "HandleCreated",
  1065. "BindingContextChanged",
  1066. "BindingContextChanged",
  1067. "Invalidated",
  1068. "BackgroundImageChanged"
  1069. };
  1070. Form myform = new Form ();
  1071. myform.ShowInTaskbar = false;
  1072. myform.Visible = true;
  1073. MyScrollBar2 s = new MyScrollBar2 ();
  1074. myform.Controls.Add (s);
  1075. s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  1076. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1077. myform.Dispose ();
  1078. }
  1079. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  1080. public void ClickEventsOrder ()
  1081. {
  1082. string[] EventsWanted = {
  1083. "HandleCreated",
  1084. "BindingContextChanged",
  1085. "BindingContextChanged"
  1086. };
  1087. Form myform = new Form ();
  1088. myform.ShowInTaskbar = false;
  1089. myform.Visible = true;
  1090. MyScrollBar2 s = new MyScrollBar2 ();
  1091. myform.Controls.Add (s);
  1092. s.MouseClick ();
  1093. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1094. myform.Dispose ();
  1095. }
  1096. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  1097. public void DoubleClickEventsOrder ()
  1098. {
  1099. string[] EventsWanted = {
  1100. "HandleCreated",
  1101. "BindingContextChanged",
  1102. "BindingContextChanged"
  1103. };
  1104. Form myform = new Form ();
  1105. myform.ShowInTaskbar = false;
  1106. myform.Visible = true;
  1107. MyScrollBar2 s = new MyScrollBar2 ();
  1108. myform.Controls.Add (s);
  1109. s.MouseDoubleClick ();
  1110. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1111. myform.Dispose ();
  1112. }
  1113. [Test]
  1114. public void FontChangedEventsOrder ()
  1115. {
  1116. string[] EventsWanted = {
  1117. "HandleCreated",
  1118. "BindingContextChanged",
  1119. "BindingContextChanged"
  1120. };
  1121. Form myform = new Form ();
  1122. myform.ShowInTaskbar = false;
  1123. myform.Visible = true;
  1124. MyScrollBar2 s = new MyScrollBar2 ();
  1125. myform.Controls.Add (s);
  1126. FontDialog myFontDialog = new FontDialog();
  1127. s.Font = myFontDialog.Font;
  1128. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1129. myform.Dispose ();
  1130. }
  1131. [Test]
  1132. public void ForeColorChangedEventsOrder ()
  1133. {
  1134. string[] EventsWanted = {
  1135. "HandleCreated",
  1136. "BindingContextChanged",
  1137. "BindingContextChanged",
  1138. "Invalidated",
  1139. "ForeColorChanged"
  1140. };
  1141. Form myform = new Form ();
  1142. myform.ShowInTaskbar = false;
  1143. myform.Visible = true;
  1144. MyScrollBar2 s = new MyScrollBar2 ();
  1145. myform.Controls.Add (s);
  1146. s.ForeColor = Color.Aqua;
  1147. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1148. myform.Dispose ();
  1149. }
  1150. [Test]
  1151. public void ImeModeChangedChangedEventsOrder ()
  1152. {
  1153. string[] EventsWanted = {
  1154. "HandleCreated",
  1155. "BindingContextChanged",
  1156. "BindingContextChanged",
  1157. "ImeModeChanged"
  1158. };
  1159. Form myform = new Form ();
  1160. myform.ShowInTaskbar = false;
  1161. myform.Visible = true;
  1162. MyScrollBar2 s = new MyScrollBar2 ();
  1163. myform.Controls.Add (s);
  1164. s.ImeMode = ImeMode.Katakana;
  1165. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1166. myform.Dispose ();
  1167. }
  1168. [Test]
  1169. public void MouseDownEventsOrder ()
  1170. {
  1171. string[] EventsWanted = {
  1172. "HandleCreated",
  1173. "BindingContextChanged",
  1174. "BindingContextChanged",
  1175. "MouseDown"
  1176. };
  1177. Form myform = new Form ();
  1178. myform.ShowInTaskbar = false;
  1179. myform.Visible = true;
  1180. MyScrollBar2 s = new MyScrollBar2 ();
  1181. myform.Controls.Add (s);
  1182. s.MouseRightDown ();
  1183. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1184. myform.Dispose ();
  1185. }
  1186. [Test]
  1187. public void MouseMoveEventsOrder ()
  1188. {
  1189. string[] EventsWanted = {
  1190. "HandleCreated",
  1191. "BindingContextChanged",
  1192. "BindingContextChanged",
  1193. "MouseMove"
  1194. };
  1195. Form myform = new Form ();
  1196. myform.ShowInTaskbar = false;
  1197. myform.Visible = true;
  1198. MyScrollBar2 s = new MyScrollBar2 ();
  1199. myform.Controls.Add (s);
  1200. s.MoveMouse ();
  1201. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1202. myform.Dispose ();
  1203. }
  1204. [Test]
  1205. public void MouseUpEventsOrder ()
  1206. {
  1207. string[] EventsWanted = {
  1208. "HandleCreated",
  1209. "BindingContextChanged",
  1210. "BindingContextChanged",
  1211. "MouseUp"
  1212. };
  1213. Form myform = new Form ();
  1214. myform.ShowInTaskbar = false;
  1215. myform.Visible = true;
  1216. MyScrollBar2 s = new MyScrollBar2 ();
  1217. myform.Controls.Add (s);
  1218. s.MouseRightUp ();
  1219. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1220. myform.Dispose ();
  1221. }
  1222. [Test]
  1223. public void PaintEventsOrder ()
  1224. {
  1225. string[] EventsWanted = {
  1226. "HandleCreated",
  1227. "BindingContextChanged",
  1228. "BindingContextChanged",
  1229. "Invalidated"
  1230. };
  1231. Form myform = new Form ();
  1232. myform.ShowInTaskbar = false;
  1233. myform.Visible = true;
  1234. MyScrollBar2 s = new MyScrollBar2 ();
  1235. myform.Controls.Add (s);
  1236. s.Visible = true;
  1237. s.Refresh ();
  1238. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1239. myform.Dispose ();
  1240. }
  1241. [Test]
  1242. public void ScrollEventsOrder ()
  1243. {
  1244. string[] EventsWanted = {
  1245. "HandleCreated",
  1246. "BindingContextChanged",
  1247. "BindingContextChanged",
  1248. "Scroll",
  1249. "ValueChanged"
  1250. };
  1251. Form myform = new Form ();
  1252. myform.ShowInTaskbar = false;
  1253. myform.Visible = true;
  1254. MyScrollBar2 s = new MyScrollBar2 ();
  1255. myform.Controls.Add (s);
  1256. s.ScrollNow ();
  1257. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1258. myform.Dispose ();
  1259. }
  1260. [Test]
  1261. public void TextChangedEventsOrder ()
  1262. {
  1263. string[] EventsWanted = {
  1264. "HandleCreated",
  1265. "BindingContextChanged",
  1266. "BindingContextChanged",
  1267. "TextChanged"
  1268. };
  1269. Form myform = new Form ();
  1270. myform.ShowInTaskbar = false;
  1271. myform.Visible = true;
  1272. MyScrollBar2 s = new MyScrollBar2 ();
  1273. myform.Controls.Add (s);
  1274. s.Text = "foobar";
  1275. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1276. myform.Dispose ();
  1277. }
  1278. [Test]
  1279. public void ValueChangedEventsOrder ()
  1280. {
  1281. string[] EventsWanted = {
  1282. "HandleCreated",
  1283. "BindingContextChanged",
  1284. "BindingContextChanged",
  1285. "ValueChanged"
  1286. };
  1287. Form myform = new Form ();
  1288. myform.ShowInTaskbar = false;
  1289. myform.Visible = true;
  1290. MyScrollBar2 s = new MyScrollBar2 ();
  1291. myform.Controls.Add (s);
  1292. s.Value = 10;
  1293. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1294. myform.Dispose ();
  1295. }
  1296. }
  1297. }