Author: ltheussl
Date: Wed Oct 12 09:02:17 2011
New Revision: 1182273

URL: http://svn.apache.org/viewvc?rev=1182273&view=rev
Log:
[DOXIA-446] fix source attributes

Modified:
    
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
    
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
    
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
    
maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java?rev=1182273&r1=1182272&r2=1182273&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
 Wed Oct 12 09:02:17 2011
@@ -27,6 +27,7 @@ import com.gargoylesoftware.htmlunit.htm
 import com.gargoylesoftware.htmlunit.html.HtmlImage;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlParagraph;
+import com.gargoylesoftware.htmlunit.html.HtmlPreformattedText;
 import com.gargoylesoftware.htmlunit.html.HtmlTable;
 import com.gargoylesoftware.htmlunit.html.HtmlTableDataCell;
 import com.gargoylesoftware.htmlunit.html.HtmlTableHeaderCell;
@@ -37,7 +38,7 @@ import java.util.Iterator;
 
 
 /**
- * 
+ *
  *
  * @author ltheussl
  * @version $Id$
@@ -176,6 +177,17 @@ public class AttributesVerifier
         assertEquals( "/index.html", a.getAttributeValue( "href" ) );
 
         div = (HtmlDivision) elementIterator.next();
+        assertEquals( "source", div.getAttributeValue( "class" ) );
+        HtmlPreformattedText pre = (HtmlPreformattedText) 
elementIterator.next();
+        assertEquals( "pretty", pre.getAttributeValue( "class" ) );
+
+        div = (HtmlDivision) elementIterator.next();
+        assertEquals( "source", div.getAttributeValue( "class" ) );
+        assertEquals( "", div.getAttributeValue( "id" ) );
+        pre = (HtmlPreformattedText) elementIterator.next();
+        assertEquals( "pretty", pre.getAttributeValue( "id" ) );
+
+        div = (HtmlDivision) elementIterator.next();
         assertEquals( "section", div.getAttributeValue( "class" ) );
         h2 = (HtmlHeader2) elementIterator.next();
         assertEquals( "Section without id", h2.asText().trim() );

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml?rev=1182273&r1=1182272&r2=1182273&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
 Wed Oct 12 09:02:17 2011
@@ -65,6 +65,11 @@
         Link to <a href="./cdc.txt">other document</a>.
         Link to <a href="/index.html">root document</a>.
       </p>
+
+      <!-- DOXIA-446 -->
+      <source class="pretty">some source</source>
+      <source id="pretty">some source</source>
+
     </section>
 
     <!-- DOXIA-245 -->

Modified: 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java?rev=1182273&r1=1182272&r2=1182273&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
 Wed Oct 12 09:02:17 2011
@@ -1066,26 +1066,16 @@ public class XhtmlBaseSink
                 "boxed".equals( atts.getAttribute( 
SinkEventAttributes.DECORATION ).toString() );
         }
 
+        SinkEventAttributes divAtts = null;
+
         if ( boxed )
         {
-            atts.addAttribute( Attribute.CLASS, "source" );
+            divAtts = new SinkEventAttributeSet( new String[] { 
Attribute.CLASS.toString(), "source" } );
         }
 
         atts.removeAttribute( SinkEventAttributes.DECORATION );
 
-        String width = (String) atts.getAttribute( Attribute.WIDTH.toString() 
);
-        atts.removeAttribute( Attribute.WIDTH.toString() );
-
-        writeStartTag( HtmlMarkup.DIV, atts );
-
-        if ( width != null )
-        {
-            atts.addAttribute( Attribute.WIDTH.toString(), width );
-        }
-
-        atts.removeAttribute( Attribute.ALIGN.toString() );
-        atts.removeAttribute( Attribute.CLASS.toString() );
-
+        writeStartTag( HtmlMarkup.DIV, divAtts );
         writeStartTag( HtmlMarkup.PRE, atts );
     }
 

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=1182273&r1=1182272&r2=1182273&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
 Wed Oct 12 09:02:17 2011
@@ -22,6 +22,7 @@ package org.apache.maven.doxia.sink;
 import java.io.StringWriter;
 import java.io.Writer;
 
+import javax.swing.text.html.HTML.Attribute;
 import org.codehaus.plexus.PlexusTestCase;
 
 /**
@@ -34,8 +35,7 @@ import org.codehaus.plexus.PlexusTestCas
 public class XhtmlBaseSinkTest
     extends PlexusTestCase
 {
-    private final SinkEventAttributes attributes =
-            new SinkEventAttributeSet( new String[] 
{SinkEventAttributes.STYLE, "bold"} );
+    private final SinkEventAttributes attributes = SinkEventAttributeSet.BOLD;
     private XhtmlBaseSink sink;
     private Writer writer;
 
@@ -553,13 +553,32 @@ public class XhtmlBaseSinkTest
 
         assertEquals( "<div class=\"source\"><pre></pre></div>", 
writer.toString() );
 
+        checkVerbatimAttributes( attributes, "<div><pre 
style=\"bold\"></pre></div>" );
+
+        final SinkEventAttributes att =
+            new SinkEventAttributeSet( new String[] {SinkEventAttributes.ID, 
"id"} );
+        checkVerbatimAttributes( att, "<div><pre id=\"id\"></pre></div>" );
+
+        att.addAttribute( Attribute.CLASS, "class" );
+        checkVerbatimAttributes( att, "<div><pre id=\"id\" 
class=\"class\"></pre></div>" );
+
+        att.addAttribute( SinkEventAttributes.DECORATION, "boxed" );
+        checkVerbatimAttributes( att, "<div class=\"source\"><pre id=\"id\" 
class=\"class\"></pre></div>" );
+
+        att.removeAttribute( Attribute.CLASS.toString() );
+        checkVerbatimAttributes( att, "<div class=\"source\"><pre 
id=\"id\"></pre></div>" );
+    }
+
+    private void checkVerbatimAttributes( final SinkEventAttributes att, final 
String expected )
+    {
+
         writer =  new StringWriter();
 
         try
         {
             sink = new XhtmlBaseSink( writer );
 
-            sink.verbatim( attributes );
+            sink.verbatim( att );
             sink.verbatim_();
         }
         finally
@@ -567,7 +586,7 @@ public class XhtmlBaseSinkTest
             sink.close();
         }
 
-        assertEquals( "<div style=\"bold\"><pre style=\"bold\"></pre></div>", 
writer.toString() );
+        assertEquals( expected, writer.toString() );
     }
 
     /**


Reply via email to