Author: yonik
Date: 2006-11-27 08:32:19 -0500 (Mon, 27 Nov 2006)
New Revision: 68509

Added:
   
trunk/mcs/class/System.Web/Test/mainsoft/NunitWebResources/NoEventValidation.aspx
Modified:
   trunk/mcs/class/System.Web/ChangeLog
   trunk/mcs/class/System.Web/Makefile
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ImageButtonTest.cs
   trunk/mcs/class/System.Web/Test/mainsoft/ChangeLog
Log:
ImageButtonTest.cs added new tests for 2.0 and new resource 
NoEventValidation.aspx

Modified: trunk/mcs/class/System.Web/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/ChangeLog        2006-11-27 13:22:55 UTC (rev 
68508)
+++ trunk/mcs/class/System.Web/ChangeLog        2006-11-27 13:32:19 UTC (rev 
68509)
@@ -1,3 +1,7 @@
+2006-11-27  Yoni Klain   <[EMAIL PROTECTED]>
+
+       * MakeFile added new resources NoEventValidation.aspx for 
ImageButtonTest.cs
+
 2006-11-09 Vladimir Krasnov <[EMAIL PROTECTED]>
 
        * System.Web_test.dll.sources: added PasswordRecoveryTest.cs, 

Modified: trunk/mcs/class/System.Web/Makefile
===================================================================
--- trunk/mcs/class/System.Web/Makefile 2006-11-27 13:22:55 UTC (rev 68508)
+++ trunk/mcs/class/System.Web/Makefile 2006-11-27 13:32:19 UTC (rev 68509)
@@ -127,6 +127,7 @@
        Test/mainsoft/NunitWebResources/AsyncPage.aspx \
        Test/mainsoft/NunitWebResources/PageCultureTest.aspx \
        Test/mainsoft/NunitWebResources/adapters.browser \
+       Test/mainsoft/NunitWebResources/NoEventValidation.aspx \
        Test/mainsoft/MainsoftWebTest/nunitweb_config.xml 
 
 NUNIT_RESOURCE_FILES = $(TEST_RESOURCE_FILES)

Modified: trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-11-27 13:22:55 UTC (rev 68508)
+++ trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-11-27 13:32:19 UTC (rev 68509)
@@ -1,5 +1,9 @@
 2006-11-26  Yoni Klain         <[EMAIL PROTECTED]>
 
+       * ImageButtonTest.cs: added new test for 2.0 
+
+2006-11-26  Yoni Klain         <[EMAIL PROTECTED]>
+
        * CheckBoxListTest.cs: added new test for 2.0 
 
 2006-11-23  Igor Zelmanovich   <[EMAIL PROTECTED]>

Modified: 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ImageButtonTest.cs
===================================================================
--- 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ImageButtonTest.cs    
    2006-11-27 13:22:55 UTC (rev 68508)
+++ 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ImageButtonTest.cs    
    2006-11-27 13:32:19 UTC (rev 68509)
@@ -35,6 +35,9 @@
 using System.Web;
 using System.Web.UI;
 using System.Web.UI.WebControls;
