Browse Source

Bug Report 40021. The noframes option was not working at all.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@421327 13f79535-47bb-0310-9956-ffa450edef68
master
Antoine Levy-Lambert 19 years ago
parent
commit
bf042df7ec
4 changed files with 44 additions and 14 deletions
  1. +11
    -1
      src/etc/testcases/taskdefs/optional/junitreport.xml
  2. +19
    -12
      src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java
  3. +1
    -1
      src/main/org/apache/tools/ant/types/resources/FileResource.java
  4. +13
    -0
      src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java

+ 11
- 1
src/etc/testcases/taskdefs/optional/junitreport.xml View File

@@ -115,6 +115,16 @@
</junitreport>
</target>

<target name="testNoFrames">
<mkdir dir="${outputdir}/html"/>
<junitreport todir="${outputdir}">
<fileset dir="${jrdir}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${outputdir}/html" format="noframes"/>
</junitreport>
</target>

<target name="testWithStyleFromDir">
<mkdir dir="${outputdir}/html"/>
<junitreport todir="${outputdir}">
@@ -126,7 +136,7 @@
format="frames"/>
</junitreport>
</target>
<!-- bug report 40022 -->
<target name="testWithStyleFromDirAndXslImport">
<mkdir dir="${outputdir}/html"/>


+ 19
- 12
src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java View File

@@ -224,12 +224,6 @@ public class AggregateTransformer {

TempFile tempFileTask = new TempFile();
tempFileTask.bindToOwner(task);
String tempFileProperty = getClass().getName() + String.valueOf(counter++);
File tmp = FILE_UTILS.resolveFile(project.getBaseDir(),
project.getProperty("java.io.tmpdir"));
tempFileTask.setDestDir(tmp);
tempFileTask.setProperty(tempFileProperty);
tempFileTask.execute();

XSLTProcess xsltTask = new XSLTProcess();
xsltTask.bindToOwner(task);
@@ -237,8 +231,19 @@ public class AggregateTransformer {
xsltTask.addConfigured(getStylesheet());
// acrobatic cast.
xsltTask.setIn(((XMLResultAggregator) task).getDestinationFile());
File dummyFile = new File(project.getProperty(tempFileProperty));
xsltTask.setOut(dummyFile);
File outputFile = null;
if (format.equals(FRAMES)) {
String tempFileProperty = getClass().getName() + String.valueOf(counter++);
File tmp = FILE_UTILS.resolveFile(project.getBaseDir(),
project.getProperty("java.io.tmpdir"));
tempFileTask.setDestDir(tmp);
tempFileTask.setProperty(tempFileProperty);
tempFileTask.execute();
outputFile = new File(project.getProperty(tempFileProperty));
} else {
outputFile = new File(toDir, "junit-noframes.html");
}
xsltTask.setOut(outputFile);
for (Iterator i = params.iterator(); i.hasNext();) {
XSLTProcess.Param param = (XSLTProcess.Param) i.next();
XSLTProcess.Param newParam = xsltTask.createParam();
@@ -259,10 +264,12 @@ public class AggregateTransformer {
}
final long dt = System.currentTimeMillis() - t0;
task.log("Transform time: " + dt + "ms");
Delete delete = new Delete();
delete.bindToOwner(task);
delete.setFile(dummyFile);
delete.execute();
if (format.equals(FRAMES)) {
Delete delete = new Delete();
delete.bindToOwner(task);
delete.setFile(outputFile);
delete.execute();
}
}

/**


+ 1
- 1
src/main/org/apache/tools/ant/types/resources/FileResource.java View File

@@ -38,7 +38,7 @@ public class FileResource extends Resource implements Touchable {
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
private static final int NULL_FILE
= Resource.getMagicNumber("null file".getBytes());
private File file;
private File baseDir;



+ 13
- 0
src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java View File

@@ -150,6 +150,19 @@ public class JUnitReportTest extends BuildFileTest {
assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0);
}

//Bugzilla Report 40021
public void testNoFrames() throws Exception {
executeTarget("testNoFrames");
File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html");
// tests one the file object
assertTrue("No junit-noframes.html present. Not generated?", reportFile.exists() );
assertTrue("Cant read the report file.", reportFile.canRead() );
assertTrue("File shouldnt be empty.", reportFile.length() > 0 );
// conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report
URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) );
InputStream reportStream = reportUrl.openStream();
assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0);
}
//Bugzilla Report 39708
public void testWithStyleFromDirAndXslImport() throws Exception {
executeTarget("testWithStyleFromDirAndXslImport");


Loading…
Cancel
Save