2 // ToolStripStatusLabelTests.cs
\r
4 // Permission is hereby granted, free of charge, to any person obtaining
\r
5 // a copy of this software and associated documentation files (the
\r
6 // "Software"), to deal in the Software without restriction, including
\r
7 // without limitation the rights to use, copy, modify, merge, publish,
\r
8 // distribute, sublicense, and/or sell copies of the Software, and to
\r
9 // permit persons to whom the Software is furnished to do so, subject to
\r
10 // the following conditions:
\r
12 // The above copyright notice and this permission notice shall be
\r
13 // included in all copies or substantial portions of the Software.
\r
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
\r
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
\r
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
\r
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
\r
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
\r
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
\r
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
23 // Copyright (c) 2006 Jonathan Pobst
\r
26 // Jonathan Pobst (monkey@jpobst.com)
\r
29 using System.Collections.Generic;
\r
31 using NUnit.Framework;
\r
32 using System.Drawing;
\r
33 using System.Windows.Forms;
\r
35 namespace MonoTests.System.Windows.Forms
\r
38 public class ToolStripStatusLabelTests : TestHelper
\r
41 //public void Constructor ()
\r
43 // ToolStripLabel tsi = new ToolStripLabel ();
\r
45 // Assert.AreEqual (Color.Red, tsi.ActiveLinkColor, "A1");
\r
46 // Assert.AreEqual (false, tsi.CanSelect, "A2");
\r
47 // Assert.AreEqual (false, tsi.IsLink, "A3");
\r
48 // Assert.AreEqual (LinkBehavior.SystemDefault, tsi.LinkBehavior, "A4");
\r
49 // Assert.AreEqual (Color.FromArgb (0,0,255), tsi.LinkColor, "A5");
\r
50 // Assert.AreEqual (false, tsi.LinkVisited, "A6");
\r
51 // Assert.AreEqual (Color.FromArgb (128, 0, 128), tsi.VisitedLinkColor, "A7");
\r
54 // EventHandler oc = new EventHandler (delegate (object sender, EventArgs e) { count++; });
\r
55 // Image i = new Bitmap (1,1);
\r
57 // tsi = new ToolStripLabel (i);
\r
58 // tsi.PerformClick();
\r
59 // Assert.AreEqual (null, tsi.Text, "A8");
\r
60 // Assert.AreSame (i, tsi.Image, "A9");
\r
61 // Assert.AreEqual (false, tsi.IsLink, "A10");
\r
62 // Assert.AreEqual (0, count, "A11");
\r
63 // Assert.AreEqual (string.Empty, tsi.Name, "A12");
\r
65 // tsi = new ToolStripLabel ("Text");
\r
66 // tsi.PerformClick ();
\r
67 // Assert.AreEqual ("Text", tsi.Text, "A13");
\r
68 // Assert.AreSame (null, tsi.Image, "A14");
\r
69 // Assert.AreEqual (false, tsi.IsLink, "A15");
\r
70 // Assert.AreEqual (0, count, "A16");
\r
71 // Assert.AreEqual (string.Empty, tsi.Name, "A17");
\r
73 // tsi = new ToolStripLabel ("Text", i);
\r
74 // tsi.PerformClick ();
\r
75 // Assert.AreEqual ("Text", tsi.Text, "A18");
\r
76 // Assert.AreSame (i, tsi.Image, "A19");
\r
77 // Assert.AreEqual (false, tsi.IsLink, "A20");
\r
78 // Assert.AreEqual (0, count, "A21");
\r
79 // Assert.AreEqual (string.Empty, tsi.Name, "A22");
\r
81 // tsi = new ToolStripLabel ("Text", i, true);
\r
82 // tsi.PerformClick ();
\r
83 // Assert.AreEqual ("Text", tsi.Text, "A23");
\r
84 // Assert.AreSame (i, tsi.Image, "A24");
\r
85 // Assert.AreEqual (true, tsi.IsLink, "A25");
\r
86 // Assert.AreEqual (0, count, "A26");
\r
87 // Assert.AreEqual (string.Empty, tsi.Name, "A27");
\r
89 // tsi = new ToolStripLabel ("Text", i, true, oc);
\r
90 // tsi.PerformClick ();
\r
91 // Assert.AreEqual ("Text", tsi.Text, "A28");
\r
92 // Assert.AreSame (i, tsi.Image, "A29");
\r
93 // Assert.AreEqual (true, tsi.IsLink, "A30");
\r
94 // Assert.AreEqual (1, count, "A31");
\r
95 // Assert.AreEqual (string.Empty, tsi.Name, "A32");
\r
97 // tsi = new ToolStripLabel ("Text", i, true, oc, "Name");
\r
98 // tsi.PerformClick ();
\r
99 // Assert.AreEqual ("Text", tsi.Text, "A33");
\r
100 // Assert.AreSame (i, tsi.Image, "A34");
\r
101 // Assert.AreEqual (true, tsi.IsLink, "A35");
\r
102 // Assert.AreEqual (2, count, "A36");
\r
103 // Assert.AreEqual ("Name", tsi.Name, "A37");
\r
107 public void ProtectedProperties ()
\r
109 ExposeProtectedProperties epp = new ExposeProtectedProperties ();
\r
111 Assert.AreEqual (new Padding (0, 3, 0, 2), epp.DefaultMargin, "C3");
\r
115 //public void PropertyActiveLinkColor ()
\r
117 // ToolStripLabel tsi = new ToolStripLabel ();
\r
119 // tsi.ActiveLinkColor = Color.Green;
\r
120 // Assert.AreEqual (Color.Green, tsi.ActiveLinkColor, "B1");
\r
124 //public void PropertyIsLink ()
\r
126 // ToolStripLabel tsi = new ToolStripLabel ();
\r
128 // tsi.IsLink = true;
\r
129 // Assert.AreEqual (true, tsi.IsLink, "B1");
\r
133 //public void PropertyLinkBehavior ()
\r
135 // ToolStripLabel tsi = new ToolStripLabel ();
\r
137 // tsi.LinkBehavior = LinkBehavior.NeverUnderline;
\r
138 // Assert.AreEqual (LinkBehavior.NeverUnderline, tsi.LinkBehavior, "B1");
\r
142 //public void PropertyLinkColor ()
\r
144 // ToolStripLabel tsi = new ToolStripLabel ();
\r
146 // tsi.LinkColor = Color.Green;
\r
147 // Assert.AreEqual (Color.Green, tsi.LinkColor, "B1");
\r
151 //public void PropertyLinkVisited ()
\r
153 // ToolStripLabel tsi = new ToolStripLabel ();
\r
155 // tsi.LinkVisited = true;
\r
156 // Assert.AreEqual (true, tsi.LinkVisited, "B1");
\r
160 //public void PropertyVisitedLinkColor ()
\r
162 // ToolStripLabel tsi = new ToolStripLabel ();
\r
164 // tsi.VisitedLinkColor = Color.Green;
\r
165 // Assert.AreEqual (Color.Green, tsi.VisitedLinkColor, "B1");
\r
170 //public void PropertyAnchorAndDocking ()
\r
172 // ToolStripItem ts = new NullToolStripItem ();
\r
174 // ts.Anchor = AnchorStyles.Top | AnchorStyles.Bottom;
\r
176 // Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Bottom, ts.Anchor, "A1");
\r
177 // Assert.AreEqual (DockStyle.None, ts.Dock, "A2");
\r
179 // ts.Anchor = AnchorStyles.Left | AnchorStyles.Right;
\r
181 // Assert.AreEqual (AnchorStyles.Left | AnchorStyles.Right, ts.Anchor, "A1");
\r
182 // Assert.AreEqual (DockStyle.None, ts.Dock, "A2");
\r
184 // ts.Dock = DockStyle.Left;
\r
186 // Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, ts.Anchor, "A1");
\r
187 // Assert.AreEqual (DockStyle.Left, ts.Dock, "A2");
\r
189 // ts.Dock = DockStyle.None;
\r
191 // Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, ts.Anchor, "A1");
\r
192 // Assert.AreEqual (DockStyle.None, ts.Dock, "A2");
\r
194 // ts.Dock = DockStyle.Top;
\r
196 // Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, ts.Anchor, "A1");
\r
197 // Assert.AreEqual (DockStyle.Top, ts.Dock, "A2");
\r
200 private class ExposeProtectedProperties : ToolStripStatusLabel
\r
202 public new Padding DefaultMargin { get { return base.DefaultMargin; } }
\r