Author: rfscholte Date: Sat Mar 30 18:51:02 2013 New Revision: 1462841 URL: http://svn.apache.org/r1462841 Log: [DOXIA-404] Problems using table headers in APT documents
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=1462841&r1=1462840&r2=1462841&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java Sat Mar 30 18:51:02 2013 @@ -2652,6 +2652,8 @@ public class AptParser if ( headers[i] ) { AptParser.this.sink.tableHeaderCell_(); + // DOXIA-404: reset header for next row + headers[i] = false; } else { Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java?rev=1462841&r1=1462840&r2=1462841&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java Sat Mar 30 18:51:02 2013 @@ -700,6 +700,66 @@ public class AptParserTest assertFalse( it.hasNext() ); } + + /** + * @throws Exception + */ + public void testTableHeaders() throws Exception + { + // DOXIA-404 + String text = "*-----------+-----------+" + EOL + + "|| Header 1 || Header 2 |" + EOL + + "*-----------+-----------+" + EOL + + " Cell 1 | Cell 2 |" + EOL + + "*-----------+-----------+" + EOL + + " Cell 3 | Cell 4 |" + EOL + + "*-----------+-----------+" + EOL; + + SinkEventTestingSink sink = new SinkEventTestingSink(); + + parser.parse( text, sink ); + + Iterator<SinkEventElement> it = sink.getEventList().iterator(); + assertEquals( "head", it.next().getName() ); + assertEquals( "head_", it.next().getName() ); + assertEquals( "body", it.next().getName() ); + + assertEquals( "table", it.next().getName() ); + assertEquals( "tableRows", it.next().getName() ); + + assertEquals( "tableRow", it.next().getName() ); + assertEquals( "tableHeaderCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableHeaderCell_", it.next().getName() ); + assertEquals( "tableHeaderCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableHeaderCell_", it.next().getName() ); + assertEquals( "tableRow_", it.next().getName() ); + + assertEquals( "tableRow", it.next().getName() ); + assertEquals( "tableCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableCell_", it.next().getName() ); + assertEquals( "tableCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableCell_", it.next().getName() ); + assertEquals( "tableRow_", it.next().getName() ); + + assertEquals( "tableRow", it.next().getName() ); + assertEquals( "tableCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableCell_", it.next().getName() ); + assertEquals( "tableCell", it.next().getName() ); + assertEquals( "text", it.next().getName() ); + assertEquals( "tableCell_", it.next().getName() ); + assertEquals( "tableRow_", it.next().getName() ); + + assertEquals( "tableRows_", it.next().getName() ); + assertEquals( "table_", it.next().getName() ); + + assertEquals( "body_", ( it.next() ).getName() ); + assertFalse( it.hasNext() ); + } /** {@inheritDoc} */ protected String outputExtension()