You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by lt...@apache.org on 2008/07/30 15:27:57 UTC
svn commit: r681011 - in
/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src:
main/java/org/apache/maven/doxia/siterenderer/sink/
test/java/org/apache/maven/doxia/siterenderer/ test/site/xdoc/
Author: ltheussl
Date: Wed Jul 30 06:27:55 2008
New Revision: 681011
URL: http://svn.apache.org/viewvc?rev=681011&view=rev
Log:
Adjustment after DOXIA-245: only construct anchor from name if no section id is given
Modified:
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/attributes.xml
Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java?rev=681011&r1=681010&r2=681011&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java Wed Jul 30 06:27:55 2008
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.swing.text.html.HTML.Attribute;
import javax.swing.text.html.HTML.Tag;
import org.apache.maven.doxia.module.xhtml.XhtmlSink;
@@ -48,6 +49,8 @@
private List authors = new ArrayList();
+ private boolean sectionHasID;
+
private final Writer writer;
/**
@@ -171,6 +174,8 @@
if ( level == SECTION_LEVEL_1 || level == SECTION_LEVEL_2 )
{
setHeadFlag( true );
+
+ sectionHasID = ( attributes != null && attributes.isDefined ( Attribute.ID.toString() ) );
}
else
{
@@ -195,8 +200,17 @@
setHeadFlag( false );
writeStartTag( level == SECTION_LEVEL_1 ? Tag.H2 : Tag.H3 );
- anchor( HtmlTools.encodeId( sectionTitle ) );
- anchor_();
+
+ if ( !sectionHasID )
+ {
+ anchor( HtmlTools.encodeId( sectionTitle ) );
+ anchor_();
+ }
+ else
+ {
+ sectionHasID = false;
+ }
+
text( sectionTitle );
writeEndTag( level == SECTION_LEVEL_1 ? Tag.H2 : Tag.H3 );
}
Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?rev=681011&r1=681010&r2=681011&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Wed Jul 30 06:27:55 2008
@@ -29,6 +29,7 @@
import com.gargoylesoftware.htmlunit.html.HtmlDivision;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlHeader2;
+import com.gargoylesoftware.htmlunit.html.HtmlHeader3;
import com.gargoylesoftware.htmlunit.html.HtmlHeader4;
import com.gargoylesoftware.htmlunit.html.HtmlImage;
import com.gargoylesoftware.htmlunit.html.HtmlListItem;
@@ -977,6 +978,36 @@
assertEquals( "./cdc.txt", a.getAttributeValue( "href" ) );
a = (HtmlAnchor) elementIterator.next();
assertEquals( "/index.html", a.getAttributeValue( "href" ) );
+
+ div = (HtmlDivision) elementIterator.next();
+ assertEquals( "section", div.getAttributeValue( "class" ) );
+ h2 = (HtmlHeader2) elementIterator.next();
+ assertEquals( "Section without id", h2.asText().trim() );
+ a = (HtmlAnchor) elementIterator.next();
+ assertEquals( "Section_without_id", a.getAttributeValue( "name" ) );
+
+ div = (HtmlDivision) elementIterator.next();
+ assertEquals( "section", div.getAttributeValue( "class" ) );
+ HtmlHeader3 h3 = (HtmlHeader3) elementIterator.next();
+ assertEquals( "Subsection without id", h3.asText().trim() );
+ a = (HtmlAnchor) elementIterator.next();
+ assertEquals( "Subsection_without_id", a.getAttributeValue( "name" ) );
+
+ a = (HtmlAnchor) elementIterator.next();
+ assertEquals( "section-id", a.getAttributeValue( "name" ) );
+ div = (HtmlDivision) elementIterator.next();
+ assertEquals( "section", div.getAttributeValue( "class" ) );
+ h2 = (HtmlHeader2) elementIterator.next();
+ assertEquals( "Section with id", h2.asText().trim() );
+
+ a = (HtmlAnchor) elementIterator.next();
+ assertEquals( "subsection-id", a.getAttributeValue( "name" ) );
+ div = (HtmlDivision) elementIterator.next();
+ assertEquals( "section", div.getAttributeValue( "class" ) );
+ h3 = (HtmlHeader3) elementIterator.next();
+ assertEquals( "Subsection with id", h3.asText().trim() );
+
+ assertFalse( elementIterator.hasNext() );
}
/**
Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/attributes.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/attributes.xml?rev=681011&r1=681010&r2=681011&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/attributes.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/attributes.xml Wed Jul 30 06:27:55 2008
@@ -48,5 +48,16 @@
</p>
</section>
+ <!-- DOXIA-245 -->
+ <section name="Section without id">
+ <subsection name="Subsection without id">
+ </subsection>
+ </section>
+
+ <section name="Section with id" id="section-id">
+ <subsection name="Subsection with id" id="subsection-id">
+ </subsection>
+ </section>
+
</body>
</document>