Author: rfscholte
Date: Thu Apr 11 20:37:51 2013
New Revision: 1467079

URL: http://svn.apache.org/r1467079
Log:
Rewrite testFigure: verify ConfluenceParser with SinkEventTestingSink instead 
of ConfluenceSink

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java?rev=1467079&r1=1467078&r2=1467079&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 Thu Apr 11 20:37:51 2013
@@ -245,26 +245,40 @@ public class ConfluenceParserTest
     public void testFigure()
         throws Exception
     {
-        String result = locateAndParseTestSourceFile( "figure" );
+        Reader result = getTestReader( "figure" );
 
-        assertContainsLines( result, "begin:figure\nfigureGraphics, name: 
images/photo.jpg\nend:figure\n" );
-        assertContainsLines( result, "attempted inline !image.jpg! (should 
fail)" );
-        // this isn't ideal... Doxia captions are not the same as what people 
would use to add text to a confluence
-        assertContainsLines( result, "figureGraphics, name: images/photo.jpg\n"
-            + "begin:figureCaption\ntext: With caption on same line\n" + 
"end:figureCaption" );
-        assertContainsLines( result, "figureGraphics, name: 
images/nolinebreak.jpg\n"
-            + "begin:figureCaption\ntext: With caption underneath and no 
linebreak\nend:figureCaption" );
-        // ignore linebreak after figure insert...
-        assertContainsLines( result, "figureGraphics, name: 
images/linebreak.jpg\n"
-            + "begin:figureCaption\ntext: With caption underneath and 
linebreak\nend:figureCaption" );
-        // ignore formtting in caption...
-        assertContainsLines( result, "figureGraphics, name: images/bold.jpg\n"
-            + "begin:figureCaption\ntext: With *bold* caption 
underneath\nend:figureCaption" );
-        // DOXIA-303: image attributes are ignored
-        assertContainsLines( result, "begin:figure\nfigureGraphics, name: 
image.gif\nend:figure\n" );
+        SinkEventTestingSink sink = new SinkEventTestingSink();
 
-        // 2 paragraphs in the input... (the figures do not go in a paragraph 
by analogy with AptParser)
-        assertEquals( 3, result.split( "end:paragraph\n" ).length );
+        parser.parse( result, sink );
+
+        Iterator<SinkEventElement> it = sink.getEventList().iterator();
+
+        assertEquals( it, "head", "head_", "body", "paragraph" );
+        assertEquals( it.next(), "text", "Simple paragraph." );
+        assertEquals( it, "paragraph_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "images/photo.jpg" );
+        assertEquals( it, "figure_", "paragraph" );
+        assertEquals( it.next(), "text", "Simple paragraph with attempted 
inline !image.jpg! (should fail)." );
+        assertEquals( it, "paragraph_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "images/photo.jpg" );
+        assertEquals( it.next().getName(), "figureCaption" ); 
+        assertEquals( it.next(), "text", "With caption on same line" );
+        assertEquals( it, "figureCaption_", "figure_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "images/linebreak.jpg" );
+        assertEquals( it.next().getName(), "figureCaption" );
+        assertEquals( it.next(), "text", "With caption underneath and 
linebreak" );
+        assertEquals( it, "figureCaption_", "figure_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "images/nolinebreak.jpg" );
+        assertEquals( it.next().getName(), "figureCaption" );
+        assertEquals( it.next(), "text", "With caption underneath and no 
linebreak" );
+        assertEquals( it, "figureCaption_", "figure_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "images/bold.jpg" );
+        assertEquals( it.next().getName(), "figureCaption" );
+        assertEquals( it.next(), "text", "With *bold* caption underneath" );
+        assertEquals( it, "figureCaption_", "figure_", "figure" );
+        assertEquals( it.next(), "figureGraphics", "image.gif" );
+        assertEquals( it, "figure_", "body_" );
+        assertFalse( it.hasNext() );
     }
 
     /** @throws Exception */


Reply via email to