You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2012/11/18 17:35:02 UTC

svn commit: r1410919 - in /maven/doxia/doxia/trunk: doxia-core/src/main/java/org/apache/maven/doxia/sink/ doxia-core/src/test/java/org/apache/maven/doxia/module/ doxia-core/src/test/java/org/apache/maven/doxia/sink/ doxia-modules/doxia-module-xdoc/src/...

Author: hboutemy
Date: Sun Nov 18 16:34:59 2012
New Revision: 1410919

URL: http://svn.apache.org/viewvc?rev=1410919&view=rev
Log:
[DOXIA-405] avoid generating xhtml entire document on a single line: adding newline on every division block will improve legibility (without adding too much size to the output)

Modified:
    maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
    maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java
    maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocIdentityTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java

Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java Sun Nov 18 16:34:59 2012
@@ -38,6 +38,15 @@ public abstract class AbstractXmlSink
     /** Default namespace prepended to all tags */
     private String nameSpace;
 
+    private boolean firstTag  = true;
+
+    private boolean insertNewline = true;
+
+    public void setInsertNewline( boolean insertNewline )
+    {
+        this.insertNewline = insertNewline;
+    }
+
     /**
      * Sets the default namespace that is prepended to all tags written by this sink.
      *
@@ -107,6 +116,13 @@ public abstract class AbstractXmlSink
         }
 
         StringBuilder sb = new StringBuilder();
+
+        if ( insertNewline && t.isBlock() && !firstTag )
+        {
+            sb.append( EOL );
+        }
+        firstTag = false;
+
         sb.append( LESS_THAN );
 
         if ( nameSpace != null )

Modified: maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/module/AbstractIdentityTest.java Sun Nov 18 16:34:59 2012
@@ -136,7 +136,7 @@ public abstract class AbstractIdentityTe
 
     /**
      * The output files generated by this class are text files,
-     * independend of the kind of module being tested.
+     * independent of the kind of module being tested.
      *
      * @return The String "txt".
      */

