You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by lt...@apache.org on 2011/03/03 12:36:07 UTC
svn commit: r1076592 - in
/maven/surefire/trunk/maven-surefire-report-plugin: pom.xml
src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java
Author: ltheussl
Date: Thu Mar 3 11:36:07 2011
New Revision: 1076592
URL: http://svn.apache.org/viewvc?rev=1076592&view=rev
Log:
[SUREFIRE-566] upgrade to doxia 1.1
Modified:
maven/surefire/trunk/maven-surefire-report-plugin/pom.xml
maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java
Modified: maven/surefire/trunk/maven-surefire-report-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-report-plugin/pom.xml?rev=1076592&r1=1076591&r2=1076592&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-report-plugin/pom.xml (original)
+++ maven/surefire/trunk/maven-surefire-report-plugin/pom.xml Thu Mar 3 11:36:07 2011
@@ -54,7 +54,7 @@
</distributionManagement>
<properties>
- <doxiaVersion>1.0</doxiaVersion>
+ <doxiaVersion>1.1.4</doxiaVersion>
</properties>
<dependencies>
@@ -81,7 +81,7 @@
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
- <version>2.0.5</version>
+ <version>2.1</version>
</dependency>
<!-- doxia -->
@@ -92,6 +92,11 @@
</dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-core</artifactId>
+ <version>${doxiaVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-decoration-model</artifactId>
<version>${doxiaVersion}</version>
</dependency>
Modified: maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java?rev=1076592&r1=1076591&r2=1076592&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java (original)
+++ maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java Thu Mar 3 11:36:07 2011
@@ -19,7 +19,10 @@ package org.apache.maven.plugins.surefir
* under the License.
*/
+import org.apache.maven.doxia.markup.HtmlMarkup;
import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkEventAttributeSet;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.reporting.MavenReportException;
import java.text.NumberFormat;
@@ -64,30 +67,16 @@ public class SurefireReportGenerator
sink.text( bundle.getString( "report.surefire.header" ) );
sink.title_();
- StringBuffer str = new StringBuffer();
- str.append( "<script type=\"text/javascript\">\n" );
- str.append( "function toggleDisplay(elementId) {\n" );
- str.append( " var elm = document.getElementById(elementId + 'error');\n" );
- str.append( " if (elm && typeof elm.style != \"undefined\") {\n" );
- str.append( " if (elm.style.display == \"none\") {\n" );
- str.append( " elm.style.display = \"\";\n" );
- str.append( " document.getElementById(elementId + 'off').style.display = \"none\";\n" );
- str.append( " document.getElementById(elementId + 'on').style.display = \"inline\";\n" );
- str.append( " }" );
- str.append( " else if (elm.style.display == \"\") {" );
- str.append( " elm.style.display = \"none\";\n" );
- str.append( " document.getElementById(elementId + 'off').style.display = \"inline\";\n" );
- str.append( " document.getElementById(elementId + 'on').style.display = \"none\";\n" );
- str.append( " } \n" );
- str.append( " } \n" );
- str.append( " }\n" );
- str.append( "</script>" );
- sink.rawText( str.toString() );
-
sink.head_();
sink.body();
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.TYPE, "text/javascript" );
+ sink.unknown( "script", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
+ sink.unknown( "cdata", new Object[]{new Integer( HtmlMarkup.CDATA_TYPE ), javascriptToggleDisplayCode() }, null );
+ sink.unknown( "script", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
+
sink.section1();
sink.sectionTitle1();
sink.text( bundle.getString( "report.surefire.header" ) );
@@ -174,7 +163,7 @@ public class SurefireReportGenerator
sink.lineBreak();
sink.paragraph();
- sink.rawText( bundle.getString( "report.surefire.text.note1" ) );
+ sink.text( bundle.getString( "report.surefire.text.note1" ) );
sink.paragraph_();
sinkLineBreak( sink );
@@ -251,7 +240,7 @@ public class SurefireReportGenerator
sink.lineBreak();
sink.paragraph();
- sink.rawText( bundle.getString( "report.surefire.text.note2" ) );
+ sink.text( bundle.getString( "report.surefire.text.note2" ) );
sink.paragraph_();
packIter = suitePackages.keySet().iterator();
@@ -425,17 +414,31 @@ public class SurefireReportGenerator
sinkLink( sink, testCase.getName(), "#" + testCase.getFullName() );
- sink.rawText( " <div class=\"detailToggle\" style=\"display:inline\">" );
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.CLASS, "detailToggle" );
+ atts.addAttribute( SinkEventAttributes.STYLE, "display:inline" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
sink.link( "javascript:toggleDisplay('" + toHtmlId( testCase.getFullName() ) + "');" );
- sink.rawText( "<span style=\"display: inline;\" " + "id=\"" + toHtmlId( testCase.getFullName() )
- + "off\">+</span><span id=\"" + toHtmlId( testCase.getFullName() ) + "on\" "
- + "style=\"display: none;\">-</span> " );
+ atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.STYLE, "display:inline;" );
+ atts.addAttribute( SinkEventAttributes.ID, toHtmlId( testCase.getFullName() ) + "off" );
+ sink.unknown( "span", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
+ sink.text( " + " );
+ sink.unknown( "span", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
+
+ atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.STYLE, "display:none;" );
+ atts.addAttribute( SinkEventAttributes.ID, toHtmlId( testCase.getFullName() ) + "on" );
+ sink.unknown( "span", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
+ sink.text( " - " );
+ sink.unknown( "span", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
+
sink.text( "[ Detail ]" );
sink.link_();
- sink.rawText( "</div>" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
sink.tableCell_();
}
@@ -465,12 +468,14 @@ public class SurefireReportGenerator
sinkCell( sink, "" );
sink.tableCell();
- sink.rawText(
- " <div id=\"" + toHtmlId( testCase.getFullName() ) + "error\" style=\"display:none;\">" );
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.ID, toHtmlId( testCase.getFullName() ) + "error" );
+ atts.addAttribute( SinkEventAttributes.STYLE, "display:none;" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
Iterator it = detail.iterator();
- sink.verbatim( true );
+ sink.verbatim( null );
while ( it.hasNext() )
{
sink.text( it.next().toString() );
@@ -478,7 +483,7 @@ public class SurefireReportGenerator
}
sink.verbatim_();
- sink.rawText( "</div>" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
sink.tableCell_();
sinkCell( sink, "" );
@@ -587,7 +592,9 @@ public class SurefireReportGenerator
sinkCell( sink, "" );
sink.tableCell();
- sink.rawText( " <div id=\"" + tCase.getName() + "error\" >" );
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ atts.addAttribute( SinkEventAttributes.ID, tCase.getName() + "error" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_START )}, atts );
if ( xrefLocation != null )
{
@@ -603,7 +610,7 @@ public class SurefireReportGenerator
{
sink.link_();
}
- sink.rawText( "</div>" );
+ sink.unknown( "div", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
sink.tableCell_();
@@ -726,4 +733,31 @@ public class SurefireReportGenerator
sink.anchor( anchor );
sink.anchor_();
}
+
+ private static String javascriptToggleDisplayCode()
+ {
+ final StringBuffer str = new StringBuffer( 64 );
+
+ // the javascript code is emitted within a commented CDATA section
+ // so we have to start with a newline and comment the CDATA closing in the end
+ str.append( "\n" );
+ str.append( "function toggleDisplay(elementId) {\n" );
+ str.append( " var elm = document.getElementById(elementId + 'error');\n" );
+ str.append( " if (elm && typeof elm.style != \"undefined\") {\n" );
+ str.append( " if (elm.style.display == \"none\") {\n" );
+ str.append( " elm.style.display = \"\";\n" );
+ str.append( " document.getElementById(elementId + 'off').style.display = \"none\";\n" );
+ str.append( " document.getElementById(elementId + 'on').style.display = \"inline\";\n" );
+ str.append( " }" );
+ str.append( " else if (elm.style.display == \"\") {" );
+ str.append( " elm.style.display = \"none\";\n" );
+ str.append( " document.getElementById(elementId + 'off').style.display = \"inline\";\n" );
+ str.append( " document.getElementById(elementId + 'on').style.display = \"none\";\n" );
+ str.append( " } \n" );
+ str.append( " } \n" );
+ str.append( " }\n" );
+ str.append( "//" );
+
+ return str.toString();
+ }
}