| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240 |
- //
- // 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 : TestHelper
- {
- [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");
- #if NET_2_0
- Assert.IsTrue ((l4.Height > l1.Height), "#9");
- #else
- Assert.IsTrue (l1.Height.Equals (l4.Height), "#9");
- #endif
-
- // 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");
- }
-
- #if NET_2_0
- [Test]
- public void AutoSizeExplicitSize ()
- {
- Form f = new Form ();
- f.ShowInTaskbar = false;
-
- Label l = new Label ();
- l.Size = new Size (5, 5);
- l.AutoSize = true;
- l.Text = "My Label";
- f.Controls.Add (l);
-
- Size s = l.Size;
- l.Width = 10;
- Assert.AreEqual (s, l.Size, "A1");
- l.Height = 10;
- Assert.AreEqual (s, l.Size, "A2");
- }
-
- [Test]
- public void LabelMargin ()
- {
- Assert.AreEqual (new Padding (3, 0, 3, 0), new Label ().Margin, "A1");
- }
- [Test]
- public void BehaviorImageList ()
- {
- // Basically, this shows that whichever of [Image|ImageIndex|ImageKey]
- // is set last resets the others to their default state
- Label b = new Label ();
- Bitmap i1 = new Bitmap (16, 16);
- i1.SetPixel (0, 0, Color.Blue);
- Bitmap i2 = new Bitmap (16, 16);
- i2.SetPixel (0, 0, Color.Red);
- Bitmap i3 = new Bitmap (16, 16);
- i3.SetPixel (0, 0, Color.Green);
- Assert.AreEqual (null, b.Image, "D1");
- Assert.AreEqual (-1, b.ImageIndex, "D2");
- Assert.AreEqual (string.Empty, b.ImageKey, "D3");
- ImageList il = new ImageList ();
- il.Images.Add ("i2", i2);
- il.Images.Add ("i3", i3);
- b.ImageList = il;
- b.ImageKey = "i3";
- Assert.AreEqual (-1, b.ImageIndex, "D4");
- Assert.AreEqual ("i3", b.ImageKey, "D5");
- Assert.AreEqual (i3.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D6");
- b.ImageIndex = 0;
- Assert.AreEqual (0, b.ImageIndex, "D7");
- Assert.AreEqual (string.Empty, b.ImageKey, "D8");
- Assert.AreEqual (i2.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D9");
- // Also, Image is not cached, changing the underlying ImageList image is reflected
- il.Images[0] = i1;
- Assert.AreEqual (i1.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D16");
- // Note: setting Image resets ImageList to null
- b.Image = i1;
- Assert.AreEqual (-1, b.ImageIndex, "D10");
- Assert.AreEqual (string.Empty, b.ImageKey, "D11");
- Assert.AreEqual (i1.GetPixel (0, 0), (b.Image as Bitmap).GetPixel (0, 0), "D12");
- Assert.AreEqual (null, b.ImageList, "D12-2");
- b.Image = null;
- Assert.AreEqual (null, b.Image, "D13");
- Assert.AreEqual (-1, b.ImageIndex, "D14");
- Assert.AreEqual (string.Empty, b.ImageKey, "D15");
- }
- #endif
- }
- [TestFixture]
- public class LabelEventTest : TestHelper
- {
- 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 : TestHelper
- {
- 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 : TestHelper
- {
- 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();
- }
- }
- }
|