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() );
}
/**