All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mockit.coverage.reporting.lineCoverage.LineCoverageFormatter Maven / Gradle / Ivy

Go to download

JMockit is a Java toolkit for automated developer testing. It contains APIs for the creation of the objects to be tested, for mocking dependencies, and for faking external APIs; JUnit (4 & 5) and TestNG test runners are supported. It also contains an advanced code coverage tool.

There is a newer version: 1.49
Show newest version
/*
 * Copyright (c) 2006 Rogério Liesenfeld
 * This file is subject to the terms of the MIT license (see LICENSE.txt).
 */
package mockit.coverage.reporting.lineCoverage;

import java.util.*;
import javax.annotation.*;

import mockit.coverage.*;
import mockit.coverage.lines.*;
import mockit.coverage.reporting.*;
import mockit.coverage.reporting.parsing.*;

final class LineCoverageFormatter
{
   @Nonnull private final StringBuilder formattedLine;
   @Nonnull private final LineSegmentsFormatter segmentsFormatter;
   @Nullable private final ListOfCallPoints listOfCallPoints;

   LineCoverageFormatter(boolean withCallPoints)
   {
      formattedLine = new StringBuilder(200);
      segmentsFormatter = new LineSegmentsFormatter(withCallPoints, formattedLine);
      listOfCallPoints = withCallPoints ? new ListOfCallPoints() : null;
   }

   String format(@Nonnull LineParser lineParser, @Nonnull PerFileLineCoverage lineCoverageData)
   {
      formattedLine.setLength(0);
      formattedLine.append("
");
      segmentsFormatter.formatSegments(lineParser, lineData);
   }

   private void formatLineWithSingleSegment(@Nonnull LineParser lineParser, @Nonnull LineCoverageData lineData)
   {
      formattedLine.append(lineData.isCovered() ? " covered" : " uncovered");

      List callPoints = lineData.getCallPoints();

      if (listOfCallPoints != null && callPoints != null) {
         formattedLine.append(" cp' onclick='showHide(this)");
      }

      formattedLine.append("' id='l").append(lineParser.getNumber()).append("s0'>");
      String content = lineParser.getInitialElement().toString();
      formattedLine.append(content).append("
"); if (listOfCallPoints != null) { listOfCallPoints.insertListOfCallPoints(callPoints); formattedLine.append(listOfCallPoints.getContents()); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy