1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.eluder.coveralls.maven.plugin.source;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 import static org.junit.jupiter.api.Assertions.assertNull;
28 import static org.junit.jupiter.api.Assertions.assertThrows;
29
30 import java.io.File;
31 import java.io.IOException;
32 import java.nio.file.Files;
33 import java.nio.file.Path;
34
35 import org.eluder.coveralls.maven.plugin.domain.Source;
36 import org.eluder.coveralls.maven.plugin.util.TestIoUtil;
37 import org.junit.jupiter.api.Test;
38 import org.junit.jupiter.api.io.CleanupMode;
39 import org.junit.jupiter.api.io.TempDir;
40
41 class DirectorySourceLoaderTest {
42
43 @TempDir(cleanup = CleanupMode.ON_SUCCESS)
44 public Path folder;
45
46 @Test
47 void testMissingSourceFileFromDirectory() throws IOException {
48 DirectorySourceLoader sourceLoader = new DirectorySourceLoader(folder.toFile(), folder.toFile(), "UTF-8");
49 assertNull(sourceLoader.load("Foo.java"));
50 }
51
52 @Test
53 void testInvalidSourceFile() throws IOException {
54 String subFolder = Files.createDirectory(folder.resolve("subFolder")).toFile().getName();
55 DirectorySourceLoader sourceLoader = new DirectorySourceLoader(folder.toFile(), folder.toFile(), "UTF-8");
56 assertThrows(IllegalArgumentException.class, () -> {
57 sourceLoader.load(subFolder);
58 });
59 }
60
61 @Test
62 void testLoadSource() throws IOException {
63 File file = Files.createFile(folder.resolve("newFile")).toFile();
64 TestIoUtil.writeFileContent("public class Foo {\r\n \n}\r", file);
65 DirectorySourceLoader sourceLoader = new DirectorySourceLoader(folder.toFile(), folder.toFile(), "UTF-8");
66 Source source = sourceLoader.load(file.getName());
67 assertEquals(file.getName(), source.getName());
68 assertEquals("27F0B29785725F4946DBD05F7963E507B8DB735C2803BBB80C93ECB02291B2E2F9B03CBF27526DB68B6A862F1C6541275CD413A1CCD3E07209B9CAE0C04163C6", source.getDigest());
69 assertEquals(4, source.getCoverage().length);
70 }
71 }