package com.intellij.javascript.karma.coverage; import com.intellij.coverage.SimpleCoverageAnnotator; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.File; /** * @author Sergey Simonchik */ public class KarmaCoverageAnnotator extends SimpleCoverageAnnotator { public KarmaCoverageAnnotator(Project project) { super(project); } public static KarmaCoverageAnnotator getInstance(@NotNull Project project) { return ServiceManager.getService(project, KarmaCoverageAnnotator.class); } @Override protected boolean shouldCollectCoverageInsideLibraryDirs() { return false; } @Override @Nullable protected FileCoverageInfo fillInfoForUncoveredFile(@NotNull File file) { return null; } @Override protected String getLinesCoverageInformationString(@NotNull FileCoverageInfo info) { if (info.totalLineCount == 0) { return null; } if (info.coveredLineCount == 0) { return "not covered"; } else { return calcCoveragePercentage(info) + "% lines covered"; } } }