2007-03-13 Igor Zelmanovich <igorz@mainsoft.com>
authorIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Tue, 13 Mar 2007 08:42:46 +0000 (08:42 -0000)
committerIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Tue, 13 Mar 2007 08:42:46 +0000 (08:42 -0000)
* HttpUtility.cs: fixed HttpUtillity.HtmlAttributeEncode
 '<' char must be encoded.

svn path=/trunk/mcs/; revision=74158

mcs/class/System.Web/System.Web/ChangeLog
mcs/class/System.Web/System.Web/HttpUtility.cs
mcs/class/System.Web/Test/System.Web/HttpUtilityTest.cs

index ca909e313b56b99b704bc25d823e8c7b33601905..b9ac97dc551bfbb3a1176291451099e10ba08956 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-13 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * HttpUtility.cs: fixed HttpUtillity.HtmlAttributeEncode
+        '<' char must be encoded.      
+
 2007-03-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
 
        * CapabilitiesLoader.cs: added TARGET_JVM part of static members,
 
        * HttpUtility.cs: fix InvalidCastException.
 
-2005-06-05  Kornél Pál <kornelpal@hotmail.com>
+2005-06-05  Korn__l P__l <kornelpal@hotmail.com>
 
        * HttpWriter.cs: Fixed: _OutputFilter.Close () was called twice.
 
index fe4cea09f36085cc3c9a87a283543f404895cca8..ac4f2f4ef87135bca7e706834f0073dc7a3afb35 100644 (file)
@@ -340,7 +340,7 @@ namespace System.Web {
                        if (null == s) 
                                return null;
        
-                       if (s.IndexOf ('&') == -1 && s.IndexOf ('"') == -1)
+                       if (s.IndexOf ('&') == -1 && s.IndexOf ('"') == -1 && s.IndexOf ('<') == -1)
                                return s;
 
                        StringBuilder output = new StringBuilder ();
@@ -352,6 +352,9 @@ namespace System.Web {
                                case '"' :
                                        output.Append ("&quot;");
                                        break;
+                               case '<':
+                                       output.Append ("&lt;");
+                                       break;
                                default:
                                        output.Append (c);
                                        break;
index 38123ce14260c4780525a03e165ae741adb83614..4fcb283e288e17cae3a6b66fc6b153ac1fb1605d 100644 (file)
@@ -39,6 +39,14 @@ namespace MonoTests.System.Web {
        [TestFixture]
        public class HttpUtilityTest {
 
+               [Test]
+               public void HtmlAttributeEncode ()
+               {
+                       Assert.AreEqual ("&lt;script>", HttpUtility.HtmlAttributeEncode ("<script>"));
+                       Assert.AreEqual ("&quot;a&amp;b&quot;", HttpUtility.HtmlAttributeEncode ("\"a&b\""));
+                       Assert.AreEqual ("'string'", HttpUtility.HtmlAttributeEncode ("'string'"));
+               }
+
                [Test]
                public void HtmlEncode_LtGt ()
                {