1 package org.codehaus.plexus.languages.java.jpms;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.nio.file.Paths;
23
24 import org.junit.jupiter.api.Test;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 import static org.junit.jupiter.api.Assertions.assertNull;
28
29 public abstract class AbstractFilenameModuleNameExtractorTest {
30 protected abstract ModuleNameExtractor getExtractor();
31
32 @Test
33 void testJarWithoutManifest() throws Exception {
34 String name = getExtractor().extract(Paths.get("src/test/resources/jar.empty/plexus-java-1.0.0-SNAPSHOT.jar"));
35 assertEquals("plexus.java", name);
36 }
37
38 @Test
39 void testJarWithManifest() throws Exception {
40 String name = getExtractor()
41 .extract(Paths.get("src/test/resources/jar.manifest.with/plexus-java-1.0.0-SNAPSHOT.jar"));
42 assertEquals("org.codehaus.plexus.languages.java", name);
43 }
44
45 @Test
46 void testJarUnsupported() throws Exception {
47 String name = getExtractor().extract(Paths.get("src/test/resources/jar.unsupported/jdom-1.0.jar"));
48 assertNull(name);
49 }
50
51 @Test
52 void testJarWithSpacesInPath() throws Exception {
53 String name = getExtractor()
54 .extract(Paths.get("src/test/resources/jar with spaces in path/plexus-java-1.0.0-SNAPSHOT.jar"));
55 assertEquals("org.codehaus.plexus.languages.java", name);
56 }
57 }