7e8ef7435f250b540be9024a8f702ea6cb0ef112
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / LabelTest.cs
1 //
2 // Copyright (c) 2005 Novell, Inc.
3 //
4 // Authors:
5 //      Hisham Mardam Bey (hisham.mardambey@gmail.com)
6 //
7 //
8                                                 
9
10 using System;
11 using NUnit.Framework;
12 using System.Windows.Forms;
13 using System.Drawing;
14 using System.Runtime.Remoting;
15
16 namespace MonoTests.System.Windows.Forms
17 {
18         [TestFixture]
19         [Ignore ("This is a work in progress.")]
20         public class LabelTest2 
21         {
22
23                 [Test]
24                 public void PubPropTest ()
25                 {
26                         Label l = new Label ();
27
28                         // A
29                         Assert.AreEqual (false, l.AutoSize, "A1");
30                         l.AutoSize = true;
31                         Assert.AreEqual (true, l.AutoSize, "A2");
32                         l.AutoSize = false;
33                         Assert.AreEqual (false, l.AutoSize, "A3");
34
35                         // B
36                         Assert.AreEqual (null, l.BackgroundImage, "B1");
37                         l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
38                         Assert.IsNotNull (l.BackgroundImage, "B2");
39                         Bitmap bmp = (Bitmap)l.BackgroundImage;
40                         Assert.IsNotNull (bmp.GetPixel (0, 0), "B3");
41
42                         Assert.AreEqual (BorderStyle.None, l.BorderStyle, "B4");
43                         l.BorderStyle = BorderStyle.FixedSingle;
44                         Assert.AreEqual (BorderStyle.FixedSingle, l.BorderStyle, "B5");
45                         l.BorderStyle = BorderStyle.Fixed3D;
46                         Assert.AreEqual (BorderStyle.Fixed3D, l.BorderStyle, "B6");
47                         l.BorderStyle = BorderStyle.None;
48                         Assert.AreEqual (BorderStyle.None, l.BorderStyle, "B7");
49                         
50                         // C
51                         string name = l.CompanyName;
52                         if (!name.Equals("Mono Project, Novell, Inc.") && !name.Equals("Microsoft Corporation")) {
53                                 Assert.Fail("CompanyName property does not match any accepted value - C1");
54                         }
55                         
56                         
57                         // F
58                         Assert.AreEqual (FlatStyle.Standard, l.FlatStyle, "F1");
59                         l.FlatStyle = FlatStyle.Flat;
60                         Assert.AreEqual (FlatStyle.Flat, l.FlatStyle, "F1");
61                         l.FlatStyle = FlatStyle.Popup;
62                         Assert.AreEqual (FlatStyle.Popup, l.FlatStyle, "F2");
63                         l.FlatStyle = FlatStyle.Standard;
64                         Assert.AreEqual (FlatStyle.Standard, l.FlatStyle, "F3");
65                         l.FlatStyle = FlatStyle.System;
66                         Assert.AreEqual (FlatStyle.System, l.FlatStyle, "F4");
67                         
68                         // I
69                         Assert.AreEqual (ContentAlignment.MiddleCenter, l.ImageAlign, "I1");
70                         l.ImageAlign = ContentAlignment.TopLeft;
71                         Assert.AreEqual (ContentAlignment.TopLeft, l.ImageAlign, "I2");
72                         l.ImageAlign = ContentAlignment.TopCenter;
73                         Assert.AreEqual (ContentAlignment.TopCenter, l.ImageAlign, "I3");
74                         l.ImageAlign = ContentAlignment.TopRight;
75                         Assert.AreEqual (ContentAlignment.TopRight, l.ImageAlign, "I4");
76                         l.ImageAlign = ContentAlignment.MiddleLeft;
77                         Assert.AreEqual (ContentAlignment.MiddleLeft, l.ImageAlign, "I5");
78                         l.ImageAlign = ContentAlignment.MiddleCenter;
79                         Assert.AreEqual (ContentAlignment.MiddleCenter, l.ImageAlign, "I6");
80                         l.ImageAlign = ContentAlignment.MiddleRight;
81                         Assert.AreEqual (ContentAlignment.MiddleRight, l.ImageAlign, "I7");
82                         l.ImageAlign = ContentAlignment.BottomLeft;
83                         Assert.AreEqual (ContentAlignment.BottomLeft, l.ImageAlign, "I8");
84                         l.ImageAlign = ContentAlignment.BottomCenter;
85                         Assert.AreEqual (ContentAlignment.BottomCenter, l.ImageAlign, "I9");
86                         l.ImageAlign = ContentAlignment.BottomRight;
87                         Assert.AreEqual (ContentAlignment.BottomRight, l.ImageAlign, "I10");
88                         Assert.AreEqual (-1, l.ImageIndex, "I11");
89                         Assert.AreEqual (null, l.ImageList, "I12");
90                         Assert.AreEqual (null, l.Image, "I13");
91                         l.Image = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
92                         Assert.IsNotNull (l.Image, "I14");
93                         bmp = (Bitmap)l.Image;
94                         Assert.IsNotNull (bmp.GetPixel (0, 0), "I15");
95                         
96                         
97                         ImageList il = new ImageList ();
98                         il.ColorDepth = ColorDepth.Depth32Bit;
99                         il.ImageSize = new Size (15, 15);
100                         il.Images.Add (Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png"));
101                         l.ImageList = il;
102                         l.ImageIndex = 0;
103                         
104                         Assert.AreEqual (0, l.ImageIndex, "I16");
105                         Assert.IsNotNull (l.ImageList, "I17");
106                         
107                         // PreferredHeight
108                         // PregerredWidth
109                         // RenderTransparent
110                         
111                         // T
112                         // Assert.AreEqual (false, l.TabStop, "T1");
113                         Assert.AreEqual (ContentAlignment.TopLeft, l.TextAlign, "T2");
114                         
115                         // U
116                         Assert.AreEqual (true, l.UseMnemonic, "U1");
117                         l.UseMnemonic = false;
118                         Assert.AreEqual (false, l.UseMnemonic, "U2");
119                 }
120
121                         
122                 [Test]
123                 public void LabelEqualsTest () 
124                 {
125                         Label s1 = new Label ();
126                         Label s2 = new Label ();
127                         s1.Text = "abc";
128                         s2.Text = "abc";
129                         Assert.AreEqual (false, s1.Equals (s2), "E1");
130                         Assert.AreEqual (true, s1.Equals (s1), "E2");
131                 }
132                                         
133                 [Test]
134                 public void LabelScaleTest () 
135                 {
136                         Label r1 = new Label ();
137                         r1.Width = 40;
138                         r1.Height = 20 ;
139                         r1.Scale (2);
140                         Assert.AreEqual (80, r1.Width, "W1");
141                         Assert.AreEqual (40, r1.Height, "H1");
142                 }
143                                 
144                 [Test]
145                 public void PubMethodTest ()
146                 {
147                         Label l = new Label ();
148                         
149                         l.Text = "My Label";
150                         
151                         Assert.AreEqual ("System.Windows.Forms.LabelText: My Label", l.ToString (), "T1");
152                           
153                 }
154         }
155    
156         [TestFixture]
157         public class LabelEventTest
158         {
159                 static bool eventhandled = false;
160                 public void Label_EventHandler (object sender,EventArgs e)
161                 {
162                         eventhandled = true;
163                 }
164                 
165                 [Test]
166                 public void AutoSizeChangedChangedTest ()
167                 {
168                         Form myform = new Form ();
169                         myform.Visible = true;
170                         Label l = new Label ();
171                         l.Visible = true;
172                         myform.Controls.Add (l);
173                         l.AutoSizeChanged += new EventHandler (Label_EventHandler);
174                         l.AutoSize = true;
175                         Assert.AreEqual (true, eventhandled, "B4");
176                         eventhandled = false;                   
177                 }
178                 
179                 [Test]
180                 public void BackgroundImageChangedTest ()
181                 {
182                         Form myform = new Form ();
183                         myform.Visible = true;
184                         Label l = new Label ();
185                         l.Visible = true;
186                         myform.Controls.Add (l);
187                         l.BackgroundImageChanged += new EventHandler (Label_EventHandler);
188                         l.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
189                         Assert.AreEqual (true, eventhandled, "B4");
190                         eventhandled = false;                   
191                 }
192                 
193                 [Test]
194                 public void ImeModeChangedTest ()
195                 {
196                         Form myform = new Form ();
197                         myform.Visible = true;
198                         Label l = new Label ();
199                         l.Visible = true;
200                         myform.Controls.Add (l);
201                         l.ImeModeChanged += new EventHandler (Label_EventHandler);
202                         l.ImeMode = ImeMode.Katakana;
203                         Assert.AreEqual (true, eventhandled, "I16");
204                         eventhandled = false;
205                 }
206
207                 [Test, Ignore ("This isnt complete.")]
208                 public void KeyDownTest ()
209                 {
210                         Form myform = new Form ();
211                         myform.Visible = true;
212                         Label l = new Label ();
213                         l.Visible = true;
214                         myform.Controls.Add (l);
215                         l.KeyDown += new KeyEventHandler (Label_EventHandler);
216                         
217                         //Assert.AreEqual (true, eventhandled, "K1");
218                         eventhandled = false;
219                 }
220
221
222                 [Test, Ignore ("This is failing.")]
223                 public void TabStopChangedTest ()
224                 {
225                         Form myform = new Form ();
226                         myform.Visible = true;
227                         Label l = new Label ();
228                         l.Visible = true;
229                         myform.Controls.Add (l);
230                         l.TabStopChanged += new EventHandler (Label_EventHandler);
231                         l.TabStop = true;
232                         Assert.AreEqual (true, eventhandled, "T3");
233                         eventhandled = false;
234                 }
235                 
236                 [Test]
237                 public void TextAlignChangedTest ()
238                 {
239                         Form myform = new Form ();
240                         myform.Visible = true;
241                         Label l = new Label ();
242                         l.Visible = true;
243                         myform.Controls.Add (l);
244                         l.TextAlignChanged += new EventHandler (Label_EventHandler);
245                         l.TextAlign = ContentAlignment.TopRight;
246                         Assert.AreEqual (true, eventhandled, "T4");
247                         eventhandled = false;
248                 }
249         }
250 }
251