RepeaterTest.cs added new tests for 2.0
authorYoni Klain <yonik@mono-cvs.ximian.com>
Tue, 5 Dec 2006 13:04:34 +0000 (13:04 -0000)
committerYoni Klain <yonik@mono-cvs.ximian.com>
Tue, 5 Dec 2006 13:04:34 +0000 (13:04 -0000)
svn path=/trunk/mcs/; revision=69033

mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/Test/System.Web.UI.WebControls/RepeaterTest.cs

index bcf10a82787b9bd15c33d99aac7cf833f0975f66..953001eae3c120af9baad7863da91bfcb824a686 100644 (file)
@@ -1,3 +1,7 @@
+2006-12-05  Yoni Klain         <yonik@mainsoft.com>
+
+       * RepeaterTest.cs: added new test for 2.0 
+
 2006-12-05  Yoni Klain         <yonik@mainsoft.com>
 
        * TableTest.cs: added new test for 2.0 
index f18fba48c4836f14de8e37b0ab649572243e7783..71954bc5c0d478977af242671844de447444b4b2 100644 (file)
@@ -34,7 +34,9 @@ using System.IO;
 using System.Globalization;
 using System.Web;
 using System.Web.UI;
-using System.Web.UI.WebControls;
+using System.Web.UI.WebControls;\r
+using MonoTests.SystemWeb.Framework;\r
+using System.Collections;
 
 namespace MonoTests.System.Web.UI.WebControls
 {
@@ -66,6 +68,55 @@ namespace MonoTests.System.Web.UI.WebControls
                        public DataSourceSelectArguments DoCreateDataSourceSelectArguments ()
                        {
                                return base.CreateDataSourceSelectArguments();
+                       }\r
+\r
+                       public new void EnsureDataBound ()\r
+                       {\r
+                               base.EnsureDataBound ();\r
+                       }\r
+\r
+                       public global::System.Collections.IEnumerable DoGetData ()\r
+                       {\r
+                               return base.GetData ();\r
+                       }\r
+\r
+                       public new bool Initialized\r
+                       {\r
+                               get { return base.Initialized; }\r
+                       }\r
+\r
+                       public new bool IsBoundUsingDataSourceID\r
+                       {\r
+                               get { return base.IsBoundUsingDataSourceID; }\r
+                       }\r
+\r
+                       protected override void OnDataPropertyChanged ()\r
+                       {\r
+                               eventChecker = true;\r
+                               base.OnDataPropertyChanged ();\r
+                       }\r
+\r
+                       public void DoOnDataSourceViewChanged (object sender, EventArgs e)\r
+                       {\r
+                               base.OnDataSourceViewChanged (sender, e);\r
+                       }\r
+\r
+                       public new bool RequiresDataBinding\r
+                       {\r
+                               get { return base.RequiresDataBinding; }\r
+                               set { base.RequiresDataBinding = value; }\r
+                       }\r
+\r
+                       bool eventChecker;\r
+                       public bool EventChecker\r
+                       {\r
+                               get { return eventChecker; }\r
+                               set { throw new NotImplementedException (); }\r
+                       }\r
+\r
+                       public void clearEvents ()\r
+                       {\r
+                               eventChecker = false;\r
                        }
 #endif
                }
@@ -93,8 +144,163 @@ namespace MonoTests.System.Web.UI.WebControls
                        /* check to see whether multiple calls give us different refs */
                        args = p.DoCreateDataSourceSelectArguments();
                        
