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() );
-
}
}