You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2006/09/20 20:16:35 UTC
svn commit: r448284 - in /myfaces/tomahawk/trunk/core/src:
main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java
test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java
Author: mmarinschek
Date: Wed Sep 20 11:16:34 2006
New Revision: 448284
URL: http://svn.apache.org/viewvc?view=rev&rev=448284
Log:
fix for TOMAHAWK-676: ReducedHTMLParser not handling escaped characters in attribute values, thanks to Peter Mahoney
Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java
myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java?view=diff&rev=448284&r1=448283&r2=448284
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParser.java Wed Sep 20 11:16:34 2006
@@ -291,6 +291,12 @@
}
else
{
+ if (escaping)
+ {
+ stringBuf.append('\\');
+ escaping = false;
+ }
+
stringBuf.append(c);
}
}
Modified: myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java?view=diff&rev=448284&r1=448283&r2=448284
==============================================================================
--- myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java (original)
+++ myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/renderkit/html/util/ReducedHTMLParserTest.java Wed Sep 20 11:16:34 2006
@@ -274,6 +274,28 @@
assertEquals("String correctly parsed", "don't quote me", str1);
}
+ public void testConsumeStringEscapedNonQuote()
+ {
+ char quoteMark = '"';
+
+ // build literal sequence 'don\'t quote me' not-in-the-string
+ StringBuffer buf = new StringBuffer();
+ buf.append(quoteMark);
+ buf.append("don\\'t quote me");
+ buf.append(quoteMark);
+ buf.append(" not-in-the-string");
+
+ CallbackListener listener = new ParseCallbackListener();
+ ReducedHTMLParser parser = new ReducedHTMLParser(buf, listener);
+
+ // Note that the consumeString method always expects the leading quote to
+ // have been consumed already..
+
+ parser.consumeMatch("\"");
+ String str1 = parser.consumeString('"');
+ assertEquals("String correctly parsed", "don\\'t quote me", str1);
+ }
+
public void testConsumeStringEscapedEscape()
{
char quoteMark = '\'';