Modified: maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java Sun Nov 18 16:34:59 2012
@@ -208,7 +208,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\" style=\"bold\"><h2 style=\"bold\"></h2></div>", writer.toString() );
+        assertEquals( "<div class=\"section\" style=\"bold\">\n<h2 style=\"bold\"></h2></div>", writer.toString() );
     }
 
     /**
@@ -234,7 +234,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"foo\" id=\"bar\"><h2></h2></div>", writer.toString() );
+        assertEquals( "<div class=\"foo\" id=\"bar\">\n<h2></h2></div>", writer.toString() );
     }
 
     /**
@@ -257,7 +257,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h2></h2></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h2></h2></div>", writer.toString() );
     }
 
     /**
@@ -280,7 +280,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h3></h3></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h3></h3></div>", writer.toString() );
     }
 
     /**
@@ -303,7 +303,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h4></h4></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h4></h4></div>", writer.toString() );
     }
 
     /**
@@ -325,7 +325,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h5></h5></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h5></h5></div>", writer.toString() );
     }
 
     /**
@@ -347,7 +347,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h6></h6></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h6></h6></div>", writer.toString() );
     }
 
     /**
@@ -371,7 +371,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<ul><li></li></ul>", writer.toString() );
+        assertEquals( "<ul>\n<li></li></ul>", writer.toString() );
 
         writer =  new StringWriter();
 
@@ -389,7 +389,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<ul style=\"bold\"><li style=\"bold\"></li></ul>", writer.toString() );
+        assertEquals( "<ul style=\"bold\">\n<li style=\"bold\"></li></ul>", writer.toString() );
     }
 
     /**
@@ -413,7 +413,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<ol style=\"list-style-type: decimal\"><li></li></ol>", writer.toString() );
+        assertEquals( "<ol style=\"list-style-type: decimal\">\n<li></li></ol>", writer.toString() );
 
         writer =  new StringWriter();
 
@@ -431,7 +431,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<ol style=\"list-style-type: decimal\"><li style=\"bold\"></li></ol>", writer.toString() );
+        assertEquals( "<ol style=\"list-style-type: decimal\">\n<li style=\"bold\"></li></ol>", writer.toString() );
     }
 
     /**
@@ -455,7 +455,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<dl><dt></dt><dd></dd></dl>", writer.toString() );
+        assertEquals( "<dl>\n<dt></dt>\n<dd></dd></dl>", writer.toString() );
 
         writer =  new StringWriter();
 
@@ -475,7 +475,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<dl style=\"bold\"><dt style=\"bold\"></dt><dd style=\"bold\"></dd></dl>", writer.toString() );
+        assertEquals( "<dl style=\"bold\">\n<dt style=\"bold\"></dt>\n<dd style=\"bold\"></dd></dl>", writer.toString() );
     }
 
     /**
@@ -501,8 +501,8 @@ public class XhtmlBaseSinkTest
         }
 
         assertEquals( "<div style=\"bold\" class=\"figure\">"
-                + "<p align=\"center\"><img src=\"src.jpg\" style=\"bold\" alt=\"\" /></p>"
-                + "<p align=\"center\" style=\"bold\"><i></i></p></div>", writer.toString() );
+                + "\n<p align=\"center\"><img src=\"src.jpg\" style=\"bold\" alt=\"\" /></p>"
+                + "\n<p align=\"center\" style=\"bold\"><i></i></p></div>", writer.toString() );
     }
 
     /**
@@ -578,22 +578,22 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"source\"><pre></pre></div>", writer.toString() );
+        assertEquals( "<div class=\"source\">\n<pre></pre></div>", writer.toString() );
 
-        checkVerbatimAttributes( attributes, "<div><pre style=\"bold\"></pre></div>" );
+        checkVerbatimAttributes( attributes, "<div>\n<pre style=\"bold\"></pre></div>" );
 
         final SinkEventAttributes att =
             new SinkEventAttributeSet( new String[] {SinkEventAttributes.ID, "id"} );
-        checkVerbatimAttributes( att, "<div><pre id=\"id\"></pre></div>" );
+        checkVerbatimAttributes( att, "<div>\n<pre id=\"id\"></pre></div>" );
 
         att.addAttribute( Attribute.CLASS, "class" );
-        checkVerbatimAttributes( att, "<div><pre id=\"id\" class=\"class\"></pre></div>" );
+        checkVerbatimAttributes( att, "<div>\n<pre id=\"id\" class=\"class\"></pre></div>" );
 
         att.addAttribute( SinkEventAttributes.DECORATION, "boxed" );
-        checkVerbatimAttributes( att, "<div class=\"source\"><pre id=\"id\" class=\"class\"></pre></div>" );
+        checkVerbatimAttributes( att, "<div class=\"source\">\n<pre id=\"id\" class=\"class\"></pre></div>" );
 
         att.removeAttribute( Attribute.CLASS.toString() );
-        checkVerbatimAttributes( att, "<div class=\"source\"><pre id=\"id\"></pre></div>" );
+        checkVerbatimAttributes( att, "<div class=\"source\">\n<pre id=\"id\"></pre></div>" );
     }
 
     private void checkVerbatimAttributes( final SinkEventAttributes att, final String expected )

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocIdentityTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocIdentityTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocIdentityTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocIdentityTest.java Sun Nov 18 16:34:59 2012
@@ -44,7 +44,9 @@ public class XdocIdentityTest
     /** {@inheritDoc} */
     protected Sink createSink( Writer writer )
     {
-        return new XdocSink( writer );
+        XdocSink sink = new XdocSink( writer );
+        sink.setInsertNewline( false );
+        return sink;
     }
 
     /** {@inheritDoc} */

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java Sun Nov 18 16:34:59 2012
@@ -126,19 +126,19 @@ public class XdocSinkTest
     /** {@inheritDoc} */
     protected String getListBlock( String item )
     {
-        return "<ul><li>" + item + "</li></ul>";
+        return "<ul>\n<li>" + item + "</li></ul>";
     }
 
     /** {@inheritDoc} */
     protected String getNumberedListBlock( String item )
     {
-        return "<ol style=\"list-style-type: lower-roman\"><li>" + item + "</li></ol>";
+        return "<ol style=\"list-style-type: lower-roman\">\n<li>" + item + "</li></ol>";
     }
 
     /** {@inheritDoc} */
     protected String getDefinitionListBlock( String definum, String definition )
     {
-        return "<dl><dt>" + definum + "</dt><dd>" + definition + "</dd></dl>";
+        return "<dl>\n<dt>" + definum + "</dt>\n<dd>" + definition + "</dd></dl>";
     }
 
     /** {@inheritDoc} */
@@ -151,7 +151,7 @@ public class XdocSinkTest
     protected String getTableBlock( String cell, String caption )
     {
         return "<table border=\"0\"><caption>" + caption
-                + "</caption><tr valign=\"top\"><td>" + cell + "</td></tr></table>";
+                + "</caption>\n<tr valign=\"top\">\n<td>" + cell + "</td></tr></table>";
     }
 
     /** {@inheritDoc} */
@@ -257,7 +257,7 @@ public class XdocSinkTest
             sink.close();
         }
 
-        assertEquals( "<pre></pre><source></source><pre width=\"20%\"></pre>", writer.toString() );
+        assertEquals( "<pre></pre><source></source>\n<pre width=\"20%\"></pre>", writer.toString() );
     }
 
     /**

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java Sun Nov 18 16:34:59 2012
@@ -44,7 +44,9 @@ public class XhtmlIdentityTest
     /** {@inheritDoc} */
     protected Sink createSink( Writer writer )
     {
-        return new XhtmlSink( writer );
+        XhtmlSink sink = new XhtmlSink( writer );
+        sink.setInsertNewline( false );
+        return sink;
     }
 
     /** {@inheritDoc} */

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java?rev=1410919&r1=1410918&r2=1410919&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java Sun Nov 18 16:34:59 2012
@@ -112,7 +112,7 @@ public class XhtmlSinkTest
     protected String getHeadBlock()
     {
         return "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" +
-                "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title></title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/></head>";
+                "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title></title>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/></head>";
     }
 
     /** {@inheritDoc} */
@@ -130,49 +130,49 @@ public class XhtmlSinkTest
     /** {@inheritDoc} */
     protected String getSection1Block( String title )
     {
-        return "<div class=\"section\"><h2>" + title + "</h2></div>";
+        return "<div class=\"section\">\n<h2>" + title + "</h2></div>";
     }
 
     /** {@inheritDoc} */
     protected String getSection2Block( String title )
     {
-        return "<div class=\"section\"><h3>" + title + "</h3></div>";
+        return "<div class=\"section\">\n<h3>" + title + "</h3></div>";
     }
 
     /** {@inheritDoc} */
     protected String getSection3Block( String title )
     {
-        return "<div class=\"section\"><h4>" + title + "</h4></div>";
+        return "<div class=\"section\">\n<h4>" + title + "</h4></div>";
     }
 
     /** {@inheritDoc} */
     protected String getSection4Block( String title )
     {
-        return "<div class=\"section\"><h5>" + title + "</h5></div>";
+        return "<div class=\"section\">\n<h5>" + title + "</h5></div>";
     }
 
     /** {@inheritDoc} */
     protected String getSection5Block( String title )
     {
-        return "<div class=\"section\"><h6>" + title + "</h6></div>";
+        return "<div class=\"section\">\n<h6>" + title + "</h6></div>";
     }
 
     /** {@inheritDoc} */
     protected String getListBlock( String item )
     {
-        return "<ul><li>" + item + "</li></ul>";
+        return "<ul>\n<li>" + item + "</li></ul>";
     }
 
     /** {@inheritDoc} */
     protected String getNumberedListBlock( String item )
     {
-        return "<ol style=\"list-style-type: lower-roman\"><li>" + item + "</li></ol>";
+        return "<ol style=\"list-style-type: lower-roman\">\n<li>" + item + "</li></ol>";
     }
 
     /** {@inheritDoc} */
     protected String getDefinitionListBlock( String definum, String definition )
     {
-        return "<dl><dt>" + definum + "</dt><dd>" + definition + "</dd></dl>";
+        return "<dl>\n<dt>" + definum + "</dt>\n<dd>" + definition + "</dd></dl>";
     }
 
     /** {@inheritDoc} */
@@ -185,7 +185,7 @@ public class XhtmlSinkTest
     protected String getTableBlock( String cell, String caption )
     {
         return "<table border=\"0\" class=\"bodyTable\">"
-            + "<caption>Table caption</caption><tr class=\"a\"><td>cell</td></tr>"
+            + "<caption>Table caption</caption><tr class=\"a\">\n<td>cell</td></tr>"
             + "</table>";
     }
 
@@ -206,7 +206,7 @@ public class XhtmlSinkTest
     /** {@inheritDoc} */
     protected String getVerbatimBlock( String text )
     {
-        return "<div class=\"source\"><pre>" + text + "</pre></div>";
+        return "<div class=\"source\">\n<pre>" + text + "</pre></div>";
     }
 
     /** {@inheritDoc} */
@@ -301,7 +301,7 @@ public class XhtmlSinkTest
             sink.close();
         }
 
-        assertEquals( "<div class=\"section\"><h2>&amp;</h2><p>&amp;</p></div>", writer.toString() );
+        assertEquals( "<div class=\"section\">\n<h2>&amp;</h2>\n<p>&amp;</p></div>", writer.toString() );
     }
 
     /**
@@ -335,7 +335,7 @@ public class XhtmlSinkTest
         }
 
         String expected =
-            "<head><title>Title</title><!-- A comment --><meta name=\"author\" content=\"&#x123;&amp;\" />"
+            "<head>\n<title>Title</title><!-- A comment --><meta name=\"author\" content=\"&#x123;&amp;\" />"
                 + "<base href=\"http://maven.apache.org/\" /></head>";
         String actual = writer.toString();
         assertTrue( actual, actual.indexOf( expected ) != -1 );