<29/05/07 by:yoni yonik@mainsoft.com>
[mono.git] / mcs / class / System.Web / Test / System.Web.UI.WebControls / SqlDataSourceTest.cs
index 9a33c9832a1d46336e8da59ed4a529d88826c98a..9c2e62598fd40b8a2cb1e736322c7d751c60d8b3 100644 (file)
@@ -62,6 +62,11 @@ namespace MonoTests.System.Web.UI.WebControls
                {\r
                        LoadViewState (savedState);\r
                }\r
+\r
+               public void DoRaiseDataSourceChangedEvent ()\r
+               {\r
+                       base.RaiseDataSourceChangedEvent(new EventArgs());\r
+               }\r
        }\r
 \r
        class CustomSqlDataSourceView : SqlDataSourceView\r
@@ -774,6 +779,103 @@ namespace MonoTests.System.Web.UI.WebControls
                        return sb.ToString ();\r
                }\r
 \r
+               #region help_results\r
+               class eventAssert\r
+               {\r
+                       private static int _testcounter;\r
+                       private static bool _eventChecker;\r
+                       private eventAssert ()\r
+                       {\r
+                               _testcounter = 0;\r
+                       }\r
+\r
+                       public static bool eventChecker\r
+                       {\r
+                               get\r
+                               {\r
+                                       throw new NotImplementedException ();\r
+                               }\r
+                               set\r
+                               {\r
+                                       _eventChecker = value;\r
+                               }\r
+                       }\r
+\r
+                       static private void testAdded ()\r
+                       {\r
+                               _testcounter++;\r
+                               _eventChecker = false;\r
+                       }\r
+\r
+                       public static void IsTrue (string msg)\r
+                       {\r
+                               Assert.IsTrue (_eventChecker, msg + "#" + _testcounter);\r
+                               testAdded ();\r
+\r
+                       }\r
+\r
+                       public static void IsFalse (string msg)\r
+                       {\r
+                               Assert.IsFalse (_eventChecker, msg + "#" + _testcounter);\r
+                               testAdded ();\r
+                       }\r
+               }\r
+               #endregion\r
+\r
+               [Test]\r
+               [Category ("NotWorking")]\r
+               public void SqlDataSource_DataSourceViewChanged ()\r
+               {\r
+                       SqlPoker sql = new SqlPoker ();\r
+                       ((IDataSource) sql).DataSourceChanged += new EventHandler (SqlDataSourceTest_DataSourceChanged);\r
+\r
+                       sql.DoRaiseDataSourceChangedEvent ();\r
+                       eventAssert.IsTrue ("SqlDataSourceView"); // Assert include counter the first is zero\r
+                       sql.CacheKeyDependency = "hi";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.CancelSelectOnNullParameter = false;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.ConflictDetection = ConflictOptions.CompareAllValues;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.DeleteCommandType = SqlDataSourceCommandType.StoredProcedure;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.OldValuesParameterFormatString = "{1}";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.SqlCacheDependency = "hi";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.SortParameterName = "hi";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.CacheDuration = 1;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.CacheExpirationPolicy = DataSourceCacheExpiry.Sliding;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.EnableCaching = true;\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.DataSourceMode = SqlDataSourceMode.DataReader;\r
+                       eventAssert.IsTrue ("SqlDataSourceView");\r
+                       sql.DeleteCommand = "DELETE foo";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.InsertCommand = "INSERT foo";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.SelectCommand = "SELECT foo";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.UpdateCommand = "UPDATE foo";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+                       sql.FilterExpression = "hi";\r
+                       eventAssert.IsFalse ("SqlDataSourceView");\r
+               }\r
+\r
+               void SqlDataSourceTest_DataSourceChanged (object sender, EventArgs e)\r
+               {\r
+                       eventAssert.eventChecker = true;\r
+               }\r
+\r
                //exceptions \r
                [Test]\r
                [ExpectedException (typeof (NotSupportedException))]\r