Rewrite testFigure: verify ConfluenceParser with SinkEventTestingSink instead of ConfluenceSink

git-svn-id: https://svn.apache.org/repos/asf/maven/doxia/doxia/trunk@1467079 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java b/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
index 7228471..7a90eed 100644
--- a/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
+++ b/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
@@ -245,26 +245,40 @@
     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 */