using System.Web.UI.WebControls;\r
using System.Collections;\r
using System.Text;\r
+using System.Data;\r
\r
namespace MonoTests.System.Web.UI.WebControls\r
{\r
{\r
LoadViewState (savedState);\r
}\r
+\r
+ public void DoRaiseDataSourceChangedEvent ()\r
+ {\r
+ base.RaiseDataSourceChangedEvent(new EventArgs());\r
+ }\r
}\r
\r
class CustomSqlDataSourceView : SqlDataSourceView\r
// Help parameter for Asserts\r
private static SqlParameterCollection CustomEventParameterCollection;\r
private static string PassedParameters;\r
+\r
+ [Test]\r
+ public void ReturnValueParameter ()\r
+ {\r
+ SqlPoker sql = new SqlPoker ();\r
+ sql.ConnectionString = "Data Source=fake\\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa";\r
+ sql.ProviderName = "System.Data.SqlClient";\r
+ CustomSqlDataSourceView view = new CustomSqlDataSourceView (sql, "TestView", null);\r
+ view.SelectCommandType = SqlDataSourceCommandType.Text;\r
+ view.SelectCommand = "SELECT * FROM products WHERE ProductID = @ProductID;";\r
+ view.OldValuesParameterFormatString = "origin_{0}";\r
+\r
+ view.SelectParameters.Add (new Parameter ("ProductID", TypeCode.Int32, "10"));\r
+ Parameter myReturn = new Parameter ("myReturn", TypeCode.Int32);\r
+ myReturn.Direction = ParameterDirection.ReturnValue;\r
+ view.SelectParameters.Add (myReturn);\r
+ \r
+ view.Selecting += new SqlDataSourceSelectingEventHandler (view_Selecting);\r
+ view.Select (new DataSourceSelectArguments ());\r
+ \r
+ Assert.IsNotNull (CustomEventParameterCollection, "Select event not fired");\r
+ Assert.AreEqual (2, CustomEventParameterCollection.Count, "Parameter count");\r
+ Assert.IsNotNull (CustomEventParameterCollection ["@myReturn"], "Parameter name");\r
+ }\r
\r
[Test]\r
public void ExecuteSelect ()\r
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