Author: igorz
Date: 2007-05-27 09:23:17 -0400 (Sun, 27 May 2007)
New Revision: 78009

Modified:
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceView.cs
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceView.cs
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
   
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ObjectDataSourceViewTest.cs
   
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/SqlDataSourceViewTest.cs
Log:
2007-05-27 Igor Zelmanovich <[EMAIL PROTECTED]>

        * ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod 
properties:
        when changed, DataSourceViewChanged event is raised.
        
        * SqlDataSourceView: fixed SelectCommand property:
        when changed, DataSourceViewChanged event is raised.



Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2007-05-27 13:22:15 UTC (rev 78008)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2007-05-27 13:23:17 UTC (rev 78009)
@@ -1,3 +1,11 @@
+2007-05-27 Igor Zelmanovich <[EMAIL PROTECTED]>
+
+       * ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod 
properties:
+       when changed, DataSourceViewChanged event is raised.
+       
+       * SqlDataSourceView: fixed SelectCommand property:
+       when changed, DataSourceViewChanged event is raised.
+
 2007-05-25  Marek Habersack  <[EMAIL PROTECTED]>
 
        * ObjectDataSourceView.cs: CreateDataObject must pay attention to

Modified: 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceView.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceView.cs    
    2007-05-27 13:22:15 UTC (rev 78008)
+++ 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceView.cs    
    2007-05-27 13:23:17 UTC (rev 78009)
@@ -401,7 +401,10 @@
                                return selectCountMethod != null ? 
selectCountMethod : string.Empty;
                        }
                        set {
+                               if (SelectCountMethod == value)
+                                       return;
                                selectCountMethod = value;
+                               OnDataSourceViewChanged (EventArgs.Empty);
                        }
                }
 
@@ -410,7 +413,10 @@
                                return selectMethod != null ? selectMethod : 
string.Empty;
                        }
                        set {
+                               if (SelectMethod == value)
+                                       return;
                                selectMethod = value;
+                               OnDataSourceViewChanged (EventArgs.Empty);
                        }
                }
 
@@ -979,7 +985,7 @@
                                return null;
 
                        foreach (DictionaryEntry de in values) {
-                               string valueName = format == true ? 
FormatOldParameter (de.Key.ToString ()) : de.Key.ToString ();
+                               string valueName = format == true ? 
FormatOldParameter (de.Key.ToString ()) : de.Key.ToString ();
                                if (String.Compare (name, valueName, 
StringComparison.InvariantCultureIgnoreCase) == 0)
                                        return values [de.Key];
                        }

Modified: 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceView.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceView.cs   
2007-05-27 13:22:15 UTC (rev 78008)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceView.cs   
2007-05-27 13:23:17 UTC (rev 78009)
@@ -642,10 +642,15 @@
                }
 
                // LAME SPEC: MSDN says value should be saved in ViewState but 
tests show otherwise.
-               private string selectCommand = "";
+               private string selectCommand;
                public string SelectCommand {
-                       get { return selectCommand; }
-                       set { selectCommand = value; }
+                       get { return selectCommand != null ? selectCommand : 
string.Empty; }
+                       set {
+                               if (SelectCommand == value)
+                                       return;
+                               selectCommand = value;
+                               OnDataSourceViewChanged (EventArgs.Empty);
+                       }
                }
 
                // LAME SPEC: MSDN says value should be saved in ViewState but 
tests show otherwise.

Modified: trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2007-05-27 13:22:15 UTC (rev 78008)
+++ trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2007-05-27 13:23:17 UTC (rev 78009)
@@ -1,3 +1,9 @@
+2007-05-27 Igor Zelmanovich <[EMAIL PROTECTED]>
+
+       * ObjectDataSourceViewTest.cs:
+       * SqlDataSourceViewTest.cs:
+       new tests were added.   
+
 2007-05-07 Igor Zelmanovich <[EMAIL PROTECTED]>
 
        * MenuTest.cs:

Modified: 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ObjectDataSourceViewTest.cs
===================================================================
--- 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ObjectDataSourceViewTest.cs
       2007-05-27 13:22:15 UTC (rev 78008)
+++ 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ObjectDataSourceViewTest.cs
       2007-05-27 13:23:17 UTC (rev 78009)
@@ -931,6 +931,77 @@
                        }
                }
 
