You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2008/09/11 04:20:12 UTC

svn commit: r694091 - in /maven/doxia/doxia/trunk: doxia-core/src/main/java/org/apache/maven/doxia/parser/ doxia-core/src/test/java/org/apache/maven/doxia/parser/ doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/doc...

Author: vsiveton
Date: Wed Sep 10 19:20:12 2008
New Revision: 694091

URL: http://svn.apache.org/viewvc?rev=694091&view=rev
Log:
DOXIA-251: The AbstractXmlParser should take care of EOL

o take care or empty text and whitespace

Modified:
    maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java
    maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java

Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java?rev=694091&r1=694090&r2=694091&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java Wed Sep 10 19:20:12 2008
@@ -138,7 +138,10 @@
             }
             else if ( eventType == XmlPullParser.TEXT )
             {
-                handleText( parser, sink );
+                if ( !parser.getText().trim().equals( "" ) )
+                {
+                    handleText( parser, sink );
+                }
             }
             else if ( eventType == XmlPullParser.CDSECT )
             {
@@ -152,6 +155,10 @@
             {
                 handleEntity( parser, sink );
             }
+            else if ( eventType == XmlPullParser.IGNORABLE_WHITESPACE )
+            {
+                // nop
+            }
 
             try
             {

Modified: maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java?rev=694091&r1=694090&r2=694091&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java Wed Sep 10 19:20:12 2008
@@ -148,17 +148,12 @@
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
-        SinkEventElement el = (SinkEventElement) it.next();
-        assertEquals( "text", el.getName() );
-        assertEquals( " ",  (String) el.getArgs()[0] );
-
         assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "paragraph_", ( (SinkEventElement) it.next() ).getName() );
         assertFalse( it.hasNext() );
 
-
         // same test with EOL
         String EOL = System.getProperty( "line.separator" );
         text = "<p><b>word</b>" + EOL + "<i>word</i></p>";
@@ -172,11 +167,6 @@
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
-        el = (SinkEventElement) it.next();
-        assertEquals( "text", el.getName() );
-        // according to section 2.11 of the XML spec, parsers must normalize line breaks to "\n"
-        assertEquals( "\n",  (String) el.getArgs()[0] );
-
         assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
@@ -197,7 +187,7 @@
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
 
-        el = (SinkEventElement) it.next();
+        SinkEventElement el = (SinkEventElement) it.next();
         assertEquals( "text", el.getName() );
         assertEquals( ".",  (String) el.getArgs()[0] );
 

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java?rev=694091&r1=694090&r2=694091&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java Wed Sep 10 19:20:12 2008
@@ -116,17 +116,12 @@
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
-        SinkEventElement el = (SinkEventElement) it.next();
-        assertEquals( "text", el.getName() );
-        assertEquals( " ",  (String) el.getArgs()[0] );
-
         assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "paragraph_", ( (SinkEventElement) it.next() ).getName() );
         assertFalse( it.hasNext() );
 
-
         // same test with EOL
         text = "<para><command>word</command>" + EOL + "<emphasis>word</emphasis></para>";
 
@@ -139,15 +134,10 @@
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
-        el = (SinkEventElement) it.next();
-        assertEquals( "text", el.getName() );
-        assertEquals( EOL,  (String) el.getArgs()[0] );
-
         assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "paragraph_", ( (SinkEventElement) it.next() ).getName() );
         assertFalse( it.hasNext() );
-
     }
 }