667 lines
22 KiB
C#
667 lines
22 KiB
C#
|
//
|
||
|
// Tests for System.Web.UI.WebControls.Calendar.cs
|
||
|
//
|
||
|
// Author:
|
||
|
// Jordi Mas i Hernandez (jordi@ximian.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 System;
|
||
|
using System.Drawing;
|
||
|
using System.Globalization;
|
||
|
using System.IO;
|
||
|
using System.Threading;
|
||
|
using System.Web;
|
||
|
using System.Web.UI;
|
||
|
using System.Web.UI.WebControls;
|
||
|
|
||
|
using NUnit.Framework;
|
||
|
|
||
|
class PokerCalendar : System.Web.UI.WebControls.Calendar
|
||
|
{
|
||
|
public PokerCalendar ()
|
||
|
{
|
||
|
TrackViewState ();
|
||
|
}
|
||
|
|
||
|
public object SaveState ()
|
||
|
{
|
||
|
return SaveViewState ();
|
||
|
}
|
||
|
|
||
|
public void LoadState (object o)
|
||
|
{
|
||
|
LoadViewState (o);
|
||
|
}
|
||
|
|
||
|
public string Render ()
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
sw.NewLine = "\n";
|
||
|
HtmlTextWriter writer = new HtmlTextWriter (sw);
|
||
|
base.Render (writer);
|
||
|
return writer.InnerWriter.ToString ();
|
||
|
}
|
||
|
|
||
|
bool cs_called;
|
||
|
public bool CS_Called {
|
||
|
get { return cs_called; }
|
||
|
set { cs_called = value; }
|
||
|
}
|
||
|
|
||
|
protected override Style CreateControlStyle ()
|
||
|
{
|
||
|
cs_called = true;
|
||
|
return base.CreateControlStyle ();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace MonoTests.System.Web.UI.WebControls
|
||
|
{
|
||
|
[TestFixture]
|
||
|
public class CalendarTest
|
||
|
{
|
||
|
[Test]
|
||
|
public void Calendar_DefaultValues ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
|
||
|
Assert.AreEqual (2, c.CellPadding, "CellPadding");
|
||
|
Assert.AreEqual (0, c.CellSpacing, "CellSpacing");
|
||
|
Assert.AreEqual (DayNameFormat.Short, c.DayNameFormat, "DayNameFormat");
|
||
|
Assert.AreEqual (FirstDayOfWeek.Default, c.FirstDayOfWeek, "FirstDayOfWeek");
|
||
|
Assert.AreEqual (">",c.NextMonthText, "NextMonthText");
|
||
|
Assert.AreEqual (NextPrevFormat.CustomText, c.NextPrevFormat, "NextPrevFormat");
|
||
|
Assert.AreEqual ("<", c.PrevMonthText, "PrevMonthText");
|
||
|
Assert.AreEqual (CalendarSelectionMode.Day, c.SelectionMode, "SelectionMode");
|
||
|
Assert.AreEqual (">>", c.SelectMonthText, "SelectMonthText");
|
||
|
Assert.AreEqual (">", c.SelectWeekText, "SelectWeekText");
|
||
|
Assert.AreEqual (true, c.ShowDayHeader, "ShowDayHeader");
|
||
|
Assert.AreEqual (false, c.ShowGridLines, "ShowGridLines");
|
||
|
Assert.AreEqual (true, c.ShowNextPrevMonth , "ShowNextPrevMonth");
|
||
|
Assert.AreEqual (true, c.ShowTitle, "ShowTitle");
|
||
|
Assert.AreEqual (TitleFormat.MonthYear, c.TitleFormat, "TitleFormat");
|
||
|
Assert.AreEqual (DateTime.Today, c.TodaysDate , "TodaysDate");
|
||
|
Assert.AreEqual (DateTime.MinValue, c.VisibleDate, "VisibleDate");
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Properties
|
||
|
//
|
||
|
[Test]
|
||
|
public void NextMonthTextProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.NextMonthText = "NextMonthText";
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) != -1, "NextMonthText");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void NextPrevFormatProperty ()
|
||
|
{
|
||
|
DateTimeFormatInfo dateInfo = DateTimeFormatInfo.CurrentInfo;
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
DateTime prevMonth = dateInfo.Calendar.AddMonths (DateTime.Today, -1);
|
||
|
DateTime nextMonth = dateInfo.Calendar.AddMonths (DateTime.Today, 1);
|
||
|
|
||
|
c.NextMonthText = "NextMonthText"; // CustomText
|
||
|
c.PrevMonthText = "PrevMonthText";
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) != -1, "NextPrevFormat1");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) != -1, "NextPrevFormat2");
|
||
|
|
||
|
sw = new StringWriter ();
|
||
|
tw = new HtmlTextWriter (sw);
|
||
|
c.NextPrevFormat = NextPrevFormat.FullMonth; // FullMonth
|
||
|
c.RenderControl (tw);
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString ().IndexOf (dateInfo.GetMonthName (dateInfo.Calendar.GetMonth (prevMonth))) != -1, "NextPrevFormat3:" + sw.ToString () + "|||" + dateInfo.GetMonthName (DateTimeFormatInfo.CurrentInfo.Calendar.GetMonth (prevMonth)));
|
||
|
Assert.AreEqual (true, sw.ToString ().IndexOf (dateInfo.GetMonthName (dateInfo.Calendar.GetMonth (nextMonth))) != -1, "NextPrevFormat4");
|
||
|
|
||
|
sw = new StringWriter ();
|
||
|
tw = new HtmlTextWriter (sw);
|
||
|
c.NextPrevFormat = NextPrevFormat.ShortMonth; // ShortMonth
|
||
|
c.RenderControl (tw);
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString ().IndexOf (dateInfo.GetAbbreviatedMonthName (dateInfo.Calendar.GetMonth (prevMonth))) != -1, "NextPrevFormat5");
|
||
|
Assert.AreEqual (true, sw.ToString ().IndexOf (dateInfo.GetAbbreviatedMonthName (dateInfo.Calendar.GetMonth (nextMonth))) != -1, "NextPrevFormat6");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void DayHeaderStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.DayHeaderStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "DayHeaderStyleProperty");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void NextPrevStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.NextPrevStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "NextPrevStyleProperty");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void SelectorStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.SelectorStyle.BackColor = Color.Green;
|
||
|
c.SelectionMode = CalendarSelectionMode.DayWeek;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "SelectorStyleProperty");
|
||
|
}
|
||
|
|
||
|
//[Test]
|
||
|
public void TitleStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.SelectorStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "TitleStyleProperty");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void OtherMonthDayStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.OtherMonthDayStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "OtherMonthDayStyle");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void SelectedDayStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.SelectedDayStyle.BackColor = Color.Green;
|
||
|
c.TodaysDate = new DateTime (2000, 1,1);
|
||
|
((IPostBackEventHandler)c).RaisePostBackEvent ("0001");
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "SelectedDayStyle");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void TodayDayStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.TodayDayStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "TodayDayStyle");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void WeekendDayStyleProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.WeekendDayStyle.BackColor = Color.Green;
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "WeekendDayStyle");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[Category ("NotWorking")]
|
||
|
public void SelectDateProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
DateTime now = DateTime.Now;
|
||
|
DateTime today = now.Date;
|
||
|
|
||
|
c.SelectedDate = today;
|
||
|
Assert.AreEqual (today, c.SelectedDate, "SelectDateProperty #1");
|
||
|
|
||
|
c.SelectedDate = now;
|
||
|
Assert.AreEqual (now, c.SelectedDate, "SelectDateProperty #2");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void PrevMonthTextProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.PrevMonthText = "PrevMonthText";
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) != -1, "PrevMonthText");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void ShowNextPrevMonthProperty ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.NextMonthText = "NextMonthText";
|
||
|
c.PrevMonthText = "PrevMonthText";
|
||
|
c.RenderControl (tw);
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) != -1, "ShowNextPrevMonth1");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) != -1, "ShowNextPrevMonth2");
|
||
|
|
||
|
c.ShowNextPrevMonth = false;
|
||
|
sw = new StringWriter ();
|
||
|
tw = new HtmlTextWriter (sw);
|
||
|
c.RenderControl (tw);
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) == -1, "ShowNextPrevMonth3");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) == -1, "ShowNextPrevMonth4");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void ShowTitleProperty ()
|
||
|
{
|
||
|
String monthName;
|
||
|
DateTimeFormatInfo dateInfo = DateTimeFormatInfo.CurrentInfo;
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.NextMonthText = "NextMonthText";
|
||
|
c.PrevMonthText = "PrevMonthText";
|
||
|
c.RenderControl (tw);
|
||
|
monthName = dateInfo.GetMonthName (dateInfo.Calendar.GetMonth (DateTime.Today));
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) != -1, "ShowTitle1");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) != -1, "ShowTitle2");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (monthName) != -1, "ShowTitle3");
|
||
|
|
||
|
c.ShowTitle = false;
|
||
|
sw = new StringWriter ();
|
||
|
tw = new HtmlTextWriter (sw);
|
||
|
c.RenderControl (tw);
|
||
|
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.PrevMonthText) == -1, "ShowTitle4");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (c.NextMonthText) == -1, "ShowTitle5");
|
||
|
Assert.AreEqual (true, sw.ToString().IndexOf (monthName) == -1, "ShowTitle6");
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Properties exceptions
|
||
|
//
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void CellPaddingException ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.CellPadding = -2;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void CellSpacingException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.CellSpacing = -2;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void DayNameFormatException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.DayNameFormat = (DayNameFormat) 10;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void FirstDayOfWeekException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.FirstDayOfWeek = (FirstDayOfWeek) 15;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void NextPrevFormatException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.NextPrevFormat = (NextPrevFormat) 15;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void SelectionModeException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.SelectionMode = (CalendarSelectionMode) 15;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
[ExpectedException (typeof (ArgumentOutOfRangeException))]
|
||
|
public void TitleFormatException ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.TitleFormat = (TitleFormat) 15;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Events
|
||
|
//
|
||
|
private bool eventFired;
|
||
|
private void SelectionChangedHandler (object sender, EventArgs e)
|
||
|
{
|
||
|
eventFired = true;
|
||
|
}
|
||
|
|
||
|
private void VisibleMonthChangedHandler (object sender, MonthChangedEventArgs e)
|
||
|
{
|
||
|
eventFired = true;
|
||
|
}
|
||
|
|
||
|
int days;
|
||
|
private void DayRenderEventHandler (object sender, DayRenderEventArgs e)
|
||
|
{
|
||
|
days++;
|
||
|
e.Cell.BackColor = Color.Yellow;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void SelectionChanged ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.SelectionChanged += new EventHandler (SelectionChangedHandler);
|
||
|
eventFired = false;
|
||
|
((IPostBackEventHandler)c).RaisePostBackEvent ("0001");
|
||
|
Assert.AreEqual (true, eventFired, "SelectionChanged event");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void VisibleMonthChanged ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.VisibleMonthChanged += new MonthChangedEventHandler (VisibleMonthChangedHandler);
|
||
|
eventFired = false;
|
||
|
((IPostBackEventHandler)c).RaisePostBackEvent ("V0001");
|
||
|
Assert.AreEqual (true, eventFired, "VisibleMonthChanged event");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void DayRender ()
|
||
|
{
|
||
|
PokerCalendar c = new PokerCalendar ();
|
||
|
c.DayRender += new DayRenderEventHandler (DayRenderEventHandler);
|
||
|
days = 0;
|
||
|
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
c.RenderControl (tw);
|
||
|
Assert.AreEqual (6 * 7, days, "DayRender event");
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("yellow") != -1, "DayRender event change");
|
||
|
}
|
||
|
|
||
|
// ViewState
|
||
|
[Test]
|
||
|
public void Calendar_ViewState ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.CellPadding = 10;
|
||
|
p.CellSpacing = 20;
|
||
|
p.DayNameFormat = DayNameFormat.Short;
|
||
|
p.FirstDayOfWeek = FirstDayOfWeek.Friday;
|
||
|
p.NextMonthText = "NextMonth";
|
||
|
p.NextPrevFormat = NextPrevFormat.ShortMonth;
|
||
|
p.PrevMonthText = "PrevMonth";
|
||
|
p.SelectionMode = CalendarSelectionMode.DayWeek;
|
||
|
p.SelectMonthText = "SelectMonth";
|
||
|
p.SelectWeekText = "SelectWeek";
|
||
|
p.ShowDayHeader = false;
|
||
|
p.ShowGridLines = true;
|
||
|
p.ShowNextPrevMonth = false;
|
||
|
p.ShowTitle = false;
|
||
|
p.TitleFormat = TitleFormat.Month;
|
||
|
p.TodaysDate = new DateTime (1999,1,1);
|
||
|
p.VisibleDate = new DateTime (1998,1,1);
|
||
|
p.Caption = "This is a Caption";
|
||
|
p.CaptionAlign = TableCaptionAlign.Right;
|
||
|
|
||
|
p.DayHeaderStyle.BackColor = Color.Blue;
|
||
|
p.DayStyle.BackColor = Color.Yellow;
|
||
|
p.NextPrevStyle.BackColor = Color.Red;
|
||
|
p.OtherMonthDayStyle.BackColor = Color.Green;
|
||
|
p.SelectedDayStyle.BackColor = Color.Silver;
|
||
|
p.SelectorStyle.BackColor = Color.Pink;
|
||
|
p.TodayDayStyle.BackColor = Color.White;
|
||
|
p.WeekendDayStyle.BackColor = Color.Brown;
|
||
|
|
||
|
object state = p.SaveState ();
|
||
|
|
||
|
PokerCalendar copy = new PokerCalendar ();
|
||
|
copy.LoadState (state);
|
||
|
|
||
|
Assert.AreEqual (10, copy.CellPadding, "CellPadding");
|
||
|
Assert.AreEqual (20, copy.CellSpacing, "CellSpacing");
|
||
|
Assert.AreEqual (DayNameFormat.Short, copy.DayNameFormat, "DayNameFormat");
|
||
|
Assert.AreEqual (FirstDayOfWeek.Friday, copy.FirstDayOfWeek, "FirstDayOfWeek");
|
||
|
Assert.AreEqual ("NextMonth", copy.NextMonthText, "NextMonthText");
|
||
|
Assert.AreEqual (NextPrevFormat.ShortMonth, copy.NextPrevFormat, "NextPrevFormat");
|
||
|
Assert.AreEqual ("PrevMonth", copy.PrevMonthText, "PrevMonthText");
|
||
|
Assert.AreEqual (CalendarSelectionMode.DayWeek, copy.SelectionMode, "SelectionMode");
|
||
|
Assert.AreEqual ("SelectMonth", copy.SelectMonthText, "SelectMonthText");
|
||
|
Assert.AreEqual ("SelectWeek", copy.SelectWeekText, "SelectWeekText");
|
||
|
Assert.AreEqual (false, copy.ShowDayHeader, "ShowDayHeader");
|
||
|
Assert.AreEqual (true, copy.ShowGridLines, "ShowGridLines");
|
||
|
Assert.AreEqual (false, copy.ShowNextPrevMonth, "ShowNextPrevMonth");
|
||
|
Assert.AreEqual (false, copy.ShowTitle, "ShowTitle");
|
||
|
Assert.AreEqual (TitleFormat.Month, copy.TitleFormat, "TitleFormat");
|
||
|
Assert.AreEqual (new DateTime (1999,1,1), copy.TodaysDate, "TodaysDate");
|
||
|
Assert.AreEqual (new DateTime (1998,1,1), copy.VisibleDate, "VisibleDate");
|
||
|
|
||
|
Assert.AreEqual ("This is a Caption", copy.Caption, "Caption");
|
||
|
Assert.AreEqual (TableCaptionAlign.Right, copy.CaptionAlign, "CaptionAlign");
|
||
|
|
||
|
copy.ShowDayHeader = true;
|
||
|
copy.ShowNextPrevMonth = true;
|
||
|
copy.ShowTitle = true;
|
||
|
copy.TodaysDate = copy.VisibleDate;
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("blue") != -1, "DayHeaderStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("yellow") != -1, "BackColor");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("red") != -1, "NextPrevStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "OtherMonthDayStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("silver") != -1, "SelectedDayStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("green") != -1, "OtherMonthDayStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("pink") != -1, "SelectorStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("white") != -1, "TodayDayStyle");
|
||
|
}
|
||
|
|
||
|
{
|
||
|
StringWriter sw = new StringWriter ();
|
||
|
HtmlTextWriter tw = new HtmlTextWriter (sw);
|
||
|
copy.RenderControl (tw);
|
||
|
Assert.AreEqual (true, sw.ToString().ToLower().IndexOf ("brown") != -1, "WeekendDayStyle");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
string tofind = "";
|
||
|
public void Event_TestDayRenderCellAdd_DayRender(object sender, DayRenderEventArgs e) {
|
||
|
if (e.Day.Date.Day == 1)
|
||
|
e.Cell.Controls.Add (new LiteralControl (tofind));
|
||
|
}
|
||
|
[Test]
|
||
|
public void TestDayRenderCellAdd ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
tofind = Guid.NewGuid ().ToString ();
|
||
|
|
||
|
p.DayRender += new DayRenderEventHandler(Event_TestDayRenderCellAdd_DayRender);
|
||
|
|
||
|
Assert.IsTrue (p.Render ().IndexOf (tofind) != -1, "control added");
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Here we test rendering May 2005
|
||
|
// April 2005 May 2005 June 2005
|
||
|
// Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
|
||
|
// 1 2 1 2 3 4 5 6 7 1 2 3 4
|
||
|
// 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
|
||
|
// 10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
|
||
|
// 17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
|
||
|
// 24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
|
||
|
//
|
||
|
// Microsoft renders months like this (where Blah 1st falls on Sunday) by rendering
|
||
|
// the last week of the other month.
|
||
|
//
|
||
|
bool first = true;
|
||
|
public void Event_TestRenderMonthStartsOnSunday_DayRender(object sender, DayRenderEventArgs e) {
|
||
|
if (first) {
|
||
|
Assert.IsTrue (e.Day.IsOtherMonth);
|
||
|
Assert.AreEqual (new DateTime (2005, 4, 24), e.Day.Date);
|
||
|
first = false;
|
||
|
}
|
||
|
}
|
||
|
[Test]
|
||
|
public void TestRenderMonthStartsOnSunday ()
|
||
|
{
|
||
|
Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US", false);
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.TodaysDate = new DateTime (2005, 5, 14);
|
||
|
|
||
|
first = true;
|
||
|
p.DayRender += new DayRenderEventHandler(Event_TestRenderMonthStartsOnSunday_DayRender);
|
||
|
p.Render ();
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void TestSelectedColorDefault ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.TodaysDate = new DateTime (2005, 8, 4);
|
||
|
p.SelectedDate = p.TodaysDate;
|
||
|
string s = p.Render();
|
||
|
Assert.IsTrue (s.IndexOf ("color:White") != 1 && s.IndexOf ("background-color:Silver") != -1, "A1");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void HaveID ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.ID = "hola";
|
||
|
p.TodaysDate = new DateTime (2005, 8, 4);
|
||
|
p.SelectedDate = p.TodaysDate;
|
||
|
string s = p.Render();
|
||
|
Assert.IsTrue (s.IndexOf ("id=\"hola\"") != -1, "#01");
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Not meant to be run. Just to get a stack trace.
|
||
|
[Test]
|
||
|
public void NoCreateStyleCollection ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.ID = "hola";
|
||
|
p.TodaysDate = new DateTime (2005, 8, 4);
|
||
|
p.SelectedDate = p.TodaysDate;
|
||
|
string s = p.Render();
|
||
|
Assert.IsTrue (p.CS_Called == false, "#01");
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
[Test]
|
||
|
[Category ("NotWorking")]
|
||
|
public void HaveBaseAttributes ()
|
||
|
{
|
||
|
PokerCalendar p = new PokerCalendar ();
|
||
|
p.ID = "hola";
|
||
|
p.ToolTip = "adios";
|
||
|
p.TodaysDate = new DateTime (2005, 8, 4);
|
||
|
p.SelectedDate = p.TodaysDate;
|
||
|
string s = p.Render();
|
||
|
Assert.IsTrue (s.IndexOf ("adios") != -1, "#01");
|
||
|
Assert.IsTrue (p.CS_Called == true, "#02");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|