• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hazendaz / jmockit1 / 496

15 Nov 2025 05:33PM UTC coverage: 72.192% (-0.008%) from 72.2%
496

push

github

web-flow
Merge pull request #412 from hazendaz/renovate/major-spring-core

Update spring core to v7 (major)

5677 of 8360 branches covered (67.91%)

Branch coverage included in aggregate %.

11922 of 16018 relevant lines covered (74.43%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/main/src/main/java/mockit/coverage/reporting/StaticFiles.java
1
/*
2
 * MIT License
3
 * Copyright (c) 2006-2025 JMockit developers
4
 * See LICENSE file for full license text.
5
 */
6
package mockit.coverage.reporting;
7

8
import edu.umd.cs.findbugs.annotations.NonNull;
9

10
import java.io.BufferedInputStream;
11
import java.io.BufferedOutputStream;
12
import java.io.File;
13
import java.io.IOException;
14
import java.io.InputStream;
15
import java.io.OutputStream;
16
import java.nio.file.Files;
17
import java.nio.file.Path;
18
import java.security.CodeSource;
19

20
import mockit.internal.util.Utilities;
21

22
final class StaticFiles {
23
    @NonNull
24
    private final String outputDir;
25
    private long lastModifiedTimeOfCoverageJar;
26

27
    StaticFiles(@NonNull String outputDir) {
×
28
        this.outputDir = outputDir;
×
29
    }
×
30

31
    void copyToOutputDir(boolean withSourceFilePages) throws IOException {
32
        copyFile("index.css");
×
33
        copyFile("coverage.js");
×
34
        copyFile("logo.png");
×
35
        copyFile("package.png");
×
36
        copyFile("class.png");
×
37
        copyFile("abstractClass.png");
×
38
        copyFile("interface.png");
×
39
        copyFile("annotation.png");
×
40
        copyFile("exception.png");
×
41
        copyFile("enum.png");
×
42

43
        if (withSourceFilePages) {
×
44
            copyFile("source.css");
×
45
            copyFile("prettify.js");
×
46
        }
47
    }
×
48

49
    private void copyFile(@NonNull String fileName) throws IOException {
50
        File outputFile = Path.of(outputDir, fileName).toFile();
×
51

52
        if (outputFile.exists() && outputFile.lastModified() > getLastModifiedTimeOfCoverageJar()) {
×
53
            return;
×
54
        }
55

56
        try (OutputStream output = new BufferedOutputStream(Files.newOutputStream(outputFile.toPath()));
×
57
                InputStream input = new BufferedInputStream(StaticFiles.class.getResourceAsStream(fileName))) {
×
58
            int b;
59

60
            while ((b = input.read()) != -1) {
×
61
                output.write(b);
×
62
            }
63
        }
64
    }
×
65

66
    private long getLastModifiedTimeOfCoverageJar() {
67
        if (lastModifiedTimeOfCoverageJar == 0) {
×
68
            CodeSource codeSource = getClass().getProtectionDomain().getCodeSource();
×
69

70
            if (codeSource == null) {
×
71
                lastModifiedTimeOfCoverageJar = -1;
×
72
            } else {
73
                String pathToThisJar = Utilities.getClassFileLocationPath(codeSource);
×
74
                lastModifiedTimeOfCoverageJar = Path.of(pathToThisJar).toFile().lastModified();
×
75
            }
76
        }
77

78
        return lastModifiedTimeOfCoverageJar;
×
79
    }
80
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc