179 lines
5.0 KiB
C#
Raw Normal View History

//
// 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");
}
}
}