| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155 |
- //
- // Copyright (c) 2005 Novell, Inc.
- //
- // Authors:
- // Hisham Mardam Bey ([email protected])
- //
- //
- using System;
- using NUnit.Framework;
- using System.Windows.Forms;
- using System.Drawing;
- using System.Collections;
- namespace MonoTests.System.Windows.Forms
- {
- [TestFixture]
- public class LabelTest
- {
- [Test]
- public void LabelAccessibility ()
- {
- Label l = new Label ();
- Assert.IsNotNull (l.AccessibilityObject, "1");
- }
- [Test]
- public void PreferredWidth ()
- {
- Label l = new Label();
- // preferred width is 0 by default
- Assert.AreEqual (0, l.PreferredWidth, "2");
- // and after text is changed it's something else
- l.Text = "hi";
- Assert.IsTrue (l.PreferredWidth > 0, "3");
- // now add it to a form and see
- Form f = new Form ();
- f.ShowInTaskbar = false;
- l.Text = "";
- f.Controls.Add (l);
- f.Show ();
- Assert.AreEqual (0, l.PreferredWidth, "4");
- l.Text = "hi";
- Assert.IsTrue (l.PreferredWidth > 0, "5");
- f.Dispose ();
- }
- [Test]
- public void PreferredHeight ()
- {
- Label l = new Label();
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 3), "#1");
-
- l.BorderStyle = BorderStyle.None;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 3), "#2");
-
- l.BorderStyle = BorderStyle.FixedSingle;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 6), "#3");
-
- l.BorderStyle = BorderStyle.Fixed3D;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height + 6), "#4");
- #if NET_2_0
- l.UseCompatibleTextRendering = false;
-
- l.BorderStyle = BorderStyle.None;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#5");
-
- l.BorderStyle = BorderStyle.FixedSingle;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#6");
-
- l.BorderStyle = BorderStyle.Fixed3D;
- Assert.AreEqual (l.PreferredHeight, (l.Font.Height), "#7");
- #endif
- }
-
- [Test]
- public void SizesTest ()
- {
- Form myform = new Form ();
- Label l1 = new Label (); l1.Text = "Test";
- Label l2 = new Label (); l2.Text = "Test";
- Label l3 = new Label (); l3.Text = "Test three";
- Label l4 = new Label (); l4.Text = String.Format ("Test four{0}with line breaks", Environment.NewLine);
- myform.Controls.Add (l1);
- myform.Controls.Add (l2);
- myform.Controls.Add (l3);
- myform.Controls.Add (l4);
- myform.Show ();
-
- l2.Font = new Font (l1.Font.FontFamily, l1.Font.Size + 5, l1.Font.Style);
-
- // Height: autosize = false
- Assert.AreEqual (l1.Height, l2.Height, "#1");
- Assert.AreEqual (l1.Height, l3.Height, "#2");
- Assert.AreEqual (l1.Height, l4.Height, "#3");
-
- // Width: autosize = false
- Assert.AreEqual (l1.Width, l2.Width, "#4");
- Assert.AreEqual (l1.Width, l3.Width, "#5");
- Assert.AreEqual (l1.Width, l4.Width, "#6");
-
- l1.AutoSize = true;
- l2.AutoSize = true;
- l3.AutoSize = true;
- l4.AutoSize = true;
-
- // Height: autosize = false
- Assert.IsFalse (l1.Height.Equals (l2.Height), "#7");
- Assert.IsTrue (l1.Height.Equals (l3.Height), "#8");
- Assert.IsTrue (l1.Height.Equals (l4.Height), "#9");
-
- // Width: autosize = false
- Assert.IsFalse (l1.Width.Equals (l2.Width), "#10");
- Assert.IsFalse (l1.Width.Equals (l3.Width), "#11");
-
- myform.Dispose();
- }
- [Test]
- public void StyleTest ()
- {
- Label l = new Label ();
-
- Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#1");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#2");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#3");
-
- l.BorderStyle = BorderStyle.None;
- Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#4");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#5");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#6");
-
- l.BorderStyle = BorderStyle.FixedSingle;
- Assert.IsTrue (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#7");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#8");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#9");
- l.BorderStyle = BorderStyle.Fixed3D;
-
- Assert.IsFalse (TestHelper.IsStyleSet (l, WindowStyles.WS_BORDER), "#10");
- Assert.IsFalse (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_CLIENTEDGE), "#11");
- Assert.IsTrue (TestHelper.IsExStyleSet (l, WindowExStyles.WS_EX_STATICEDGE), "#12");
- }
- [Test]
- public void BoundsTest ()
- {
- Label l = new Label ();
- Assert.AreEqual (new Rectangle (0,0,100,23), l.Bounds, "1");
- Assert.AreEqual (new Rectangle (0,0,100,23), l.ClientRectangle, "2");
- Assert.AreEqual (new Size (100,23), l.ClientSize, "3");
- }
- [Test]
- public void PubPropTest ()
- {
- Label l = new Label ();
- Assert.IsFalse (l.AutoSize, "#3");
-
- Assert.AreEqual ("Control", l.BackColor.Name , "#6");
- Assert.IsNull (l.BackgroundImage, "#8");
- Assert.AreEqual (BorderStyle.None , l.BorderStyle, "#9");
-
- Assert.IsNull (l.Container, "#19");
- Assert.IsFalse (l.ContainsFocus, "#20");
- Assert.IsNull (l.ContextMenu, "#21");
- Assert.IsFalse (l.Created, "#23");
- Assert.AreEqual (Cursors.Default , l.Cursor, "#24");
-
- Assert.IsNotNull (l.DataBindings, "#25");
- Assert.AreEqual (DockStyle.None, l.Dock, "#28");
-
- Assert.IsTrue (l.Enabled, "#29");
-
- Assert.AreEqual (FlatStyle.Standard, l.FlatStyle, "#30");
- Assert.IsFalse (l.Focused, "#31");
- Assert.AreEqual (FontFamily.GenericSansSerif, l.Font.FontFamily, "#32");
- Assert.AreEqual (SystemColors.ControlText, l.ForeColor, "#33");
-
- Assert.IsFalse (l.HasChildren, "#35");
-
- Assert.IsNull (l.Image, "#37");
- Assert.AreEqual (ContentAlignment.MiddleCenter, l.ImageAlign, "#38");
- Assert.AreEqual (-1, l.ImageIndex, "#39");
- Assert.IsNull (l.ImageList, "#40");
- Assert.IsFalse (l.InvokeRequired, "#42");
- Assert.IsFalse (l.IsAccessible, "#43");
- Assert.IsFalse (l.IsDisposed, "#44");
-
- Assert.IsNull (l.Parent, "#49");
- Assert.IsFalse (l.RecreatingHandle, "#54");
- Assert.IsNull (l.Region, "#55");
- Assert.AreEqual (RightToLeft.No, l.RightToLeft, "#57");
-
- Assert.IsNull (l.Site, "#58");
-
- Assert.AreEqual (0, l.TabIndex, "#60");
- Assert.IsNull (l.Tag, "#61");
- Assert.AreEqual ("", l.Text, "#62");
- Assert.AreEqual (ContentAlignment.TopLeft, l.TextAlign, "#63");
- Assert.IsNull (l.TopLevelControl, "#65");
-
- Assert.IsTrue (l.UseMnemonic, "#66");
-
- Assert.IsTrue (l.Visible, "#67");
- }
- [Test]
- public void LabelEqualsTest () {
- Label s1 = new Label ();
- Label s2 = new Label ();
- s1.Text = "abc";
- s2.Text = "abc";
- Assert.IsFalse (s1.Equals (s2), "#69");
- Assert.IsTrue (s1.Equals (s1), "#70");
- }
-
- [Test]
- public void LabelScaleTest () {
- Label r1 = new Label ();
- r1.Width = 40;
- r1.Height = 20 ;
- r1.Scale (2);
- Assert.AreEqual (80, r1.Width, "#71");
- Assert.AreEqual (40, r1.Height, "#72");
- }
- [Test]
- public void ToStringTest ()
- {
- Label l = new Label ();
- l.Text = "My Label";
- Assert.AreEqual ("System.Windows.Forms.Label, Text: My Label", l.ToString (), "T1");
- }
- }
- [TestFixture]
- public class LabelEventTest
- {
- static bool eventhandled = false;
- public void Label_EventHandler (object sender,EventArgs e)
- {
- eventhandled = true;
- }
- public void Label_KeyDownEventHandler (object sender, KeyEventArgs e)
- {
- eventhandled = true;
- }
- #if NET_2_0
- [Ignore ("AutoSize moved to Control in 2.0, Label.AutoSize needs to be reworked a bit.")]
- #endif
- [Test]
- public void AutoSizeChangedChangedTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- Label l = new Label ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.AutoSizeChanged += new EventHandler (Label_EventHandler);
- l.AutoSize = true;
- Assert.AreEqual (true, eventhandled, "B4");
- eventhandled = false;
- myform.Dispose();
- }
- [Test]
- public void BackgroundImageChangedTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- Label l = new Label ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.BackgroundImageChanged += new EventHandler (Label_EventHandler);
- l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
- Assert.AreEqual (true, eventhandled, "B4");
- eventhandled = false;
- myform.Dispose();
- }
- [Test]
- public void ImeModeChangedTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- Label l = new Label ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.ImeModeChanged += new EventHandler (Label_EventHandler);
- l.ImeMode = ImeMode.Katakana;
- Assert.AreEqual (true, eventhandled, "I16");
- eventhandled = false;
- myform.Dispose();
- }
- [Test]
- public void KeyDownTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.KeyDown += new KeyEventHandler (Label_KeyDownEventHandler);
- l.KeyPressA ();
- Assert.AreEqual (true, eventhandled, "K1");
- eventhandled = false;
- myform.Dispose();
- }
- [Test]
- public void TabStopChangedTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- Label l = new Label ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.TabStopChanged += new EventHandler (Label_EventHandler);
- l.TabStop = true;
- Assert.AreEqual (true, eventhandled, "T3");
- eventhandled = false;
- myform.Dispose();
- }
- [Test]
- public void TextAlignChangedTest ()
- {
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- Label l = new Label ();
- l.Visible = true;
- myform.Controls.Add (l);
- l.TextAlignChanged += new EventHandler (Label_EventHandler);
- l.TextAlign = ContentAlignment.TopRight;
- Assert.AreEqual (true, eventhandled, "T4");
- eventhandled = false;
- myform.Dispose();
- }
- }
- public class MyLabelInvalidate : MyLabel
- {
- //protected ArrayList results = new ArrayList ();
- public MyLabelInvalidate () : base ()
- {}
- protected override void OnInvalidated (InvalidateEventArgs e)
- {
- base.OnInvalidated (e);
- string res = (string)results [results.Count - 1];
- results [results.Count - 1 ] = string.Concat (res, "," + e.InvalidRect.ToString ());
- //results.Add ("OnInvalidate," + e.InvalidRect.ToString ());
- }
- //public ArrayList Results {
- // get { return results; }
- //}
- }
- public class MyLabel : Label
- {
- protected ArrayList results = new ArrayList ();
- public MyLabel () : base ()
- { }
- protected override void OnAutoSizeChanged (EventArgs e)
- {
- results.Add ("OnAutoSizeChanged");
- base.OnAutoSizeChanged (e);
- }
- protected override void OnBackgroundImageChanged (EventArgs e)
- {
- results.Add ("OnBackgroundImageChanged");
- base.OnBackgroundImageChanged (e);
- }
- protected override void OnImeModeChanged (EventArgs e)
- {
- results.Add ("OnImeModeChanged");
- base.OnImeModeChanged (e);
- }
- protected override void OnKeyDown (KeyEventArgs e)
- {
- results.Add ("OnKeyDown,"+(char)e.KeyValue);
- base.OnKeyDown (e);
- }
- protected override void OnKeyPress (KeyPressEventArgs e)
- {
- results.Add ("OnKeyPress,"+e.KeyChar.ToString ());
- base.OnKeyPress (e);
- }
- protected override void OnKeyUp (KeyEventArgs e)
- {
- results.Add ("OnKeyUp,"+(char)e.KeyValue);
- base.OnKeyUp (e);
- }
- protected override void OnHandleCreated (EventArgs e)
- {
- results.Add ("OnHandleCreated");
- base.OnHandleCreated (e);
- }
- protected override void OnBindingContextChanged (EventArgs e)
- {
- results.Add ("OnBindingContextChanged");
- base.OnBindingContextChanged (e);
- }
- protected override void OnInvalidated (InvalidateEventArgs e)
- {
- results.Add("OnInvalidated");
- base.OnInvalidated (e);
- }
- protected override void OnResize (EventArgs e)
- {
- results.Add("OnResize");
- base.OnResize (e);
- }
- protected override void OnSizeChanged (EventArgs e)
- {
- results.Add("OnSizeChanged");
- base.OnSizeChanged (e);
- }
- protected override void OnLayout (LayoutEventArgs e)
- {
- results.Add("OnLayout");
- base.OnLayout (e);
- }
- protected override void OnVisibleChanged (EventArgs e)
- {
- results.Add("OnVisibleChanged");
- base.OnVisibleChanged (e);
- }
- protected override void OnPaint (PaintEventArgs e)
- {
- results.Add("OnPaint");
- base.OnPaint (e);
- }
- public void KeyPressA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYDOWN;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_CHAR;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x61;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_KEYUP;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)unchecked((int)0xC01e0001);
- this.WndProc(ref m);
- }
- public void KeyDownA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYDOWN;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_CHAR;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x61;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- }
- public void KeyUpA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYUP;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)unchecked((int)0xC01e0001);
- this.WndProc(ref m);
- }
- public ArrayList Results {
- get { return results; }
- }
- }
- [TestFixture]
- [Ignore("Comparisons too strict")]
- public class LabelTestEventsOrder
- {
- public string [] ArrayListToString (ArrayList arrlist)
- {
- string [] retval = new string [arrlist.Count];
- for (int i = 0; i < arrlist.Count; i++)
- retval[i] = (string)arrlist[i];
- return retval;
- }
- //private void OrderedAssert(string[] wanted, ArrayList found) {
- // int last_target;
- // bool seen;
- //
- // last_target = 0;
- //
- // for (int i = 0; i < wanted.Length; i++) {
- // seen = false;
- // for (int j = last_target; j < found.Count; j++) {
- // if (wanted[i] == (string)found[j]) {
- // seen = true;
- // last_target = j + 1;
- // break;
- // }
- // }
- //
- // if (!seen) {
- // Console.WriteLine("Needed {0}", wanted[i]);
- // }
- // }
- //}
- public void PrintList(string name, ArrayList list) {
- Console.WriteLine("{0}", name);
- for (int i = 0; i < list.Count; i++) {
- Console.WriteLine(" {0}", list[i]);
- }
- Console.WriteLine("");
- }
- [Test]
- public void CreateEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void SizeChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnSizeChanged",
- "OnResize",
- "OnInvalidated",
- "OnLayout"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.Size = new Size (150, 20);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void AutoSizeChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnSizeChanged",
- "OnResize",
- "OnInvalidated",
- "OnLayout",
- "OnAutoSizeChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.AutoSize = true;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void BackgroundImageChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnBackgroundImageChanged",
- "OnInvalidated"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void ImeModeChangedChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnImeModeChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.ImeMode = ImeMode.Katakana;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void KeyPressEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnKeyDown,A",
- "OnKeyPress,a",
- "OnKeyUp,A"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.KeyPressA ();
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void TabStopChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.TabStop = true;
- PrintList("TabStopChanged", l.Results);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void TextAlignChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnInvalidated"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.TextAlign = ContentAlignment.TopRight;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void InvalidateEventsOrder ()
- {
- Rectangle rect = new Rectangle (new Point (0,0), new Size (2, 2));
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabelInvalidate l = new MyLabelInvalidate ();
- myform.Controls.Add (l);
- l.TextAlign = ContentAlignment.TopRight;
- string [] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnInvalidated,{X=0,Y=0,Width="+l.Size.Width+",Height="+l.Size.Height+"}",
- "OnInvalidated," + rect.ToString ()
- };
- l.Invalidate (rect);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void PaintEventsOrder ()
- {
- string[] EventsWanted = {
- "OnHandleCreated",
- "OnBindingContextChanged",
- "OnBindingContextChanged",
- "OnInvalidated",
- "OnInvalidated",
- "OnPaint"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel l = new MyLabel ();
- myform.Controls.Add (l);
- l.TextAlign = ContentAlignment.TopRight;
- l.Refresh ();
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- }
- public class MyLabel2 : Label
- {
- protected ArrayList results = new ArrayList ();
- public MyLabel2 () : base ()
- {
- this.AutoSizeChanged += new EventHandler (AutoSizeChanged_Handler);
- this.HandleCreated += new EventHandler (HandleCreated_Handler);
- this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
- this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
- this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
- this.KeyDown += new KeyEventHandler (KeyDown_Handler);
- this.KeyPress += new KeyPressEventHandler (KeyPress_Handler);
- this.KeyUp += new KeyEventHandler (KeyUp_Handler);
- this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
- this.Resize += new EventHandler (Resize_Handler);
- this.SizeChanged += new EventHandler (SizeChanged_Handler);
- this.Layout += new LayoutEventHandler (Layout_Handler);
- this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
- this.Paint += new PaintEventHandler (Paint_Handler);
- }
- protected void AutoSizeChanged_Handler (object sender, EventArgs e)
- {
- results.Add ("AutoSizeChanged");
- }
- protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
- {
- results.Add ("BackgroundImageChanged");
- }
- protected void ImeModeChanged_Handler (object sender, EventArgs e)
- {
- results.Add ("ImeModeChanged");
- }
- protected void KeyDown_Handler (object sender, KeyEventArgs e)
- {
- results.Add ("KeyDown,"+(char)e.KeyValue);
- }
- protected void KeyPress_Handler (object sender, KeyPressEventArgs e)
- {
- results.Add ("KeyPress,"+e.KeyChar.ToString ());
- }
- protected void KeyUp_Handler (object sender, KeyEventArgs e)
- {
- results.Add ("KeyUp,"+(char)e.KeyValue);
- }
- protected void HandleCreated_Handler (object sender, EventArgs e)
- {
- results.Add ("HandleCreated");
- }
- protected void BindingContextChanged_Handler (object sender, EventArgs e)
- {
- results.Add ("BindingContextChanged");
- }
- protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
- {
- results.Add("Invalidated");
- }
- protected void Resize_Handler (object sender, EventArgs e)
- {
- results.Add("Resize");
- }
- protected void SizeChanged_Handler (object sender, EventArgs e)
- {
- results.Add("SizeChanged");
- }
- protected void Layout_Handler (object sender, LayoutEventArgs e)
- {
- results.Add("Layout");
- }
- protected void VisibleChanged_Handler (object sender, EventArgs e)
- {
- results.Add("VisibleChanged");
- }
- protected void Paint_Handler (object sender, PaintEventArgs e)
- {
- results.Add("Paint");
- }
- public void KeyPressA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYDOWN;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_CHAR;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x61;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_KEYUP;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)unchecked((int)0xC01e0001);
- this.WndProc(ref m);
- }
- public void KeyDownA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYDOWN;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- m.Msg = (int)WndMsg.WM_CHAR;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x61;
- m.LParam = (IntPtr)0x1e0001;
- this.WndProc(ref m);
- }
- public void KeyUpA()
- {
- Message m;
- m = new Message();
- m.Msg = (int)WndMsg.WM_KEYUP;
- m.HWnd = this.Handle;
- m.WParam = (IntPtr)0x41;
- m.LParam = (IntPtr)unchecked((int)0xC01e0001);
- this.WndProc(ref m);
- }
- public ArrayList Results {
- get { return results; }
- }
- }
- [TestFixture]
- [Ignore("Comparisons too strict")]
- public class LabelTestEventsOrder2
- {
- public string [] ArrayListToString (ArrayList arrlist)
- {
- string [] retval = new string [arrlist.Count];
- for (int i = 0; i < arrlist.Count; i++)
- retval[i] = (string)arrlist[i];
- return retval;
- }
- [Test]
- public void CreateEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void SizeChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "Invalidated",
- "Layout",
- "Resize",
- "SizeChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.Size = new Size (150, 20);
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void AutoSizeChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "Invalidated",
- "Layout",
- "Resize",
- "SizeChanged",
- "AutoSizeChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.AutoSize = true;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void BackgroundImageChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "Invalidated",
- "BackgroundImageChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void ImeModeChangedChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "ImeModeChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.ImeMode = ImeMode.Katakana;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void KeyPressEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "KeyDown,A",
- "KeyPress,a",
- "KeyUp,A"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.KeyPressA ();
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void TabStopChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.TabStop = true;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void TextAlignChangedEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "Invalidated"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.TextAlign = ContentAlignment.TopRight;
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- [Test]
- public void PaintEventsOrder ()
- {
- string[] EventsWanted = {
- "HandleCreated",
- "BindingContextChanged",
- "BindingContextChanged",
- "Invalidated",
- "Invalidated",
- "Paint"
- };
- Form myform = new Form ();
- myform.ShowInTaskbar = false;
- myform.Visible = true;
- MyLabel2 l = new MyLabel2 ();
- myform.Controls.Add (l);
- l.TextAlign = ContentAlignment.TopRight;
- l.Refresh ();
- Assert.AreEqual (EventsWanted, ArrayListToString (l.Results));
- myform.Dispose();
- }
- }
- }
|