]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6253 Publish data for test files
authorJulien HENRY <julien.henry@sonarsource.com>
Tue, 14 Apr 2015 12:35:07 +0000 (14:35 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Tue, 14 Apr 2015 12:36:11 +0000 (14:36 +0200)
sonar-batch/src/main/java/org/sonar/batch/index/BatchResource.java
sonar-batch/src/test/java/org/sonar/batch/report/SourcePublisherTest.java

index 9abeedcab4314d1e6cd32bb890286b6a5861bb3f..5fe13a1c89a7649e4717e759c888474146ef3f5f 100644 (file)
@@ -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() {
index e9b379a58e28c15e0465e03194f0ee1918cca039..42108b08d86f140dc7ff69f20488358b7869554b 100644 (file)
@@ -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);