ScrollBarTest.cs 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512
  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. #if NET_2_0
  270. [ExpectedException (typeof (ArgumentOutOfRangeException))]
  271. #else
  272. [ExpectedException (typeof (ArgumentException))]
  273. #endif
  274. public void ExceptionValueTest ()
  275. {
  276. MyScrollBar myscrlbar = new MyScrollBar ();
  277. myscrlbar.Minimum = 10;
  278. myscrlbar.Maximum = 20;
  279. myscrlbar.Value = 9;
  280. myscrlbar.Value = 21;
  281. }
  282. [Test]
  283. #if NET_2_0
  284. [ExpectedException (typeof (ArgumentOutOfRangeException))]
  285. #else
  286. [ExpectedException (typeof (ArgumentException))]
  287. #endif
  288. public void ExceptionSmallChangeTest ()
  289. {
  290. MyScrollBar myscrlbar = new MyScrollBar ();
  291. myscrlbar.SmallChange = -1;
  292. }
  293. [Test]
  294. #if NET_2_0
  295. [ExpectedException (typeof (ArgumentOutOfRangeException))]
  296. #else
  297. [ExpectedException (typeof (ArgumentException))]
  298. #endif
  299. public void ExceptionLargeChangeTest ()
  300. {
  301. MyScrollBar myscrlbar = new MyScrollBar ();
  302. myscrlbar.LargeChange = -1;
  303. }
  304. [Test]
  305. public void PubMethodTest ()
  306. {
  307. MyScrollBar myscrlbar = new MyScrollBar ();
  308. myscrlbar.Text = "New HScrollBar";
  309. Assert.AreEqual ("MonoTests.System.Windows.Forms.MyScrollBar, Minimum: 0, Maximum: 100, Value: 0",
  310. myscrlbar.ToString (), "T5");
  311. }
  312. }
  313. [TestFixture]
  314. public class ScrollBarEventTest
  315. {
  316. static bool eventhandled = false;
  317. public void ScrollBar_EventHandler (object sender,EventArgs e)
  318. {
  319. eventhandled = true;
  320. }
  321. public void ScrollBarMouse_EventHandler (object sender,MouseEventArgs e)
  322. {
  323. eventhandled = true;
  324. }
  325. public void ScrollBarScroll_EventHandler (object sender,ScrollEventArgs e)
  326. {
  327. eventhandled = true;
  328. }
  329. public void ScrollBarPaint_EventHandler (object sender,PaintEventArgs e)
  330. {
  331. eventhandled = true;
  332. }
  333. [Test]
  334. public void BackColorChangedTest ()
  335. {
  336. Form myform = new Form ();
  337. myform.ShowInTaskbar = false;
  338. myform.Visible = true;
  339. ScrollBar myHscrlbar = new HScrollBar ();
  340. myform.Controls.Add (myHscrlbar);
  341. myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler);
  342. myHscrlbar.BackColor = Color.Red;
  343. Assert.AreEqual (true, eventhandled, "B4");
  344. eventhandled = false;
  345. myform.Dispose ();
  346. }
  347. [Test]
  348. public void BackgroundImageChangedTest ()
  349. {
  350. Form myform = new Form ();
  351. myform.ShowInTaskbar = false;
  352. myform.Visible = true;
  353. ScrollBar myHscrlbar = new HScrollBar ();
  354. myform.Controls.Add (myHscrlbar);
  355. myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler);
  356. myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  357. Assert.AreEqual (true, eventhandled, "B5");
  358. eventhandled = false;
  359. myform.Dispose ();
  360. }
  361. [Test]
  362. public void FontChangedTest ()
  363. {
  364. Form myform = new Form ();
  365. myform.ShowInTaskbar = false;
  366. myform.Visible = true;
  367. ScrollBar myHscrlbar = new HScrollBar ();
  368. myform.Controls.Add (myHscrlbar);
  369. myHscrlbar.Font = new Font (FontFamily.GenericMonospace, 10);
  370. myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler);
  371. FontDialog myFontDialog = new FontDialog();
  372. myHscrlbar.Font = myFontDialog.Font;
  373. Assert.AreEqual (true, eventhandled, "F2");
  374. eventhandled = false;
  375. myform.Dispose ();
  376. }
  377. [Test]
  378. public void ForeColorChangedTest ()
  379. {
  380. Form myform = new Form ();
  381. myform.ShowInTaskbar = false;
  382. myform.Visible = true;
  383. ScrollBar myHscrlbar = new HScrollBar ();
  384. myform.Controls.Add (myHscrlbar);
  385. myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler);
  386. myHscrlbar.ForeColor = Color.Azure;
  387. Assert.AreEqual (true, eventhandled, "F3");
  388. eventhandled = false;
  389. myform.Dispose ();
  390. }
  391. [Test]
  392. public void ImeModehangedTest ()
  393. {
  394. Form myform = new Form ();
  395. myform.ShowInTaskbar = false;
  396. myform.Visible = true;
  397. ScrollBar myHscrlbar = new HScrollBar ();
  398. myform.Controls.Add (myHscrlbar);
  399. myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler);
  400. myHscrlbar.ImeMode = ImeMode.Katakana;
  401. Assert.AreEqual (true, eventhandled, "I2");
  402. eventhandled = false;
  403. myform.Dispose ();
  404. }
  405. [Test]
  406. public void MouseDownTest ()
  407. {
  408. Form myform = new Form ();
  409. myform.ShowInTaskbar = false;
  410. myform.Visible = true;
  411. MyScrollBar myHscrlbar = new MyScrollBar ();
  412. myform.Controls.Add (myHscrlbar);
  413. myHscrlbar.MouseDown += new MouseEventHandler (ScrollBarMouse_EventHandler);
  414. myHscrlbar.MouseRightDown ();
  415. Assert.AreEqual (true, eventhandled, "M5");
  416. eventhandled = false;
  417. myform.Dispose ();
  418. }
  419. [Test]
  420. public void MouseMoveTest ()
  421. {
  422. Form myform = new Form ();
  423. myform.ShowInTaskbar = false;
  424. myform.Visible = true;
  425. MyScrollBar myHscrlbar = new MyScrollBar ();
  426. myform.Controls.Add (myHscrlbar);
  427. myHscrlbar.MouseMove += new MouseEventHandler (ScrollBarMouse_EventHandler);
  428. myHscrlbar.MoveMouse ();
  429. Assert.AreEqual (true, eventhandled, "M6");
  430. eventhandled = false;
  431. myform.Dispose ();
  432. }
  433. [Test]
  434. public void MouseUpTest ()
  435. {
  436. Form myform = new Form ();
  437. myform.ShowInTaskbar = false;
  438. myform.Visible = true;
  439. MyScrollBar myHscrlbar = new MyScrollBar ();
  440. myform.Controls.Add (myHscrlbar);
  441. myHscrlbar.MouseUp += new MouseEventHandler (ScrollBarMouse_EventHandler);
  442. myHscrlbar.MouseRightUp ();
  443. Assert.AreEqual (true, eventhandled, "M7");
  444. eventhandled = false;
  445. myform.Dispose ();
  446. }
  447. [Test]
  448. [Category ("NotWorking")]
  449. public void ScrollTest ()
  450. {
  451. Form myform = new Form ();
  452. myform.ShowInTaskbar = false;
  453. myform.Visible = true;
  454. MyScrollBar myHscrlbar = new MyScrollBar ();
  455. myform.Controls.Add (myHscrlbar);
  456. myHscrlbar.Scroll += new ScrollEventHandler (ScrollBarScroll_EventHandler);
  457. myHscrlbar.ScrollNow ();
  458. Assert.AreEqual (true, eventhandled, "S4");
  459. eventhandled = false;
  460. myform.Dispose ();
  461. }
  462. [Test]
  463. public void TextChangedTest ()
  464. {
  465. Form myform = new Form ();
  466. myform.ShowInTaskbar = false;
  467. myform.Visible = true;
  468. MyScrollBar myHscrlbar = new MyScrollBar ();
  469. myform.Controls.Add (myHscrlbar);
  470. myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler);
  471. myHscrlbar.Text = "foo";
  472. Assert.AreEqual (true, eventhandled, "T6");
  473. eventhandled = false;
  474. myform.Dispose ();
  475. }
  476. [Test]
  477. public void ValueChangeTest ()
  478. {
  479. Form myform = new Form ();
  480. myform.ShowInTaskbar = false;
  481. myform.Visible = true;
  482. MyScrollBar myHscrlbar = new MyScrollBar ();
  483. myform.Controls.Add (myHscrlbar);
  484. myHscrlbar.Value = 40 ;
  485. myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler);
  486. myHscrlbar.Value = 50 ;
  487. Assert.AreEqual (true, eventhandled, "V3");
  488. eventhandled = false;
  489. myform.Dispose ();
  490. }
  491. }
  492. public class MyHScrollBar : HScrollBar
  493. {
  494. public MyHScrollBar () : base ()
  495. {
  496. }
  497. public Size MyDefaultSize {
  498. get { return DefaultSize; }
  499. }
  500. public CreateParams MyCreateParams {
  501. get { return CreateParams; }
  502. }
  503. }
  504. [TestFixture]
  505. public class MyHScrollBarTest
  506. {
  507. [Test]
  508. public void ProtectedTest ()
  509. {
  510. MyHScrollBar msbar = new MyHScrollBar ();
  511. Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
  512. // this is environment dependent.
  513. //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2");
  514. }
  515. }
  516. public class MyVScrollBar : VScrollBar
  517. {
  518. public MyVScrollBar () : base ()
  519. {
  520. }
  521. public Size MyDefaultSize {
  522. get { return DefaultSize; }
  523. }
  524. public CreateParams MyCreateParams {
  525. get { return CreateParams; }
  526. }
  527. }
  528. [TestFixture]
  529. public class MyVScrollBarTest
  530. {
  531. [Test]
  532. public void PubMethodTest ()
  533. {
  534. MyVScrollBar msbar = new MyVScrollBar ();
  535. Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
  536. }
  537. [Test]
  538. public void ProtMethodTest ()
  539. {
  540. MyVScrollBar msbar = new MyVScrollBar ();
  541. // This is environment dependent.
  542. //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3");
  543. Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
  544. }
  545. }
  546. [TestFixture]
  547. [Ignore("Tests too strict")]
  548. public class HScrollBarTestEventsOrder
  549. {
  550. public string [] ArrayListToString (ArrayList arrlist)
  551. {
  552. string [] retval = new string [arrlist.Count];
  553. for (int i = 0; i < arrlist.Count; i++)
  554. retval[i] = (string)arrlist[i];
  555. return retval;
  556. }
  557. [Test]
  558. public void CreateEventsOrder ()
  559. {
  560. string[] EventsWanted = {
  561. "OnHandleCreated",
  562. "OnBindingContextChanged",
  563. "OnBindingContextChanged"
  564. };
  565. Form myform = new Form ();
  566. myform.ShowInTaskbar = false;
  567. myform.Visible = true;
  568. MyScrollBar s = new MyScrollBar ();
  569. myform.Controls.Add (s);
  570. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  571. myform.Dispose ();
  572. }
  573. [Test]
  574. public void BackColorChangedEventsOrder ()
  575. {
  576. string[] EventsWanted = {
  577. "OnHandleCreated",
  578. "OnBindingContextChanged",
  579. "OnBindingContextChanged",
  580. "OnBackColorChanged",
  581. "OnInvalidated"
  582. };
  583. Form myform = new Form ();
  584. myform.ShowInTaskbar = false;
  585. myform.Visible = true;
  586. MyScrollBar s = new MyScrollBar ();
  587. myform.Controls.Add (s);
  588. s.BackColor = Color.Aqua;
  589. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  590. myform.Dispose ();
  591. }
  592. [Test]
  593. public void BackgroundImageChangedEventsOrder ()
  594. {
  595. string[] EventsWanted = {
  596. "OnHandleCreated",
  597. "OnBindingContextChanged",
  598. "OnBindingContextChanged",
  599. "OnBackgroundImageChanged",
  600. "OnInvalidated"
  601. };
  602. Form myform = new Form ();
  603. myform.ShowInTaskbar = false;
  604. myform.Visible = true;
  605. MyScrollBar s = new MyScrollBar ();
  606. myform.Controls.Add (s);
  607. s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  608. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  609. myform.Dispose ();
  610. }
  611. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  612. public void ClickEventsOrder ()
  613. {
  614. string[] EventsWanted = {
  615. "OnHandleCreated",
  616. "OnBindingContextChanged",
  617. "OnBindingContextChanged"
  618. };
  619. Form myform = new Form ();
  620. myform.ShowInTaskbar = false;
  621. myform.Visible = true;
  622. MyScrollBar s = new MyScrollBar ();
  623. myform.Controls.Add (s);
  624. s.MouseClick ();
  625. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  626. myform.Dispose ();
  627. }
  628. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  629. public void DoubleClickEventsOrder ()
  630. {
  631. string[] EventsWanted = {
  632. "OnHandleCreated",
  633. "OnBindingContextChanged",
  634. "OnBindingContextChanged"
  635. };
  636. Form myform = new Form ();
  637. myform.ShowInTaskbar = false;
  638. myform.Visible = true;
  639. MyScrollBar s = new MyScrollBar ();
  640. myform.Controls.Add (s);
  641. s.MouseDoubleClick ();
  642. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  643. myform.Dispose ();
  644. }
  645. [Test]
  646. public void FontChangedEventsOrder ()
  647. {
  648. string[] EventsWanted = {
  649. "OnHandleCreated",
  650. "OnBindingContextChanged",
  651. "OnBindingContextChanged"
  652. };
  653. Form myform = new Form ();
  654. myform.ShowInTaskbar = false;
  655. myform.Visible = true;
  656. MyScrollBar s = new MyScrollBar ();
  657. myform.Controls.Add (s);
  658. FontDialog myFontDialog = new FontDialog();
  659. s.Font = myFontDialog.Font;
  660. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  661. myform.Dispose ();
  662. }
  663. [Test]
  664. public void ForeColorChangedEventsOrder ()
  665. {
  666. string[] EventsWanted = {
  667. "OnHandleCreated",
  668. "OnBindingContextChanged",
  669. "OnBindingContextChanged",
  670. "OnForeColorChanged",
  671. "OnInvalidated"
  672. };
  673. Form myform = new Form ();
  674. myform.ShowInTaskbar = false;
  675. myform.Visible = true;
  676. MyScrollBar s = new MyScrollBar ();
  677. myform.Controls.Add (s);
  678. s.ForeColor = Color.Aqua;
  679. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  680. myform.Dispose ();
  681. }
  682. [Test]
  683. public void ImeModeChangedChangedEventsOrder ()
  684. {
  685. string[] EventsWanted = {
  686. "OnHandleCreated",
  687. "OnBindingContextChanged",
  688. "OnBindingContextChanged",
  689. "OnImeModeChanged"
  690. };
  691. Form myform = new Form ();
  692. myform.ShowInTaskbar = false;
  693. myform.Visible = true;
  694. MyScrollBar s = new MyScrollBar ();
  695. myform.Controls.Add (s);
  696. s.ImeMode = ImeMode.Katakana;
  697. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  698. myform.Dispose ();
  699. }
  700. [Test]
  701. public void MouseDownEventsOrder ()
  702. {
  703. string[] EventsWanted = {
  704. "OnHandleCreated",
  705. "OnBindingContextChanged",
  706. "OnBindingContextChanged",
  707. "OnMouseDown"
  708. };
  709. Form myform = new Form ();
  710. myform.ShowInTaskbar = false;
  711. myform.Visible = true;
  712. MyScrollBar s = new MyScrollBar ();
  713. myform.Controls.Add (s);
  714. s.MouseRightDown ();
  715. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  716. myform.Dispose ();
  717. }
  718. [Test]
  719. public void MouseMoveEventsOrder ()
  720. {
  721. string[] EventsWanted = {
  722. "OnHandleCreated",
  723. "OnBindingContextChanged",
  724. "OnBindingContextChanged",
  725. "OnMouseMove",
  726. "OnMouseHover"
  727. };
  728. Form myform = new Form ();
  729. myform.ShowInTaskbar = false;
  730. myform.Visible = true;
  731. MyScrollBar s = new MyScrollBar ();
  732. myform.Controls.Add (s);
  733. s.MoveMouse ();
  734. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  735. myform.Dispose ();
  736. }
  737. [Test]
  738. public void MouseUpEventsOrder ()
  739. {
  740. string[] EventsWanted = {
  741. "OnHandleCreated",
  742. "OnBindingContextChanged",
  743. "OnBindingContextChanged",
  744. "OnMouseUp"
  745. };
  746. Form myform = new Form ();
  747. myform.ShowInTaskbar = false;
  748. myform.Visible = true;
  749. MyScrollBar s = new MyScrollBar ();
  750. myform.Controls.Add (s);
  751. s.MouseRightUp ();
  752. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  753. myform.Dispose ();
  754. }
  755. [Test]
  756. public void PaintEventsOrder ()
  757. {
  758. string[] EventsWanted = {
  759. "OnHandleCreated",
  760. "OnBindingContextChanged",
  761. "OnBindingContextChanged",
  762. "OnInvalidated"
  763. };
  764. Form myform = new Form ();
  765. myform.ShowInTaskbar = false;
  766. myform.Visible = true;
  767. MyScrollBar s = new MyScrollBar ();
  768. myform.Controls.Add (s);
  769. s.Visible = true;
  770. s.Refresh ();
  771. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  772. myform.Dispose ();
  773. }
  774. [Test]
  775. public void ScrollEventsOrder ()
  776. {
  777. string[] EventsWanted = {
  778. "OnHandleCreated",
  779. "OnBindingContextChanged",
  780. "OnBindingContextChanged",
  781. "OnScroll",
  782. "OnValueChanged"
  783. };
  784. Form myform = new Form ();
  785. myform.ShowInTaskbar = false;
  786. myform.Visible = true;
  787. MyScrollBar s = new MyScrollBar ();
  788. myform.Controls.Add (s);
  789. s.ScrollNow ();
  790. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  791. myform.Dispose ();
  792. }
  793. [Test]
  794. public void TextChangedEventsOrder ()
  795. {
  796. string[] EventsWanted = {
  797. "OnHandleCreated",
  798. "OnBindingContextChanged",
  799. "OnBindingContextChanged",
  800. "OnTextChanged"
  801. };
  802. Form myform = new Form ();
  803. myform.ShowInTaskbar = false;
  804. myform.Visible = true;
  805. MyScrollBar s = new MyScrollBar ();
  806. myform.Controls.Add (s);
  807. s.Text = "foobar";
  808. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  809. myform.Dispose ();
  810. }
  811. [Test]
  812. public void ValueChangedEventsOrder ()
  813. {
  814. string[] EventsWanted = {
  815. "OnHandleCreated",
  816. "OnBindingContextChanged",
  817. "OnBindingContextChanged",
  818. "OnValueChanged"
  819. };
  820. Form myform = new Form ();
  821. myform.ShowInTaskbar = false;
  822. myform.Visible = true;
  823. MyScrollBar s = new MyScrollBar ();
  824. myform.Controls.Add (s);
  825. s.Value = 10;
  826. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  827. myform.Dispose ();
  828. }
  829. }
  830. public class MyScrollBar2 : HScrollBar
  831. {
  832. protected ArrayList results = new ArrayList ();
  833. public MyScrollBar2 () : base ()
  834. {
  835. this.HandleCreated += new EventHandler (HandleCreated_Handler);
  836. this.BackColorChanged += new EventHandler (BackColorChanged_Handler);
  837. this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
  838. this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
  839. this.Click += new EventHandler (Click_Handler);
  840. this.DoubleClick += new EventHandler (DoubleClick_Handler);
  841. this.FontChanged += new EventHandler (FontChanged_Handler);
  842. this.ForeColorChanged += new EventHandler (ForeColorChanged_Handler);
  843. this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
  844. this.MouseDown += new MouseEventHandler (MouseDown_Handler);
  845. this.MouseMove += new MouseEventHandler (MouseMove_Handler);
  846. this.MouseUp += new MouseEventHandler (MouseUp_Handler);
  847. this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
  848. this.Resize += new EventHandler (Resize_Handler);
  849. this.SizeChanged += new EventHandler (SizeChanged_Handler);
  850. this.Layout += new LayoutEventHandler (Layout_Handler);
  851. this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
  852. this.Paint += new PaintEventHandler (Paint_Handler);
  853. this.Scroll += new ScrollEventHandler (Scroll_Handler);
  854. this.TextChanged += new EventHandler (TextChanged_Handler);
  855. this.ValueChanged += new EventHandler (ValueChanged_Handler);
  856. }
  857. protected void HandleCreated_Handler (object sender, EventArgs e)
  858. {
  859. results.Add ("HandleCreated");
  860. }
  861. protected void BackColorChanged_Handler (object sender, EventArgs e)
  862. {
  863. results.Add ("BackColorChanged");
  864. }
  865. protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
  866. {
  867. results.Add ("BackgroundImageChanged");
  868. }
  869. protected void Click_Handler (object sender, EventArgs e)
  870. {
  871. results.Add ("Click");
  872. }
  873. protected void DoubleClick_Handler (object sender, EventArgs e)
  874. {
  875. results.Add ("DoubleClick");
  876. }
  877. protected void FontChanged_Handler (object sender, EventArgs e)
  878. {
  879. results.Add ("FontChanged");
  880. }
  881. protected void ForeColorChanged_Handler (object sender, EventArgs e)
  882. {
  883. results.Add ("ForeColorChanged");
  884. }
  885. protected void ImeModeChanged_Handler (object sender, EventArgs e)
  886. {
  887. results.Add ("ImeModeChanged");
  888. }
  889. protected void MouseDown_Handler (object sender, MouseEventArgs e)
  890. {
  891. results.Add ("MouseDown");
  892. }
  893. protected void MouseMove_Handler (object sender, MouseEventArgs e)
  894. {
  895. results.Add ("MouseMove");
  896. }
  897. protected void MouseUp_Handler (object sender, MouseEventArgs e)
  898. {
  899. results.Add ("MouseUp");
  900. }
  901. protected void BindingContextChanged_Handler (object sender, EventArgs e)
  902. {
  903. results.Add ("BindingContextChanged");
  904. }
  905. protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
  906. {
  907. results.Add("Invalidated");
  908. }
  909. protected void Resize_Handler (object sender, EventArgs e)
  910. {
  911. results.Add("Resize");
  912. }
  913. protected void SizeChanged_Handler (object sender, EventArgs e)
  914. {
  915. results.Add("SizeChanged");
  916. }
  917. protected void Layout_Handler (object sender, LayoutEventArgs e)
  918. {
  919. results.Add("Layout");
  920. }
  921. protected void VisibleChanged_Handler (object sender, EventArgs e)
  922. {
  923. results.Add("VisibleChanged");
  924. }
  925. protected void Paint_Handler (object sender, PaintEventArgs e)
  926. {
  927. results.Add("Paint");
  928. }
  929. protected void Scroll_Handler (object sender, ScrollEventArgs e)
  930. {
  931. results.Add ("Scroll");
  932. }
  933. protected void TextChanged_Handler (object sender, EventArgs e)
  934. {
  935. results.Add ("TextChanged");
  936. }
  937. protected void ValueChanged_Handler (object sender, EventArgs e)
  938. {
  939. results.Add ("ValueChanged");
  940. }
  941. public ArrayList Results {
  942. get { return results; }
  943. }
  944. public void MoveMouse ()
  945. {
  946. Message m;
  947. m = new Message ();
  948. m.Msg = (int)WndMsg.WM_NCHITTEST;
  949. m.HWnd = this.Handle;
  950. m.WParam = (IntPtr)0x0;
  951. m.LParam = (IntPtr)0x1c604ea;
  952. this.WndProc(ref m);
  953. m.Msg = (int)WndMsg.WM_SETCURSOR;
  954. m.HWnd = this.Handle;
  955. m.WParam = (IntPtr)0x100448;
  956. m.LParam = (IntPtr)0x2000001;
  957. this.WndProc(ref m);
  958. m.Msg = (int)WndMsg.WM_MOUSEFIRST;
  959. m.HWnd = this.Handle;
  960. m.WParam = (IntPtr)0x0;
  961. m.LParam = (IntPtr)0x14000b;
  962. this.WndProc(ref m);
  963. m.Msg = (int)WndMsg.WM_MOUSEHOVER;
  964. m.HWnd = this.Handle;
  965. m.WParam = (IntPtr)0x0;
  966. m.LParam = (IntPtr)0x14000b;
  967. this.WndProc(ref m);
  968. }
  969. public void MouseRightDown()
  970. {
  971. Message m;
  972. m = new Message();
  973. m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
  974. m.HWnd = this.Handle;
  975. m.WParam = (IntPtr)0x01;
  976. m.LParam = (IntPtr)0x9004f;
  977. this.WndProc(ref m);
  978. }
  979. public new void MouseClick()
  980. {
  981. Message m;
  982. m = new Message();
  983. m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
  984. m.HWnd = this.Handle;
  985. m.WParam = (IntPtr)0x01;
  986. m.LParam = (IntPtr)0x9004f;
  987. this.WndProc(ref m);
  988. m = new Message();
  989. m.Msg = (int)WndMsg.WM_LBUTTONUP;
  990. m.HWnd = this.Handle;
  991. m.WParam = (IntPtr)0x01;
  992. m.LParam = (IntPtr)0x9004f;
  993. this.WndProc(ref m);
  994. }
  995. public new void MouseDoubleClick ()
  996. {
  997. MouseClick ();
  998. MouseClick ();
  999. }
  1000. public void MouseRightUp()
  1001. {
  1002. Message m;
  1003. m = new Message();
  1004. m.Msg = (int)WndMsg.WM_RBUTTONUP;
  1005. m.HWnd = this.Handle;
  1006. m.WParam = (IntPtr)0x01;
  1007. m.LParam = (IntPtr)0x9004f;
  1008. this.WndProc(ref m);
  1009. }
  1010. public void ScrollNow ()
  1011. {
  1012. Message m;
  1013. m = new Message ();
  1014. m.Msg = 8468;
  1015. m.HWnd = this.Handle;
  1016. m.WParam = (IntPtr)0x1;
  1017. m.LParam = (IntPtr)0x1a051a;
  1018. this.WndProc(ref m);
  1019. m.Msg = 233;
  1020. m.HWnd = this.Handle;
  1021. m.WParam = (IntPtr)0x1;
  1022. m.LParam = (IntPtr)0x12eb34;
  1023. this.WndProc(ref m);
  1024. }
  1025. }
  1026. [TestFixture]
  1027. [Ignore("Tests too strict")]
  1028. public class HScrollBarTestEventsOrder2
  1029. {
  1030. public string [] ArrayListToString (ArrayList arrlist)
  1031. {
  1032. string [] retval = new string [arrlist.Count];
  1033. for (int i = 0; i < arrlist.Count; i++)
  1034. retval[i] = (string)arrlist[i];
  1035. return retval;
  1036. }
  1037. [Test]
  1038. public void CreateEventsOrder ()
  1039. {
  1040. string[] EventsWanted = {
  1041. "HandleCreated",
  1042. "BindingContextChanged",
  1043. "BindingContextChanged"
  1044. };
  1045. Form myform = new Form ();
  1046. myform.ShowInTaskbar = false;
  1047. myform.Visible = true;
  1048. MyScrollBar2 s = new MyScrollBar2 ();
  1049. myform.Controls.Add (s);
  1050. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1051. myform.Dispose ();
  1052. }
  1053. [Test]
  1054. public void BackColorChangedEventsOrder ()
  1055. {
  1056. string[] EventsWanted = {
  1057. "HandleCreated",
  1058. "BindingContextChanged",
  1059. "BindingContextChanged",
  1060. "Invalidated",
  1061. "BackColorChanged"
  1062. };
  1063. Form myform = new Form ();
  1064. myform.ShowInTaskbar = false;
  1065. myform.Visible = true;
  1066. MyScrollBar2 s = new MyScrollBar2 ();
  1067. myform.Controls.Add (s);
  1068. s.BackColor = Color.Aqua;
  1069. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1070. myform.Dispose ();
  1071. }
  1072. [Test]
  1073. public void BackgroundImageChangedEventsOrder ()
  1074. {
  1075. string[] EventsWanted = {
  1076. "HandleCreated",
  1077. "BindingContextChanged",
  1078. "BindingContextChanged",
  1079. "Invalidated",
  1080. "BackgroundImageChanged"
  1081. };
  1082. Form myform = new Form ();
  1083. myform.ShowInTaskbar = false;
  1084. myform.Visible = true;
  1085. MyScrollBar2 s = new MyScrollBar2 ();
  1086. myform.Controls.Add (s);
  1087. s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
  1088. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1089. myform.Dispose ();
  1090. }
  1091. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  1092. public void ClickEventsOrder ()
  1093. {
  1094. string[] EventsWanted = {
  1095. "HandleCreated",
  1096. "BindingContextChanged",
  1097. "BindingContextChanged"
  1098. };
  1099. Form myform = new Form ();
  1100. myform.ShowInTaskbar = false;
  1101. myform.Visible = true;
  1102. MyScrollBar2 s = new MyScrollBar2 ();
  1103. myform.Controls.Add (s);
  1104. s.MouseClick ();
  1105. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1106. myform.Dispose ();
  1107. }
  1108. [Test, Ignore ("Need to send proper Click / DoubleClick")]
  1109. public void DoubleClickEventsOrder ()
  1110. {
  1111. string[] EventsWanted = {
  1112. "HandleCreated",
  1113. "BindingContextChanged",
  1114. "BindingContextChanged"
  1115. };
  1116. Form myform = new Form ();
  1117. myform.ShowInTaskbar = false;
  1118. myform.Visible = true;
  1119. MyScrollBar2 s = new MyScrollBar2 ();
  1120. myform.Controls.Add (s);
  1121. s.MouseDoubleClick ();
  1122. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1123. myform.Dispose ();
  1124. }
  1125. [Test]
  1126. public void FontChangedEventsOrder ()
  1127. {
  1128. string[] EventsWanted = {
  1129. "HandleCreated",
  1130. "BindingContextChanged",
  1131. "BindingContextChanged"
  1132. };
  1133. Form myform = new Form ();
  1134. myform.ShowInTaskbar = false;
  1135. myform.Visible = true;
  1136. MyScrollBar2 s = new MyScrollBar2 ();
  1137. myform.Controls.Add (s);
  1138. FontDialog myFontDialog = new FontDialog();
  1139. s.Font = myFontDialog.Font;
  1140. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1141. myform.Dispose ();
  1142. }
  1143. [Test]
  1144. public void ForeColorChangedEventsOrder ()
  1145. {
  1146. string[] EventsWanted = {
  1147. "HandleCreated",
  1148. "BindingContextChanged",
  1149. "BindingContextChanged",
  1150. "Invalidated",
  1151. "ForeColorChanged"
  1152. };
  1153. Form myform = new Form ();
  1154. myform.ShowInTaskbar = false;
  1155. myform.Visible = true;
  1156. MyScrollBar2 s = new MyScrollBar2 ();
  1157. myform.Controls.Add (s);
  1158. s.ForeColor = Color.Aqua;
  1159. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1160. myform.Dispose ();
  1161. }
  1162. [Test]
  1163. public void ImeModeChangedChangedEventsOrder ()
  1164. {
  1165. string[] EventsWanted = {
  1166. "HandleCreated",
  1167. "BindingContextChanged",
  1168. "BindingContextChanged",
  1169. "ImeModeChanged"
  1170. };
  1171. Form myform = new Form ();
  1172. myform.ShowInTaskbar = false;
  1173. myform.Visible = true;
  1174. MyScrollBar2 s = new MyScrollBar2 ();
  1175. myform.Controls.Add (s);
  1176. s.ImeMode = ImeMode.Katakana;
  1177. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1178. myform.Dispose ();
  1179. }
  1180. [Test]
  1181. public void MouseDownEventsOrder ()
  1182. {
  1183. string[] EventsWanted = {
  1184. "HandleCreated",
  1185. "BindingContextChanged",
  1186. "BindingContextChanged",
  1187. "MouseDown"
  1188. };
  1189. Form myform = new Form ();
  1190. myform.ShowInTaskbar = false;
  1191. myform.Visible = true;
  1192. MyScrollBar2 s = new MyScrollBar2 ();
  1193. myform.Controls.Add (s);
  1194. s.MouseRightDown ();
  1195. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1196. myform.Dispose ();
  1197. }
  1198. [Test]
  1199. public void MouseMoveEventsOrder ()
  1200. {
  1201. string[] EventsWanted = {
  1202. "HandleCreated",
  1203. "BindingContextChanged",
  1204. "BindingContextChanged",
  1205. "MouseMove"
  1206. };
  1207. Form myform = new Form ();
  1208. myform.ShowInTaskbar = false;
  1209. myform.Visible = true;
  1210. MyScrollBar2 s = new MyScrollBar2 ();
  1211. myform.Controls.Add (s);
  1212. s.MoveMouse ();
  1213. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1214. myform.Dispose ();
  1215. }
  1216. [Test]
  1217. public void MouseUpEventsOrder ()
  1218. {
  1219. string[] EventsWanted = {
  1220. "HandleCreated",
  1221. "BindingContextChanged",
  1222. "BindingContextChanged",
  1223. "MouseUp"
  1224. };
  1225. Form myform = new Form ();
  1226. myform.ShowInTaskbar = false;
  1227. myform.Visible = true;
  1228. MyScrollBar2 s = new MyScrollBar2 ();
  1229. myform.Controls.Add (s);
  1230. s.MouseRightUp ();
  1231. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1232. myform.Dispose ();
  1233. }
  1234. [Test]
  1235. public void PaintEventsOrder ()
  1236. {
  1237. string[] EventsWanted = {
  1238. "HandleCreated",
  1239. "BindingContextChanged",
  1240. "BindingContextChanged",
  1241. "Invalidated"
  1242. };
  1243. Form myform = new Form ();
  1244. myform.ShowInTaskbar = false;
  1245. myform.Visible = true;
  1246. MyScrollBar2 s = new MyScrollBar2 ();
  1247. myform.Controls.Add (s);
  1248. s.Visible = true;
  1249. s.Refresh ();
  1250. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1251. myform.Dispose ();
  1252. }
  1253. [Test]
  1254. public void ScrollEventsOrder ()
  1255. {
  1256. string[] EventsWanted = {
  1257. "HandleCreated",
  1258. "BindingContextChanged",
  1259. "BindingContextChanged",
  1260. "Scroll",
  1261. "ValueChanged"
  1262. };
  1263. Form myform = new Form ();
  1264. myform.ShowInTaskbar = false;
  1265. myform.Visible = true;
  1266. MyScrollBar2 s = new MyScrollBar2 ();
  1267. myform.Controls.Add (s);
  1268. s.ScrollNow ();
  1269. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1270. myform.Dispose ();
  1271. }
  1272. [Test]
  1273. public void TextChangedEventsOrder ()
  1274. {
  1275. string[] EventsWanted = {
  1276. "HandleCreated",
  1277. "BindingContextChanged",
  1278. "BindingContextChanged",
  1279. "TextChanged"
  1280. };
  1281. Form myform = new Form ();
  1282. myform.ShowInTaskbar = false;
  1283. myform.Visible = true;
  1284. MyScrollBar2 s = new MyScrollBar2 ();
  1285. myform.Controls.Add (s);
  1286. s.Text = "foobar";
  1287. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1288. myform.Dispose ();
  1289. }
  1290. [Test]
  1291. public void ValueChangedEventsOrder ()
  1292. {
  1293. string[] EventsWanted = {
  1294. "HandleCreated",
  1295. "BindingContextChanged",
  1296. "BindingContextChanged",
  1297. "ValueChanged"
  1298. };
  1299. Form myform = new Form ();
  1300. myform.ShowInTaskbar = false;
  1301. myform.Visible = true;
  1302. MyScrollBar2 s = new MyScrollBar2 ();
  1303. myform.Controls.Add (s);
  1304. s.Value = 10;
  1305. Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
  1306. myform.Dispose ();
  1307. }
  1308. }
  1309. }