179 lines
5.0 KiB
C#
179 lines
5.0 KiB
C#
|
//
|
||
|
// Tests for System.Web.UI.WebControls.FontInfo.cs
|
||
|
//
|
||
|
// Author:
|
||
|
// Peter Dennis Bartok (pbartok@novell.com)
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
|
||
|
//
|
||
|
// Permission is hereby granted, free of charge, to any person obtaining
|
||
|
// a copy of this software and associated documentation files (the
|
||
|
// "Software"), to deal in the Software without restriction, including
|
||
|
// without limitation the rights to use, copy, modify, merge, publish,
|
||
|
// distribute, sublicense, and/or sell copies of the Software, and to
|
||
|
// permit persons to whom the Software is furnished to do so, subject to
|
||
|
// the following conditions:
|
||
|
//
|
||
|
// The above copyright notice and this permission notice shall be
|
||
|
// included in all copies or substantial portions of the Software.
|
||
|
//
|
||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||
|
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||
|
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||
|
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||
|
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
//
|
||
|
|
||
|
using NUnit.Framework;
|
||
|
using System;
|
||
|
using System.Drawing;
|
||
|
using System.IO;
|
||
|
using System.Globalization;
|
||
|
using System.Web;
|
||
|
using System.Web.UI;
|
||
|
using System.Web.UI.WebControls;
|
||
|
|
||
|
namespace MonoTests.System.Web.UI.WebControls
|
||
|
{
|
||
|
[TestFixture]
|
||
|
public class FontInfoTest {
|
||
|
private void SetSomeValues(Style s) {
|
||
|
s.BackColor = Color.Red;
|
||
|
s.Width = new Unit(10);
|
||
|
s.Font.Bold = true;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void Style_Defaults ()
|
||
|
{
|
||
|
Style s = new Style ();
|
||
|
|
||
|
Assert.AreEqual (s.BackColor, Color.Empty, "Default1");
|
||
|
Assert.AreEqual (s.BorderColor, Color.Empty, "Default22");
|
||
|
Assert.AreEqual (s.BorderStyle, BorderStyle.NotSet, "Default3");
|
||
|
Assert.AreEqual (s.BorderWidth, Unit.Empty, "Default4");
|
||
|
Assert.AreEqual (s.CssClass, string.Empty, "Default5");
|
||
|
Assert.AreEqual (s.ForeColor, Color.Empty, "Default6");
|
||
|
Assert.AreEqual (s.Height, Unit.Empty, "Default7");
|
||
|
Assert.AreEqual (s.Width, Unit.Empty, "Default8");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void ShouldSerializeNames ()
|
||
|
{
|
||
|
Style style = new Style ();
|
||
|
FontInfo fontInfo = style.Font;
|
||
|
Assert.IsFalse (fontInfo.ShouldSerializeNames ());
|
||
|
fontInfo.Name = "Verdana";
|
||
|
Assert.IsTrue (fontInfo.ShouldSerializeNames ());
|
||
|
fontInfo.Name = String.Empty;
|
||
|
Assert.IsFalse (fontInfo.ShouldSerializeNames ());
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void Style_Merge ()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void Style_Copy ()
|
||
|
{
|
||
|
Style s = new Style ();
|
||
|
Style copy = new Style ();
|
||
|
|
||
|
SetSomeValues(s);
|
||
|
|
||
|
copy.CopyFrom (s);
|
||
|
Assert.AreEqual (s.BackColor, Color.Red, "Copy1");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void FontInfo_CopyFrom () {
|
||
|
|
||
|
//Methods CopyFrom and MergeWith behave differently between 1.1 and 2.0
|
||
|
Style s = new Style ();
|
||
|
Style copy = new Style ();
|
||
|
|
||
|
s.Font.Bold = true;
|
||
|
s.Font.Underline = false;
|
||
|
|
||
|
copy.Font.Italic = true;
|
||
|
copy.Font.Underline = true;
|
||
|
|
||
|
copy.Font.CopyFrom (s.Font);
|
||
|
|
||
|
Assert.AreEqual (true, copy.Font.Italic, "CopyFrom#1");
|
||
|
Assert.AreEqual (true, copy.Font.Bold, "CopyFrom#2");
|
||
|
#if NET_2_0
|
||
|
Assert.AreEqual (false, copy.Font.Underline, "CopyFrom#3");
|
||
|
#else
|
||
|
Assert.AreEqual (true, copy.Font.Underline, "CopyFrom#3");
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void FontInfo_MergeWith () {
|
||
|
|
||
|
//Methods CopyFrom and MergeWith behave differently between 1.1 and 2.0
|
||
|
Style s = new Style ();
|
||
|
Style copy = new Style ();
|
||
|
|
||
|
s.Font.Overline = false;
|
||
|
s.Font.Bold = true;
|
||
|
s.Font.Underline = true;
|
||
|
|
||
|
copy.Font.Italic = true;
|
||
|
copy.Font.Underline = false;
|
||
|
|
||
|
copy.Font.MergeWith (s.Font);
|
||
|
|
||
|
Assert.AreEqual (true, copy.Font.Italic, "MergeWith#1");
|
||
|
Assert.AreEqual (true, copy.Font.Bold, "MergeWith#2");
|
||
|
Assert.AreEqual (false, copy.Font.Underline, "MergeWith#3");
|
||
|
Assert.AreEqual (false, copy.Font.Overline, "MergeWith#4");
|
||
|
|
||
|
Style copy2 = new Style ();
|
||
|
copy2.Font.Overline = true;
|
||
|
copy2.Font.CopyFrom (copy.Font);
|
||
|
|
||
|
#if NET_2_0
|
||
|
Assert.AreEqual (false, copy2.Font.Overline, "MergeWith#5");
|
||
|
#else
|
||
|
Assert.AreEqual (true, copy2.Font.Overline, "MergeWith#5");
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void FontInfo_Names () {
|
||
|
Style s = new Style ();
|
||
|
Assert.AreEqual ("", s.Font.Name, "Names#1");
|
||
|
Assert.IsNotNull (s.Font.Names, "Names#2");
|
||
|
Assert.AreEqual (0, s.Font.Names.Length, "Names#3");
|
||
|
|
||
|
s.Font.Names = new string [] { "Arial", "Veranda" };
|
||
|
Assert.AreEqual ("Arial", s.Font.Name, "Names#4");
|
||
|
|
||
|
s.Font.Names = null;
|
||
|
Assert.AreEqual ("", s.Font.Name, "Names#5");
|
||
|
Assert.IsNotNull (s.Font.Names, "Names#6");
|
||
|
Assert.AreEqual (0, s.Font.Names.Length, "Names#7");
|
||
|
|
||
|
s.Font.Name = "Arial";
|
||
|
Assert.IsNotNull (s.Font.Names, "Names#8");
|
||
|
Assert.AreEqual (1, s.Font.Names.Length, "Names#9");
|
||
|
Assert.AreEqual ("Arial", s.Font.Names [0], "Names#10");
|
||
|
|
||
|
s.Font.Name = "";
|
||
|
Assert.AreEqual ("", s.Font.Name, "Names#11");
|
||
|
Assert.IsNotNull (s.Font.Names, "Names#12");
|
||
|
Assert.AreEqual (0, s.Font.Names.Length, "Names#13");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|