+using MonoTests.SystemWeb.Framework;
+using MonoTests.stand_alone.WebHarness;
+using System.Collections;
 
 namespace MonoTests.System.Web.UI.WebControls
 {
@@ -53,12 +56,46 @@
                {
                        LoadViewState (o);
                }
+
+               public string Render ()
+               {
+                       StringWriter sw = new StringWriter ();
+                       sw.NewLine = "\n";
+                       HtmlTextWriter writer = new HtmlTextWriter (sw);
+                       base.Render (writer);
+                       return writer.InnerWriter.ToString ();
+               }
+#if NET_2_0
+               public new string Text
+               {
+                       get
+                       {
+                               return base.Text;
+                       }
+                       set
+                       {
+                               base.Text = value;
+                       }
+               }
+
+
+               public new void RaisePostBackEvent (string eventArgument)
+               {
+                       base.RaisePostBackEvent (eventArgument);
+               }
+
+               protected override void RaisePostDataChangedEvent ()
+               {
+                       base.RaisePostDataChangedEvent ();
+               }
+#endif
        }
 
        [TestFixture]
        public class ImageButtonTest {
                
                [Test]
+               [Category("NotWorking")]
                public void ImageButton_DefaultValues ()
                {
                        ImageButton b = new ImageButton ();
@@ -67,11 +104,196 @@
                        Assert.AreEqual (string.Empty, b.CommandName, 
"CommandName");
 #if NET_2_0
                        Assert.AreEqual (string.Empty, b.ValidationGroup, 
"ValidationGroup");
+                       Assert.AreEqual (string.Empty, 
b.AppRelativeTemplateSourceDirectory, "AppRelativeTemplateSourceDirectory");
+                       Assert.AreEqual (string.Empty, b.DescriptionUrl, 
"DescriptionUrl");
+                       Assert.AreEqual (true, b.EnableTheming, 
"EnableTheming");
+                       Assert.AreEqual (false, b.GenerateEmptyAlternateText, 
"GenerateEmptyAlternateText");
+                       Assert.AreEqual (string.Empty, b.PostBackUrl, 
"PostBackUrl");
+                       Assert.AreEqual (string.Empty, b.OnClientClick, 
"OnClientClick");
 #endif
                }
 
-               
                [Test]
+               public void ImageButton_AssignedValues ()
+               {
+                       ImageButton b = new ImageButton ();
+#if NET_2_0
+                       Assert.AreEqual (string.Empty, b.ValidationGroup, 
"ValidationGroup#1");
+                       b.ValidationGroup = "test";
+                       Assert.AreEqual ("test", b.ValidationGroup, 
"ValidationGroup#2");
+                       // NOTE:  Default is wrong! 
+                       // Assert.AreEqual (string.Empty, 
b.AppRelativeTemplateSourceDirectory, "AppRelativeTemplateSourceDirectory#1");
+                       b.AppRelativeTemplateSourceDirectory = "~/test";
+                       Assert.AreEqual ("~/test", 
b.AppRelativeTemplateSourceDirectory, "AppRelativeTemplateSourceDirectory#2");
+                       Assert.AreEqual (string.Empty, b.DescriptionUrl, 
"DescriptionUrl#1");
+                       b.DescriptionUrl = "test";
+                       Assert.AreEqual ("test", b.DescriptionUrl, 
"DescriptionUrl#2");
+                       Assert.AreEqual (true, b.EnableTheming, 
"EnableTheming#1");
+                       b.EnableTheming  = false;
+                       Assert.AreEqual (false, b.EnableTheming, 
"EnableTheming#2");
+#endif
+               }
+
+
+#if NET_2_0
+               [Test]
+               [Category ("NunitWeb")]
+               public void AppRelativeTemplateSourceDirectory ()
+               {
+                       WebTest t = new WebTest (PageInvoker.CreateOnLoad 
(AppRelativeTemplateSourceDirectory_Load));
+                       t.Run ();
+               }
+       
+               public static void AppRelativeTemplateSourceDirectory_Load 
(Page p)
+               {
+                       PokerImageButton i = new PokerImageButton ();
+                       i.ID = "I";
+                       Assert.AreEqual ("~/", 
i.AppRelativeTemplateSourceDirectory, "AppRelativeTemplateSourceDirectory");
+               }
+
+               [Test]
+               public void DescriptionUrl ()
+               {
+                       PokerImageButton i = new PokerImageButton ();
+                       i.DescriptionUrl = "URLDescription";
+                       string html = i.Render ();
+                       if (html.IndexOf ("longdesc=\"URLDescription\"") == -1)
+                               Assert.Fail ("DescriptionUrl Failed");
+               }
+
+               [Test]
+               public void OnClientClick ()
+               {
+                       PokerImageButton b = new PokerImageButton ();
+                       b.OnClientClick = "MyMethod";
+                       string html = b.Render ();
+                       if (html.IndexOf ("onclick=\"MyMethod;\"") == -1)
+                               Assert.Fail ("OnClientClick#1");
+               }
+
+               [Test]
+               [Category ("NotWorking")]
+               public void PostBackUrl ()
+               {
+                       Page p = new Page ();
+                       PokerImageButton b = new PokerImageButton ();
+                       p.Controls.Add (b);
+                       p.EnableEventValidation = false;
+                       b.PostBackUrl = "~/MyURL.aspx";
+                       string html = b.Render ();
+                       if (html.IndexOf ("onclick") == -1)
+                               Assert.Fail ("PostBack script not created");
+                       if (html.IndexOf ("~/MyURL.aspx") == -1)
+                               Assert.Fail ("PostBack page URL not set");
+               }
+
+               [Test]
+               [Category ("NunitWeb")]
+               public void ValidationGroup ()
+               {
+                       WebTest.CopyResource (GetType (), 
"NoEventValidation.aspx", "NoEventValidation.aspx");
+                       WebTest t = new WebTest ("NoEventValidation.aspx");
+                       t.Invoker = PageInvoker.CreateOnLoad 
(ValidationGroup_Load);
+                       t.Run ();
+               }
+
+               public static void ValidationGroup_Load(Page p)
+               {
+                       PokerImageButton b = new PokerImageButton ();
+                       b.ValidationGroup = "MyValidationGroup";
+                       TextBox tb = new TextBox ();
+                       tb.ID = "tb";
+                       tb.ValidationGroup = "MyValidationGroup";
+                       RequiredFieldValidator v = new RequiredFieldValidator 
();
+                       v.ControlToValidate = "tb";
+                       v.ValidationGroup = "MyValidationGroup";
+                       p.Controls.Add (tb);
+                       p.Controls.Add (v);
+                       p.Controls.Add (b);
+                       string html = b.Render ();
+                       if (html.IndexOf ("onclick") == -1)
+                               Assert.Fail ("Validation script not created");
+                       if (html.IndexOf ("MyValidationGroup") == -1)
+                               Assert.Fail ("Validation group not set fail");
+
+               }
+
+               [Test]
+               public void Text ()
+               {
+                       PokerImageButton b = new PokerImageButton ();
+                       b.Text = "MyText";
+                       string html = b.Render ();
+                       HtmlDiff.AssertAreEqual ("<input type=\"image\" 
src=\"\" alt=\"MyText\" style=\"border-width:0px;\" />", html, "Text#1");
+               }
+
+               [Test]
+               [Category ("NotWorking")]
+               [Category("NunitWeb")]
+               public void RaisePostBackEvent ()
+               {
+                       WebTest.CopyResource (GetType (), 
"NoEventValidation.aspx", "NoEventValidation.aspx");
+                       WebTest t = new WebTest ("NoEventValidation.aspx");
+                       t.Invoker = PageInvoker.CreateOnLoad 
(RaisePostBackEvent_Load);
+                       t.Run ();
+                       ArrayList eventlist = t.UserData as ArrayList;
+                       if (eventlist == null)
+                               Assert.Fail ("User data does not been created 
fail");
+
+                       Assert.AreEqual ("Click", eventlist[0], "Event Flow 
#0");
+                       Assert.AreEqual ("Command", eventlist[1], "Event Flow 
#1");
+               }
+
+               public static void RaisePostBackEvent_Load (Page p)
+               {
+                       PokerImageButton b = new PokerImageButton ();
+                       p.Form.Controls.Add (b);
+                       b.Click += new ImageClickEventHandler (b_Click);
+                       b.Command += new CommandEventHandler (b_Command);
+                       b.RaisePostBackEvent ("Click");
+               }
+
+               static void b_Command (object sender, CommandEventArgs e)
+               {
+                       if (WebTest.CurrentTest.UserData == null) {
+                               ArrayList list = new ArrayList ();
+                               list.Add ("Command");
+                               WebTest.CurrentTest.UserData = list;
+                       }
+                       else {
+                               ArrayList list = WebTest.CurrentTest.UserData 
as ArrayList;
+                               if (list == null)
+                                       throw new NullReferenceException ();
+                               list.Add ("Command");
+                               WebTest.CurrentTest.UserData = list;
+                       }
+               }
+
+               static void b_Click (object sender, ImageClickEventArgs e)
+               {
+                       if (WebTest.CurrentTest.UserData == null) {
+                               ArrayList list = new ArrayList ();
+                               list.Add ("Click");
+                               WebTest.CurrentTest.UserData = list;
+                       }
+                       else {
+                               ArrayList list = WebTest.CurrentTest.UserData 
as ArrayList;
+                               if (list == null)
+                                       throw new NullReferenceException ();
+                               list.Add ("Click");
+                               WebTest.CurrentTest.UserData = list;
+                       }
+               }
+
+               [Test]
+               public void RaisePostDataChangedEvent ()
+               {
+                       // This protected method empty for to be ovveriden by 
developer 
+                       // and not called by Page and Control lifecycle 
+               }
+#endif
+
+               [Test]
                public void ImageButton_Render ()
                {
                        StringWriter sw = new StringWriter ();
@@ -119,7 +341,7 @@
 
                        Page page = new Page ();
 #if NET_2_0
-            page.EnableEventValidation = false;
+                       page.EnableEventValidation = false;
 #endif
                        ImageButton b = new ImageButton ();                     
                        page.Controls.Add (b);
@@ -128,7 +350,23 @@
                        Assert.AreEqual (true, sw.ToString().IndexOf 
("type=\"image\"") != -1, "A2");
                        Assert.AreEqual (true, sw.ToString().IndexOf 
("name=\"") != -1, "A3");
                }
+#if NET_2_0
+               [Test]
+               [Category ("NotWorking")] // Not implemented
+               [ExpectedException (typeof (NotSupportedException))]
+               public void GenerateEmptyAlternateText_Exception ()
+               {
+                       ImageButton b = new ImageButton ();
+                       b.GenerateEmptyAlternateText = true;
+               }
 
+               [TestFixtureTearDown]
+               public void TearDown ()
+               {
+                       WebTest.Unload ();
+               }
+#endif
+
        }
 }
 

Modified: trunk/mcs/class/System.Web/Test/mainsoft/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/Test/mainsoft/ChangeLog  2006-11-27 13:22:55 UTC 
(rev 68508)
+++ trunk/mcs/class/System.Web/Test/mainsoft/ChangeLog  2006-11-27 13:32:19 UTC 
(rev 68509)
@@ -1,3 +1,6 @@
+2006-11-27 Yoni Klain <[EMAIL PROTECTED]>
+       * add new resources : NoEventValidation.aspx for ImageButtonTest.cs
+
 2006-11-22 Yoni Klain <[EMAIL PROTECTED]>
        * add new resources : AsyncPage.aspx,PageCultureTest.aspx for 
PageTest.cs
 

Added: 
trunk/mcs/class/System.Web/Test/mainsoft/NunitWebResources/NoEventValidation.aspx
===================================================================
--- 
trunk/mcs/class/System.Web/Test/mainsoft/NunitWebResources/NoEventValidation.aspx
   2006-11-27 13:22:55 UTC (rev 68508)
+++ 
trunk/mcs/class/System.Web/Test/mainsoft/NunitWebResources/NoEventValidation.aspx
   2006-11-27 13:32:19 UTC (rev 68509)
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" 
CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; >
+<head id="Head1" runat="server">
+    <title>Untitled Page</title>
+</head>
+<body>
+    <form id="form1" runat="server">
+    <div>
+    
+    </div>
+    </form>
+</body>
+</html>

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

Reply via email to