Author: rfscholte Date: Sat Mar 30 19:56:10 2013 New Revision: 1462847 URL: http://svn.apache.org/r1462847 Log: [DOXIA-479] escaped | in table cell renders as encoded unicode escape
Modified: 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/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=1462847&r1=1462846&r2=1462847&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 19:56:10 2013 @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; +import java.util.Arrays; import java.util.Iterator; import org.apache.maven.doxia.parser.AbstractParserTest; @@ -760,10 +761,50 @@ public class AptParserTest assertEquals( "body_", ( it.next() ).getName() ); assertFalse( it.hasNext() ); } + + public void testEscapedPipeInTableCell() throws Exception + { + // DOXIA-479 + String text="*---+---+" + EOL + + "| cell \\| pipe | next cell " + 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( "tableCell", it.next().getName() ); + assertEquals( it.next(), "text", "cell | pipe" ); + assertEquals( "tableCell_", it.next().getName() ); + assertEquals( "tableCell", it.next().getName() ); + assertEquals( it.next(), "text", "next cell" ); + 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() { return "apt"; } + + protected void assertEquals( SinkEventElement element, String name, Object... args ) + { + assertTrue( name.equals( element.getName() ) && Arrays.equals( element.getArgs(), args ) ); + } }