-                       Assert.AreEqual (args, args2, "multiple calls, same ref");
-               }
-#endif
+                       Assert.AreEqual (args, args2, "multiple calls, same ref");\r
+                       Assert.AreEqual (string.Empty, p.DataSourceID, "DataSourceID");\r
+                       Assert.AreEqual (false, p.RequiresDataBinding, "RequiresDataBinding");
+               }\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               public void Repeater_DefaultsNotWorking ()\r
+               {\r
+                       Poker p = new Poker ();\r
+                       Assert.AreEqual (true, p.EnableTheming, "EnableTheming");\r
+               }\r
+\r
+\r
+               \r
+               [Test]\r
+               [Category("NunitWeb")]\r
+               [ExpectedException(typeof(HttpException))]\r
+               public void  EnsureDataBound ()\r
+               {\r
+                       WebTest t = new WebTest (PageInvoker.CreateOnInit (EnsureDataBound_Init));\r
+                       string html = t.Run ();\r
+               }\r
+\r
+               public static void EnsureDataBound_Init (Page p)\r
+               {\r
+                       Poker r = new Poker ();\r
+                       r.DataSourceID = "Fake";\r
+                       p.Form.Controls.Add (r);\r
+                       r.EnsureDataBound ();\r
+               }\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               public void GetData ()\r
+               {\r
+                       Poker p = new Poker ();\r
+                       p.DataSource = Databound ();\r
+                       ArrayList data = (ArrayList)p.DoGetData ();\r
+                       Assert.AreEqual (3, data.Count, "GetData#1");\r
+                       Assert.AreEqual (1, data[0], "GetData#2");\r
+               }\r
+\r
+               #region help_class\r
+               static ArrayList Databound ()\r
+               {\r
+                       ArrayList list = new ArrayList ();\r
+                       list.Add (1);\r
+                       list.Add (2);\r
+                       list.Add (3);\r
+                       return list;\r
+               }\r
+               #endregion\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               [Category ("NunitWeb")]\r
+               public void Initialized ()\r
+               {\r
+                       WebTest t = new WebTest ();\r
+                       PageDelegates pd = new PageDelegates ();\r
+                       pd.Init = new PageDelegate (Initialized_Init);\r
+                       pd.Load = new PageDelegate (Initialized_Load);\r
+                       t.Invoker = new PageInvoker (pd);\r
+                       string html = t.Run ();\r
+               }\r
+\r
+               public static void Initialized_Init (Page p)\r
+               {\r
+                       Poker r = new Poker ();\r
+                       r.ID = "Rep";\r
+                       Assert.AreEqual (false, r.Initialized, "Initialized#1");\r
+                       r.DataSource = Databound ();\r
+                       p.Form.Controls.Add (r);\r
+               }\r
+\r
+               public static void Initialized_Load (Page p)\r
+               {\r
+                       Poker r = p.FindControl ("Rep") as Poker; \r
+                       Assert.AreEqual (true, r.Initialized, "Initialized#2");\r
+               }\r
+\r
+               [Test]\r
+               public void IsBoundUsingDataSourceID ()\r
+               {\r
+                       Poker p = new Poker ();\r
+                       Assert.AreEqual (false, p.IsBoundUsingDataSourceID, "IsBoundUsingDataSourceID#1");\r
+                       p.DataSourceID = "Fake";\r
+                       Assert.AreEqual (true, p.IsBoundUsingDataSourceID, "IsBoundUsingDataSourceID#2");\r
+               }\r
+\r
+               [Test]\r
+               public void OnDataPropertyChanged ()\r
+               {\r
+                       Poker p = new Poker ();\r
+                       p.clearEvents ();\r
+                       p.DataSourceID = "Fake";\r
+                       Assert.AreEqual (true, p.EventChecker, "OnDataPropertyChanged#1");\r
+               }\r
+\r
+               [Test]\r
+               public void OnDataSourceViewChanged ()\r
+               {\r
+                       Poker p = new Poker ();\r
+                       Assert.AreEqual (false, p.RequiresDataBinding, "OnDataSourceViewChanged#1");\r
+                       p.DoOnDataSourceViewChanged (p, new EventArgs ());\r
+                       Assert.AreEqual (true, p.RequiresDataBinding, "OnDataSourceViewChanged#2");\r
+               }\r
+\r
+               #region help_class_for_select_args\r
+               class PokerS : Repeater\r
+               {\r
+\r
+                       public void TrackState ()\r
+                       {\r
+                               TrackViewState ();\r
+                       }\r
+\r
+                       public object SaveState ()\r
+                       {\r
+                               return SaveViewState ();\r
+                       }\r
+\r
+                       public void LoadState (object o)\r
+                       {\r
+                               LoadViewState (o);\r
+                       }\r
+\r
+#if NET_2_0\r
+                       public DataSourceSelectArguments GetSelectArguments ()\r
+                       {\r
+                               return SelectArguments;\r
+                       }\r
+\r
+                       protected override DataSourceSelectArguments CreateDataSourceSelectArguments ()\r
+                       {\r
+                               DataSourceSelectArguments arg = new DataSourceSelectArguments ("SortExp");\r
+                               return arg;\r
+                       }\r
+#endif\r
+               }\r
+               #endregion\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               public void GetSelectArguments ()\r
+               {\r
+                       PokerS p = new PokerS ();\r
+                       DataSourceSelectArguments arg = p.GetSelectArguments ();\r
+                       Assert.AreEqual ("SortExp", arg.SortExpression, "GetSelectArguments");\r
+               }\r
+\r
+               [TestFixtureTearDown]\r
+               public void TearDown ()\r
+               {\r
+                       WebTest.Unload ();\r
+               }\r
+#endif\r
        }
 }