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 2009/08/15 12:36:53 UTC
svn commit: r804450 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src:
main/java/org/apache/maven/doxia/module/fo/FoSink.java
test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
Author: vsiveton
Date: Sat Aug 15 10:36:53 2009
New Revision: 804450
URL: http://svn.apache.org/viewvc?rev=804450&view=rev
Log:
DOXIA-357: NoSuchElementException with a table caption
o handle tableRows_() for table caption
o updated test case
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java?rev=804450&r1=804449&r2=804450&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java Sat Aug 15 10:36:53 2009
@@ -986,6 +986,21 @@
/** {@inheritDoc} */
public void tableRows_()
{
+ String tableCaption = null;
+ if ( tableCaptionXMLWriter != null )
+ {
+ tableCaption = tableCaptionWriter.toString();
+ tableCaptionXMLWriter = null;
+ tableCaptionWriter = null;
+
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.ALIGN, "center" );
+
+ paragraph( atts );
+ write( tableCaption );
+ paragraph_();
+ }
+
this.cellJustif = null;
this.isCellJustif = false;
writeEndTag( TABLE_BODY_TAG );
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java?rev=804450&r1=804449&r2=804450&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java Sat Aug 15 10:36:53 2009
@@ -20,6 +20,8 @@
*/
import java.io.File;
+import java.io.StringReader;
+import java.io.StringWriter;
import java.io.Writer;
import org.apache.maven.doxia.document.DocumentMeta;
@@ -27,6 +29,7 @@
import org.apache.maven.doxia.document.DocumentTOC;
import org.apache.maven.doxia.document.DocumentTOCItem;
+import org.apache.maven.doxia.parser.XhtmlBaseParser;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.AbstractSinkTest;
import org.apache.maven.doxia.sink.SinkTestDocument;
@@ -426,4 +429,31 @@
{
return "<!-- Simple comment with - - - - -->";
}
+
+ /**
+ * DOXIA-357
+ *
+ * @throws Exception if any
+ */
+ public void testTableCaption()
+ throws Exception
+ {
+ StringBuffer html = new StringBuffer();
+ html.append( "<table>" ).append( EOL );
+ html.append( "<caption>caption table</caption>" ).append( EOL );
+ html.append( "<tr>" ).append( EOL );
+ html.append( "<td>foo</td>" ).append( EOL );
+ html.append( "</tr>" ).append( EOL );
+ html.append( "<tr>" ).append( EOL );
+ html.append( "<td>bar</td>" ).append( EOL );
+ html.append( "</tr>" ).append( EOL );
+ html.append( "</table>" ).append( EOL );
+
+ StringWriter sw = new StringWriter();
+ XhtmlBaseParser parser = new XhtmlBaseParser();
+ Sink sink = createSink( sw );
+ parser.parse( new StringReader( html.toString() ), sink );
+ sink.close();
+ assertTrue( true );
+ }
}