You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2013/06/03 18:10:08 UTC

git commit: VYSPER-341: fix parsing multiple char refs

Updated Branches:
  refs/heads/master 10f86930a -> 498b51bc1


VYSPER-341: fix parsing multiple char refs


Project: http://git-wip-us.apache.org/repos/asf/mina-vysper/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-vysper/commit/498b51bc
Tree: http://git-wip-us.apache.org/repos/asf/mina-vysper/tree/498b51bc
Diff: http://git-wip-us.apache.org/repos/asf/mina-vysper/diff/498b51bc

Branch: refs/heads/master
Commit: 498b51bc178a8e65ef29ed12695ff3f62edb6ceb
Parents: 10f8693
Author: Bernd Fondermann <be...@brainlounge.de>
Authored: Mon Jun 3 00:38:58 2013 +0200
Committer: Bernd Fondermann <be...@brainlounge.de>
Committed: Mon Jun 3 00:38:58 2013 +0200

----------------------------------------------------------------------
 .../org/apache/vysper/xml/sax/impl/XMLParser.java  |    2 +-
 .../vysper/xml/sax/impl/ParseTextTestCase.java     |   12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-vysper/blob/498b51bc/nbxml/src/main/java/org/apache/vysper/xml/sax/impl/XMLParser.java
----------------------------------------------------------------------
diff --git a/nbxml/src/main/java/org/apache/vysper/xml/sax/impl/XMLParser.java b/nbxml/src/main/java/org/apache/vysper/xml/sax/impl/XMLParser.java
index 96ca040..6be4bb4 100644
--- a/nbxml/src/main/java/org/apache/vysper/xml/sax/impl/XMLParser.java
+++ b/nbxml/src/main/java/org/apache/vysper/xml/sax/impl/XMLParser.java
@@ -54,7 +54,7 @@ public class XMLParser implements TokenListener {
 
     public static final Pattern NAME_PREFIX_PATTERN = Pattern.compile("^xml", Pattern.CASE_INSENSITIVE);
 
-    public static final Pattern UNESCAPE_UNICODE_PATTERN = Pattern.compile("\\&\\#(x?)(.+);");
+    public static final Pattern UNESCAPE_UNICODE_PATTERN = Pattern.compile("\\&\\#(x?)([0-9a-fA-F]++);");
 
     private ContentHandler contentHandler;
 

http://git-wip-us.apache.org/repos/asf/mina-vysper/blob/498b51bc/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/ParseTextTestCase.java
----------------------------------------------------------------------
diff --git a/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/ParseTextTestCase.java b/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/ParseTextTestCase.java
index 5305a9b..d312828 100644
--- a/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/ParseTextTestCase.java
+++ b/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/ParseTextTestCase.java
@@ -88,6 +88,18 @@ public class ParseTextTestCase extends AbstractAsyncXMLReaderTestCase {
         assertFalse(events.hasNext());
     }
 
+    public void testConsecutiveUnicodeEscape() throws Exception {
+        Iterator<TestEvent> events = parse("<root>&#160;&#160;&#160;&#160;</root>").iterator();
+
+        assertStartDocument(events.next());
+        assertStartElement("", "root", "root", events.next());
+        assertText("\u00A0\u00A0\u00A0\u00A0", events.next());
+        assertEndElement("", "root", "root", events.next());
+        assertEndDocument(events.next());
+
+        assertFalse(events.hasNext());
+    }
+
     public void testTextOnly() throws Exception {
         Iterator<TestEvent> events = parse("text</root>").iterator();