From: Julien HENRY Date: Tue, 14 Apr 2015 12:35:07 +0000 (+0200) Subject: SONAR-6253 Publish data for test files X-Git-Tag: 5.2-RC1~2280 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d3dabdf2d3a0cee75abd0559b4a3147938cc5f0c;p=sonarqube.git SONAR-6253 Publish data for test files --- diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/BatchResource.java b/sonar-batch/src/main/java/org/sonar/batch/index/BatchResource.java index 9abeedcab43..5fe13a1c89a 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/BatchResource.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/BatchResource.java @@ -19,6 +19,7 @@ */ package org.sonar.batch.index; +import org.apache.commons.lang.StringUtils; import org.sonar.api.batch.fs.InputPath; import org.sonar.api.database.model.Snapshot; import org.sonar.api.resources.Qualifiers; @@ -87,7 +88,7 @@ public class BatchResource { } public boolean isFile() { - return Qualifiers.isFile(r); + return Qualifiers.isFile(r) || StringUtils.equals(Qualifiers.UNIT_TEST_FILE, r.getQualifier()); } public boolean isDir() { diff --git a/sonar-batch/src/test/java/org/sonar/batch/report/SourcePublisherTest.java b/sonar-batch/src/test/java/org/sonar/batch/report/SourcePublisherTest.java index e9b379a58e2..42108b08d86 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/report/SourcePublisherTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/report/SourcePublisherTest.java @@ -28,6 +28,7 @@ import org.junit.rules.TemporaryFolder; import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.database.model.Snapshot; import org.sonar.api.resources.Project; +import org.sonar.api.resources.Qualifiers; import org.sonar.batch.index.ResourceCache; import org.sonar.batch.protocol.output.BatchReportWriter; @@ -48,11 +49,14 @@ public class SourcePublisherTest { private BatchReportWriter writer; + private org.sonar.api.resources.File sampleFile; + @Before public void prepare() throws IOException { Project p = new Project("foo").setAnalysisDate(new Date(1234567L)); ResourceCache resourceCache = new ResourceCache(); - org.sonar.api.resources.Resource sampleFile = org.sonar.api.resources.File.create("src/Foo.php").setEffectiveKey("foo:src/Foo.php"); + sampleFile = org.sonar.api.resources.File.create("src/Foo.php"); + sampleFile.setEffectiveKey("foo:src/Foo.php"); resourceCache.add(p, null).setSnapshot(new Snapshot().setId(2)); File baseDir = temp.newFolder(); sourceFile = new File(baseDir, "src/Foo.php"); @@ -82,6 +86,17 @@ public class SourcePublisherTest { assertThat(FileUtils.readFileToString(out, Charsets.UTF_8)).isEqualTo("1\n2\n3\n4\n"); } + @Test + public void publishTestSource() throws Exception { + FileUtils.write(sourceFile, "1\n2\n3\n4\n", Charsets.ISO_8859_1); + sampleFile.setQualifier(Qualifiers.UNIT_TEST_FILE); + + publisher.publish(writer); + + File out = writer.getSourceFile(2); + assertThat(FileUtils.readFileToString(out, Charsets.UTF_8)).isEqualTo("1\n2\n3\n4\n"); + } + @Test public void publishSourceWithLastLineNotEmpty() throws Exception { FileUtils.write(sourceFile, "1\n2\n3\n4\n5", Charsets.ISO_8859_1);