X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2FTest%2FSystem.Web.UI.WebControls%2FCheckBoxListTest.cs;h=478209494f5184b3d84ebf35df20ece2fd24e18f;hb=b58f5b27ba58a6b3ef028100c9cb5c594e12c2c6;hp=90652c3e0777563d19e812fe5259bb4d615d7494;hpb=b5cfba1835f2ba823796f825410e0062b7e4c9a3;p=mono.git diff --git a/mcs/class/System.Web/Test/System.Web.UI.WebControls/CheckBoxListTest.cs b/mcs/class/System.Web/Test/System.Web.UI.WebControls/CheckBoxListTest.cs index 90652c3e077..478209494f5 100644 --- a/mcs/class/System.Web/Test/System.Web.UI.WebControls/CheckBoxListTest.cs +++ b/mcs/class/System.Web/Test/System.Web.UI.WebControls/CheckBoxListTest.cs @@ -35,6 +35,11 @@ using System.Globalization; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; +using System.Drawing; +using System.Collections; +using MonoTests.SystemWeb.Framework; +using MonoTests.stand_alone.WebHarness; +using System.Collections.Specialized; namespace MonoTests.System.Web.UI.WebControls { @@ -49,6 +54,74 @@ namespace MonoTests.System.Web.UI.WebControls { { return FindControl (name, offset); } + + public string Render () + { + HtmlTextWriter writer = new HtmlTextWriter (new StringWriter ()); + base.Render (writer); + return writer.InnerWriter.ToString (); + } + + +#if NET_2_0 + public new bool HasFooter + { + get + { + return base.HasFooter; + } + } + + public new bool HasHeader + { + get + { + return base.HasHeader; + } + } + + public new bool HasSeparators + { + get + { + return base.HasSeparators; + } + } + + public new int RepeatedItemCount + { + get + { + return base.RepeatedItemCount; + } + } + + public new void RaisePostDataChangedEvent () + { + base.RaisePostDataChangedEvent (); + } + + protected override Style GetItemStyle (ListItemType itemType, int repeatIndex) + { + Style s = new Style(); + s.BackColor = Color.Red; + s.BorderStyle = BorderStyle.Solid; + WebTest.CurrentTest.UserData = "GetItemStyle"; + return s; + } + + public Style DoGetItemStyle (ListItemType itemType, int repeatIndex) + { + return base.GetItemStyle (itemType, repeatIndex); + } + + public new string RenderItem (ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo) + { + HtmlTextWriter writer = new HtmlTextWriter (new StringWriter ()); + base.RenderItem(itemType,repeatIndex,repeatInfo,writer); + return writer.InnerWriter.ToString (); + } +#endif } [TestFixture] @@ -57,7 +130,7 @@ namespace MonoTests.System.Web.UI.WebControls { [Test] public void Defaults () { - CheckBoxList c = new CheckBoxList (); + CheckBoxListPoker c = new CheckBoxListPoker (); Assert.AreEqual (c.CellPadding, -1, "A1"); Assert.AreEqual (c.CellSpacing, -1, "A2"); @@ -67,8 +140,89 @@ namespace MonoTests.System.Web.UI.WebControls { Assert.AreEqual (c.RepeatLayout, RepeatLayout.Table, "A5"); Assert.AreEqual (c.TextAlign, TextAlign.Right, "A6"); +#if NET_2_0 + Assert.AreEqual (false, c.HasFooter, "HasFooter"); + Assert.AreEqual (false, c.HasHeader, "HasHeader"); + Assert.AreEqual (false, c.HasSeparators, "HasSeparators"); + Assert.AreEqual (0, c.RepeatedItemCount, "RepeatedItemCount"); + Assert.AreEqual (null, c.DoGetItemStyle (ListItemType.Item, 0), "GetItemStyle"); +#endif + } + +#if NET_2_0 + [Test] + public void RaisePostDataChangedEvent () + { + CheckBoxListPoker c = new CheckBoxListPoker (); + c.SelectedIndexChanged += new EventHandler (c_SelectedIndexChanged); + Assert.AreEqual (false, eventSelectedIndexChanged, "RaisePostDataChangedEvent#1"); + c.RaisePostDataChangedEvent (); + Assert.AreEqual (true, eventSelectedIndexChanged, "RaisePostDataChangedEvent#2"); + } + + bool eventSelectedIndexChanged; + void c_SelectedIndexChanged (object sender, EventArgs e) + { + eventSelectedIndexChanged = true; } + [Test] + [Category("NunitWeb")] + public void GetItemStyle () + { + WebTest t = new WebTest (PageInvoker.CreateOnLoad (GetItemStyle_Load)); + string html = t.Run (); + string ctrl = HtmlDiff.GetControlFromPageHtml (html); + if (ctrl == string.Empty) + Assert.Fail ("CheckBoxList not created fail"); + Assert.AreEqual ("GetItemStyle", (string) t.UserData, "GetItemStyle not done"); + if ( ctrl.IndexOf("") == -1) + Assert.Fail ("CheckBoxList style not rendered"); + } + + public static void GetItemStyle_Load (Page p) + { + CheckBoxListPoker c = new CheckBoxListPoker (); + ListItem l1 = new ListItem ("item1", "value1"); + ListItem l2 = new ListItem ("item2", "value2"); + + c.Items.Add (l1); + c.Items.Add (l2); + p.Form.Controls.Add(new LiteralControl(HtmlDiff.BEGIN_TAG)); + p.Form.Controls.Add (c); + p.Form.Controls.Add(new LiteralControl(HtmlDiff.END_TAG)); + } + + [Test] + public void RenderItem () + { + CheckBoxListPoker c = new CheckBoxListPoker (); + ListItem l1 = new ListItem ("item1", "value1"); + ListItem l2 = new ListItem ("item2", "value2"); + + c.Items.Add (l1); + c.Items.Add (l2); + string html = c.RenderItem (ListItemType.Item, 0, null); + HtmlDiff.AssertAreEqual ("", html, "RenderItem#1"); + html = c.RenderItem (ListItemType.Item, 1, null); + HtmlDiff.AssertAreEqual ("", html, "RenderItem#2"); + } + + [Test] + public void RepeatedItemCount () + { + CheckBoxListPoker c = new CheckBoxListPoker (); + ListItem l1 = new ListItem ("item1", "value1"); + ListItem l2 = new ListItem ("item2", "value2"); + Assert.AreEqual (0, c.RepeatedItemCount, "RepeatedItemCount#1"); + c.Items.Add (l1); + c.Items.Add (l2); + Assert.AreEqual (2, c.RepeatedItemCount, "RepeatedItemCount#2"); + } + +#endif + + [Test] public void CleanProperties () { @@ -260,7 +414,7 @@ namespace MonoTests.System.Web.UI.WebControls { sw.NewLine = "\n"; list.RenderControl (tw); - Assert.AreEqual (expected, sw.ToString (), test); + HtmlDiff.AssertAreEqual (expected, sw.ToString (), test); } [Test] @@ -353,8 +507,28 @@ namespace MonoTests.System.Web.UI.WebControls { "; Render (c, exp, "C1"); - } - + } +#if NET_2_0 + class TestCheckBoxList : CheckBoxList + { + public new virtual void VerifyMultiSelect() + { + base.VerifyMultiSelect(); + } + } + [Test] + public void VerifyMultiSelectTest() + { + TestCheckBoxList list = new TestCheckBoxList(); + list.VerifyMultiSelect(); + } + [TestFixtureTearDown] + public void teardown () + { + WebTest.Unload (); + } +#endif } } +