+               [Test]
+               public void SelectCountMethod_DataSourceViewChanged ()
+               {
+                       ObjectViewPoker view = new ObjectViewPoker (new 
ObjectDataSource (), "", null);
+                       view.DataSourceViewChanged += new EventHandler 
(view_DataSourceViewChanged);
+
+                       Assert.AreEqual ("", view.SelectCountMethod);
+                       view.SelectCountMethod = null;
+                       Assert.AreEqual (1, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [0]);
+                       Assert.AreEqual ("", view.SelectCountMethod);
+
+                       view.SelectCountMethod = null;
+                       Assert.AreEqual (2, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [1]);
+                       Assert.AreEqual ("", view.SelectCountMethod);
+
+                       view.SelectCountMethod = "";
+                       Assert.AreEqual (2, eventsCalled.Count);
+               }
+
+               [Test]
+               public void SelectMethod_DataSourceViewChanged2 ()
+               {
+                       ObjectViewPoker view = new ObjectViewPoker (new 
ObjectDataSource (), "", null);
+                       view.DataSourceViewChanged += new EventHandler 
(view_DataSourceViewChanged);
+
+                       Assert.AreEqual ("", view.SelectMethod);
+                       view.SelectMethod = null;
+                       Assert.AreEqual (1, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [0]);
+                       Assert.AreEqual ("", view.SelectMethod);
+
+                       view.SelectMethod = null;
+                       Assert.AreEqual (2, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [1]);
+                       Assert.AreEqual ("", view.SelectMethod);
+
+                       view.SelectMethod = "";
+                       Assert.AreEqual (2, eventsCalled.Count);
+               }
+
+               [Test]
+               public void SelectMethod_DataSourceViewChanged1 ()
+               {
+                       ObjectViewPoker view = new ObjectViewPoker (new 
ObjectDataSource (), "", null);
+                       view.DataSourceViewChanged+=new 
EventHandler(view_DataSourceViewChanged);
+
+                       view.SelectMethod = "select_1";
+                       Assert.AreEqual (1, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [0]);
+
+                       view.SelectMethod = "select_2";
+                       Assert.AreEqual (2, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [1]);
+
+                       view.SelectMethod = "select_2";
+                       Assert.AreEqual (2, eventsCalled.Count);
+
+                       view.SelectCountMethod = "selectCount_1";
+                       Assert.AreEqual (3, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [2]);
+
+                       view.SelectCountMethod = "selectCount_2";
+                       Assert.AreEqual (4, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [3]);
+
+                       view.SelectCountMethod = "selectCount_2";
+                       Assert.AreEqual (4, eventsCalled.Count);
+               }
+
                private static void InitializeView (ObjectViewPoker view, 
InitViewType initType, out Hashtable keys, out Hashtable old_value, out 
Hashtable new_value) 
                {
                        view.TypeName = typeof 
(DummyDataSourceObject).AssemblyQualifiedName;

Modified: 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/SqlDataSourceViewTest.cs
===================================================================
--- 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/SqlDataSourceViewTest.cs
  2007-05-27 13:22:15 UTC (rev 78008)
+++ 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/SqlDataSourceViewTest.cs
  2007-05-27 13:23:17 UTC (rev 78009)
@@ -375,6 +375,53 @@
                        DontMatchParams,
                }
 
+               [Test]
+               public void SelectCommand_DataSourceViewChanged2 ()
+               {
+                       SqlDataSource ds = new SqlDataSource ();
+                       SqlViewPoker view = new SqlViewPoker (ds, 
"DefaultView", null);
+                       view.DataSourceViewChanged += new EventHandler 
(view_DataSourceViewChanged);
+
+                       Assert.AreEqual ("", view.SelectCommand);
+                       view.SelectCommand = null;
+                       Assert.AreEqual (1, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [0]);
+                       Assert.AreEqual ("", view.SelectCommand);
+
+                       view.SelectCommand = null;
+                       Assert.AreEqual (2, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [1]);
+                       Assert.AreEqual ("", view.SelectCommand);
+
+                       view.SelectCommand = "";
+                       Assert.AreEqual (2, eventsCalled.Count);
+               }
+
+               [Test]
+               public void SelectCommand_DataSourceViewChanged1 ()
+               {
+                       SqlDataSource ds = new SqlDataSource ();
+                       SqlViewPoker view = new SqlViewPoker (ds, 
"DefaultView", null);
+                       view.DataSourceViewChanged+=new 
EventHandler(view_DataSourceViewChanged);
+
+                       view.SelectCommand = "select 1";
+                       Assert.AreEqual (1, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled[0]);
+                       
+                       view.SelectCommand = "select 2";
+                       Assert.AreEqual (2, eventsCalled.Count);
+                       Assert.AreEqual ("view_DataSourceViewChanged", 
eventsCalled [1]);
+
+                       view.SelectCommand = "select 2";
+                       Assert.AreEqual (2, eventsCalled.Count);
+
+                       view.SelectCommandType = 
SqlDataSourceCommandType.StoredProcedure;
+                       Assert.AreEqual (2, eventsCalled.Count);
+
+                       view.SelectCommandType = SqlDataSourceCommandType.Text;
+                       Assert.AreEqual (2, eventsCalled.Count);
+               }
+
                private static SqlViewPoker InitializeView (InitViewType 
initType, ConflictOptions conflictDetection, out Hashtable keys, out Hashtable 
old_value, out Hashtable new_value) 
                {
                        SqlDataSource ds = new SqlDataSource ();

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to