Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • r71849 - in trunk/mcs/class/System.Web:System.Web.UI.WebControls Test/System.Web.UI.WebCon

    0 answers - 15457 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Author: adar
    Date: 2007-01-29 03:14:45 -0500 (Mon, 29 Jan 2007)
    New Revision: 71849
    Modified:
    Log:
    2007-01-29 Adar Wesley <adarw (AT) mainsoft (DOT) com>
    * EditCommandColumn.cs: implemented CausesValidation and
    ValidationGroup and corresponding tests.
    * DataGrid.cs: fixed generated table to be compatible with MS 2.0
    Modified:
    2007-01-29 04:50:24 UTC (rev 71848)
    2007-01-29 08:14:45 UTC (rev 71849)
    @@ -1,3 +1,9 @@
    +2007-01-29 Adar Wesley <adarw (AT) mainsoft (DOT) com>
    +
    + * EditCommandColumn.cs: implemented CausesValidation and
    + ValidationGroup and coresponding tests.
    + * DataGrid.cs: fixed generated table to be compatible with MS 2.0
    +
    2007-01-28 Vladimir Krasnov <vladimirk (AT) mainsoft (DOT) com>
    * WebControl.cs: added internal method AddDisplayStyleAttribute for
    Modified:
    2007-01-29 04:50:24 UTC (rev 71848)
    2007-01-29 08:14:45 UTC (rev 71849)
    @@ -416,7 +416,11 @@
    private Table RenderTable {
    get {
    if (render_table == null) {
    +#if NLY_1_1
    render_table = new TableID (this);
    +#else
    +render_table = new Table ();
    +#endif
    render_table.AutoID = false;
    }
    return render_table;
    @@ -1286,3 +1290,4 @@
    }
    }
    +
    Modified:
    2007-01-29 04:50:24 UTC (rev 71848)
    2007-01-29 08:14:45 UTC (rev 71849)
    @@ -70,6 +70,21 @@
    }
    #if NET_2_0
    +[DefaultValue(true)]
    +public virtual bool CausesValidation {
    +get { return ViewState.GetBool ("CausesValidation", true); }
    +set { ViewState ["CausesValidation"] = value; }
    +}
    +
    +[DefaultValue("")]
    +public virtual string ValidationGroup {
    +get { return ViewState.GetString ("ValidationGroup", ""); }
    +set { ViewState ["ValidationGroup"] = value; }
    +}
    +
    +#endif
    +
    +#if NET_2_0
    [DefaultValue ("")]
    [Localizable (true)]
    #endif
    @@ -121,7 +136,11 @@
    }
    case ListItemType.EditItem: {
    +#if NET_2_0
    +cell.Controls.Add (CreateButton (ButtonType, UpdateText, "Update", CausesValidation));
    +#else
    cell.Controls.Add(CreateButton(ButtonType, UpdateText, "Update", true));
    +#endif
    cell.Controls.Add(new LiteralControl(" "));
    cell.Controls.Add(CreateButton(ButtonType, CancelText, "Cancel", false));
    break;
    @@ -140,6 +159,11 @@
    d.Text = text;
    d.CommandName = command;
    d.CausesValidation = valid;
    +#if NET_2_0
    +if (valid) {
    +d.ValidationGroup = ValidationGroup;
    +}
    +#endif
    return d;
    }
    @@ -147,6 +171,11 @@
    b.Text = text;
    b.CommandName = command;
    b.CausesValidation = valid;
    +#if NET_2_0
    +if (valid) {
    +b.ValidationGroup = ValidationGroup;
    +}
    +#endif
    return b;
    }
    #endregion// Private Methods
    Modified:
    2007-01-29 04:50:24 UTC (rev 71848)
    2007-01-29 08:14:45 UTC (rev 71849)
    @@ -38,6 +38,8 @@
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    +using ;
    +using MonoTests.SystemWeb.Framework;
    namespace
    {
    @@ -58,7 +60,6 @@
    }
    [Test]
    -[Category("NotWorking")]
    public void Defaults ()
    {
    EditCommandColumne;
    @@ -70,15 +71,12 @@
    Assert.AreEqual(string.Empty, e.EditText, "D3");
    Assert.AreEqual(string.Empty, e.UpdateText, "D4");
    #if NET_2_0
    -// MN BUG: CausesValidation and ValidationGroup have no definition
    -//Assert.AreEqual (true, e.CausesValidation, "CausesValidation");
    -//Assert.AreEqual (string.Empty, e.ValidationGroup, "ValidationGroup");
    -Assert.Fail("CausesValidation and ValidationGroup have no definition");
    +Assert.AreEqual (true, e.CausesValidation, "CausesValidation");
    +Assert.AreEqual (string.Empty, e.ValidationGroup, "ValidationGroup");
    #endif
    }
    [Test]
    -[Category ("NotWorking")]
    public void Properties () {
    EditCommandColumne;
    @@ -96,14 +94,11 @@
    e.UpdateText = "Update? What update?";
    Assert.AreEqual("Update? What update?", e.UpdateText, "D4");
    #if NET_2_0
    -// MN BUG: CausesValidation and ValidationGroup have no definition
    -//e.CausesValidation = false;
    -//Assert.AreEqual (false, e.CausesValidation, "CausesValidation");
    -//e.ValidationGroup = "test";
    -//Assert.AreEqual ("test", e.ValidationGroup, "ValidationGroup");
    -Assert.Fail ("CausesValidation and ValidationGroup have no definition");
    +e.CausesValidation = false;
    +Assert.AreEqual (false, e.CausesValidation, "CausesValidation");
    +e.ValidationGroup = "test";
    +Assert.AreEqual ("test", e.ValidationGroup, "ValidationGroup");
    #endif
    -
    }
    private string ControlMarkup(Control c) {
    @@ -128,8 +123,6 @@
    }
    [Test]
    -[Category ("NotDotNet")]
    -[Category ("NotWorking")]
    public void InitializeCell () {
    DataGridTestp = new DataGridTest ();
    DataTabletable = new DataTable ();
    @@ -168,7 +161,7 @@
    markup = markup.Replace ("\n", "");
    #if NET_2_0
    -Assert.AreEqual (
    +HtmlDiff.AssertAreEqual (
    "<table border=\"0\"><tr><td> </td><td> </td><td>one</td><td>two</td><td>three</td>" +
    "</tr><tr><td><a>Edit</a></td><td><input name=\"sucker$ctl02$ctl00\" type=\"submit\" value=\"Bearbeiten\" /></td><td>1</td><td>2</td><td>3</td>" +
    "</tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td>" +
    @@ -184,8 +177,6 @@
    }
    [Test]
    -[Category ("NotDotNet")]
    -[Category("NotWorking")]
    public void ThisIsADGTest () {
    DataGridTestp = new DataGridTest ();
    DataTabletable = new DataTable ();
    @@ -227,7 +218,7 @@
    markup = markup.Replace ("\n", "");
    #if NET_2_0
    -Assert.AreEqual (
    +HtmlDiff.AssertAreEqual (
    "<table border=\"0\"><tr><td> </td><td> </td><td>one</td><td>two</td><td>three</td>" +
    "</tr><tr><td><a>Edit</a></td><td><input name=\"sucker_tbl$ctl02$ctl00\" type=\"submit\" value=\"Bearbeiten\" /></td><td>1</td><td>2</td><td>3</td>" +
    "</tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td>" +
    @@ -250,8 +241,6 @@
    }
    [Test]
    -[Category ("NotDotNet")]
    -[Category("NotWorking")]
    public void InitializeEditCell () {
    DataGridTestp = new DataGridTest ();
    DataTabletable = new DataTable ();
    @@ -308,7 +297,7 @@
    Assert.AreEqual (2, p.Columns.Count, "I1");
    #if NET_2_0
    -Assert.AreEqual (
    +HtmlDiff.AssertAreEqual (
    "<table border=\"0\"><tr><td> </td><td> </td><td>one</td><td>two</td><td>three</td>" +
    "</tr><tr><td><a>Update</a> <a>Cancel</a></td><td><input name=\"sucker$ctl02$ctl00\" type=\"submit\" value=\"Refresh\" /> " +
    "<input name=\"sucker$ctl02$ctl01\" type=\"submit\" value=\"Abbrechen\" /></td>" +
    @@ -384,5 +373,304 @@
    "</tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td>" +
    "</tr></table>", markup, "I2");
    }
    +
    +#if NET_2_0
    +[Test]
    +[Category ("NunitWeb")]
    +public void Validation_ValidatingValid ()
    +{
    +WebTest t = new WebTest ();
    +PageDelegates pd = new PageDelegates ();
    +pd.Load = Validation_Load;
    +pd.PreRender = Validation_PreRender;
    +t.Invoker = new PageInvoker (pd);
    +t.UserData = "ValidatingValid";
    +string html = t.Run ();
    +FormRequest fr = new FormRequest (t.Response, "form1");
    +
    +fr.Controls.Add ("__EVENTTARGET");
    +fr.Controls.Add ("__EVENTARGUMENT");
    +fr.Controls ["__EVENTTARGET"].Value = (string) t.UserData;
    +fr.Controls ["__EVENTARGUMENT"].Value = "";
    +t.Request = fr;
    +t.UserData = "ValidatingValid";
    +
    +html = t.Run ();
    +}
    +
    +[Test]
    +[Category ("NunitWeb")]
    +public void Validation_ValidatingInvalid () {
    +WebTest t = new WebTest ();
    +PageDelegates pd = new PageDelegates ();
    +pd.Load = Validation_Load;
    +pd.PreRender = Validation_PreRender;
    +t.Invoker = new PageInvoker (pd);
    +t.UserData = "ValidatingInvalid";
    +string html = t.Run ();
    +FormRequest fr = new FormRequest (t.Response, "form1");
    +
    +fr.Controls.Add ("__EVENTTARGET");
    +fr.Controls.Add ("__EVENTARGUMENT");
    +fr.Controls ["__EVENTTARGET"].Value = (string)t.UserData;
    +fr.Controls ["__EVENTARGUMENT"].Value = "";
    +t.Request = fr;
    +t.UserData = "ValidatingInvalid";
    +
    +html = t.Run ();
    +}
    +
    +[Test]
    +[Category ("NunitWeb")]
    +public void () {
    +WebTest t = new WebTest ();
    +PageDelegates pd = new PageDelegates ();
    +pd.Load = Validation_Load;
    +pd.PreRender = Validation_PreRender;
    +t.Invoker = new PageInvoker (pd);
    +t.UserData = "NotValidatingInvalid";
    +string html = t.Run ();
    +FormRequest fr = new FormRequest (t.Response, "form1");
    +
    +fr.Controls.Add ("__EVENTTARGET");
    +fr.Controls.Add ("__EVENTARGUMENT");
    +fr.Controls ["__EVENTTARGET"].Value = (string) t.UserData;
    +fr.Controls ["__EVENTARGUMENT"].Value = "";
    +t.Request = fr;
    +t.UserData = "NotValidatingInvalid";
    +
    +html = t.Run ();
    +}
    +
    +[Test]
    +[Category ("NunitWeb")]
    +public void () {
    +WebTest t = new WebTest ();
    +PageDelegates pd = new PageDelegates ();
    +pd.Load = Validation_Load;
    +pd.PreRender = Validation_PreRender;
    +t.Invoker = new PageInvoker (pd);
    +t.UserData = "ValidationGroupIncluded";
    +string html = t.Run ();
    +FormRequest fr = new FormRequest (t.Response, "form1");
    +
    +fr.Controls.Add ("__EVENTTARGET");
    +fr.Controls.Add ("__EVENTARGUMENT");
    +fr.Controls ["__EVENTTARGET"].Value = (string) t.UserData;
    +fr.Controls ["__EVENTARGUMENT"].Value = "";
    +t.Request = fr;
    +t.UserData = "ValidationGroupIncluded";
    +
    +html = t.Run ();
    +}
    +
    +[Test]
    +[Category ("NunitWeb")]
    +public void () {
    +WebTest t = new WebTest ();
    +PageDelegates pd = new PageDelegates ();
    +pd.Load = Validation_Load;
    +pd.PreRender = Validation_PreRender;
    +t.Invoker = new PageInvoker (pd);
    +t.UserData = "ValidationGroupNotIncluded";
    +string html = t.Run ();
    +FormRequest fr = new FormRequest (t.Response, "form1");
    +
    +fr.Controls.Add ("__EVENTTARGET");
    +fr.Controls.Add ("__EVENTARGUMENT");
    +fr.Controls ["__EVENTTARGET"].Value = (string) t.UserData;
    +fr.Controls ["__EVENTARGUMENT"].Value = "";
    +t.Request = fr;
    +t.UserData = "ValidationGroupNotIncluded";
    +
    +html = t.Run ();
    +}
    +
    +public static void Validation_Load (Page p)
    +{
    +string testType = (string)WebTest.CurrentTest.UserData;
    +DataGridTest dg = new DataGridTest ();
    +dg.ID = "mygrid";
    +EditCommandColumn e;
    +
    +e = new EditCommandColumn ();
    +e.ButtonType = ButtonColumnType.LinkButton;
    +e.CancelText = "Cancel";
    +e.EditText = "Edit";
    +e.UpdateText = "Update";
    +
    +switch (testType) {
    +case "ValidatingValid":
    +case "ValidatingInvalid":
    +case "ValidationGroupIncluded":
    +case "ValidationGroupNotIncluded":
    +e.CausesValidation = true;
    +break;
    +
    +case "NotValidatingInvalid":
    +e.CausesValidation = false;
    +break;
    +}
    +
    +switch (testType) {
    +case "ValidationGroupIncluded":
    +case "ValidationGroupNotIncluded":
    +e.ValidationGroup = "Group1";
    +break;
    +
    +default:
    +e.ValidationGroup = "";
    +break;
    +}
    +
    +dg.Columns.Add (e);
    +
    +TextBox tb = new TextBox ();
    +tb.ID = "Text1";
    +switch (testType) {
    +case "ValidatingValid":
    +tb.Text = "111";
    +break;
    +
    +case "ValidatingInvalid":
    +case "NotValidatingInvalid":
    +case "ValidationGroupIncluded":
    +case "ValidationGroupNotIncluded":
    +tb.Text = "";
    +break;
    +}
    +
    +RequiredFieldValidator v = new RequiredFieldValidator ();
    +v.ControlToValidate = "Text1";
    +switch (testType) {
    +case "ValidationGroupIncluded":
    +v.ValidationGroup = "Group1";
    +break;
    +
    +case "ValidationGroupNotIncluded":
    +v.ValidationGroup = "NotGroup1";
    +break;
    +
    +default:
    +v.ValidationGroup = "";
    +break;
    +}
    +TemplateColumn tc = new TemplateColumn ();
    +tc.EditItemTemplate = new ValidatingEditTemplate (tb, v);
    +dg.Columns.Add (tc);
    +
    +DataSource ods = new DataSource ("MDS", "Select");
    +ods.UpdateMethod = "Update";
    +ods.DTypeName = "MDS";
    +ods.ID = "MyDS";
    +
    +p.Form.Controls.Add (ods);
    +
    +dg.DataSource = ods;
    +//dg.DataKeyField = "i";
    +
    +//DataTable table = new DataTable ();
    +//table.Columns.Add (new DataColumn ("one", typeof (string)));
    +//table.Columns.Add (new DataColumn ("two", typeof (string)));
    +//table.Columns.Add (new DataColumn ("three", typeof (string)));
    +//table.Rows.Add (new object [] { "1", "2", "3" });
    +
    +//dg.DataSource = new DataView (table);
    +
    +dg.EditItemIndex = 0;
    +p.Form.Controls.Add (dg);
    +
    +dg.DataBind ();
    +if (!p.IsPostBack) {
    +WebTest.CurrentTest.UserData = dg.Items [0].Cells [0].Controls [0].UniqueID;
    +}
    +}
    +
    +public static void Validation_PreRender (Page p)
    +{
    +string testType = (string) WebTest.CurrentTest.UserData;
    +
    +if (p.IsPostBack) {
    +switch (testType) {
    +case "ValidatingValid":
    +case "ValidationGroupNotIncluded":
    +Assert.AreEqual (true, p.IsValid, "ValidatingValid");
    +break;
    +case "ValidatingInvalid":
    +case "ValidationGroupIncluded":
    +Assert.AreEqual (false, p.IsValid, "ValidatingInvalid");
    +break;
    +
    +case "NotValidatingInvalid":
    +bool isValidated = true;
    +try {
    +if (p.IsValid) {
    +Assert.Fail ("NotValidatingInvalid IsValid == true");
    +}
    +}
    +catch (HttpException httpException) {
    +isValidated = false;
    +}
    +Assert.AreEqual(false, isValidated, "NotValidatingInvalid");
    +break;
    +}
    +}
    +}
    +
    +public class ValidatingEditTemplate : ITemplate
    +{
    +public ValidatingEditTemplate (params Control [] templateControls)
    +{
    +this.templateControls = new Control[templateControls.Length];
    +templateControls.CopyTo (this.templateControls, 0);
    +}
    +
    +#region ITemplate Members
    +
    +public void InstantiateIn (Control container)
    +{
    +foreach (Control c in templateControls) {
    +container.Controls.Add (c);
    +}
    +}
    +
    +#endregion
    +
    +private Control[] templateControls;
    +}
    +#endif
    }
    }
    +
    +#if NET_2_0
    +#region MDS
    +public class MDS
    +{
    +public MDS () {
    +_i = 0;
    +}
    +
    +public MDS (int value) {
    +_i = value;
    +}
    +
    +private int _i;
    +public int i {
    +get { return _i; }
    +set { _i = value; }
    +}
    +
    +static MDS [] myData = null;
    +
    +public static IList Select () {
    +if (myData == null) {
    +myData = new MDS [] { new MDS (1), new MDS (2), new MDS (3) };
    +}
    +return myData;
    +}
    +
    +public static void Update (MDS instance) {
    +}
    +}
    +#endregion
    +#endif
    Mono-patches maillist - Mono-patches (AT) lists (DOT) ximian.com

Re: r71849 - in trunk/mcs/class/System.Web:System.Web.UI.WebControls Test/System.Web.UI.WebCon


max 4000 letters.
Your nickname that display:
In order to stop the spam: 6 + 5 =
QUESTION ON "Development"

EMSDN.COM