From d1895cd5aac83ffcc3961f51359c6fe473384429 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 2 Feb 2001 17:04:01 +0000 Subject: [PATCH] New task and some improvements of DOMElementWriter Submitted by: Stephane Bailliez git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268562 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 2 +- build.xml | 12 + .../tools/ant/taskdefs/defaults.properties | 1 + .../optional/junit/AggregateTransformer.java | 528 ++++++++++++++++++ .../optional/junit/XMLResultAggregator.java | 310 ++++++++++ .../taskdefs/optional/junit/html/index.html | 21 + .../optional/junit/html/stylesheet.css | 35 ++ .../optional/junit/xsl/all-classes.xsl | 40 ++ .../optional/junit/xsl/all-packages.xsl | 42 ++ .../optional/junit/xsl/class-details.xsl | 37 ++ .../optional/junit/xsl/classes-list.xsl | 46 ++ .../optional/junit/xsl/overview-packages.xsl | 90 +++ .../optional/junit/xsl/overview-summary.xsl | 184 ++++++ .../optional/junit/xsl/package-summary.xsl | 73 +++ .../taskdefs/optional/junit/xsl/toolkit.xsl | 204 +++++++ .../tools/ant/util/DOMElementWriter.java | 30 +- 16 files changed, 1650 insertions(+), 5 deletions(-) create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/html/index.html create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/html/stylesheet.css create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-classes.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl diff --git a/WHATSNEW b/WHATSNEW index d6d89defc..6ffa91b9a 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -22,7 +22,7 @@ Other changes: * A GUI Frontend: Antidote. This is currently in development. * New tasks: stylebook, propertyfile, depend, antlr, telnet, csc, - ilasm, apply, javah, several clearcase tasks + ilasm, apply, javah, several clearcase tasks, junitreport * Added output attribute to . diff --git a/build.xml b/build.xml index 89ac6c475..61385c154 100644 --- a/build.xml +++ b/build.xml @@ -193,6 +193,10 @@ + + @@ -212,6 +216,14 @@ + + + + + + + + + + + + + + + + + + +

Classes

+

+ + + + +
+

+ + +
+ + + + + + + + / + -details.html + + + + + + +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl new file mode 100644 index 000000000..983d53ab7 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + +

Home

+ + +

Packages

+ + +

+ + + + + +
+

+ + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl new file mode 100644 index 000000000..520ddae85 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + stylesheet.css + + + + + yes + + + +

Class .

+

+

TestCase

+ + + + + + +
+

+ + +
+ +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl new file mode 100644 index 000000000..49b0280b5 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl @@ -0,0 +1,46 @@ + + + + + + + + + + + + + stylesheet.css + + + + + + + + +
+

+
+ +

Classes

+

+ + + + +
+

+ + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl new file mode 100644 index 000000000..6b08620a0 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + yes + + + + + + +

Packages

+ + + + + + + + +
+
+
+ + + +

Classes

+ + + + + + + + +
+
+ + +
+ + + + + + Error + + + + + + + + + + + Error + + + + + + + + + + Error + Error + Error + Error + + +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl new file mode 100644 index 000000000..c9e80a329 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + + + + +
+ + + + + + + + +

Packages

+ Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers. + + + + + + + + + + + + + + + + Error + Failure + + + + + + + + + +
+
+ + + + + + + + + + + + +

Package

+ + + + + + +
+ Back to top +

+

+ + + + + + + + + + + + + + + Error + Failure + + + + + + + + + + + + + + + + + +

TestCase

+ + + + + + + +
+ Back to top +
+
+ +
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl new file mode 100644 index 000000000..9cef8f621 --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + stylesheet.css + + + open('classes-list.html','classListFrame') + + yes + + + +

Package

+ + + + + + + + + + + + + +
+ +

Classes

+

+ + + + + + + + +
+

+ + +
+ + + + + + + Error + Failure + + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl new file mode 100644 index 000000000..a52103a3a --- /dev/null +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl @@ -0,0 +1,204 @@ + + + + + + + + + + ../ + + + + + + ../ + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + no + +

Unit Tests Results

+ + + + + +
+ + Designed for use with JUnit and Ant.
+
+
+ + + + Tests + Failures + Errors + Success Rate + Time(s) + + + + + + + Name + Tests + Errors + Failures + Time(s) + + + + + + + Name + Status + Type + Time(s) + + + + + +

Summary

+ + + + + + + + + + + Error + TableRowColor + + + + + + + + +
+ Note: failures are anticipated and checked for with assertions while errors are unanticipated. +
+ + + + + + Error + TableRowColor + + + + + + Failure + + + + Error + + + + Success + + + + + + + + + + + + + + + + + + + + N/A + + + + + + +

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/org/apache/tools/ant/util/DOMElementWriter.java b/src/main/org/apache/tools/ant/util/DOMElementWriter.java index 38ece6a94..cc44790ab 100644 --- a/src/main/org/apache/tools/ant/util/DOMElementWriter.java +++ b/src/main/org/apache/tools/ant/util/DOMElementWriter.java @@ -67,6 +67,7 @@ import org.w3c.dom.*; * * @author The original author of XmlLogger * @author Stefan Bodewig + * @author Stephane Bailliez */ public class DOMElementWriter { @@ -119,18 +120,39 @@ public class DOMElementWriter { for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); - if (child.getNodeType() == Node.ELEMENT_NODE) { + switch (child.getNodeType()) { + + case Node.ELEMENT_NODE: if (!hasChildren) { out.write(lSep); hasChildren = true; } write((Element)child, out, indent + 1, indentWith); - } - - if (child.getNodeType() == Node.TEXT_NODE) { + break; + + case Node.TEXT_NODE: + case Node.CDATA_SECTION_NODE: out.write(""); + break; + + case Node.ENTITY_REFERENCE_NODE: + out.write('&'); + out.write(child.getNodeName()); + out.write(';'); + break; + + case Node.PROCESSING_INSTRUCTION_NODE: + out.write(" 0 ) { + out.write(' '); + out.write(data); + } + out.write("?>"); + break; } }