Skip to content

Commit d3fbda7

Browse files
committed
refactor: apply AbstractJdTest to some test
1 parent 615196e commit d3fbda7

9 files changed

+52
-577
lines changed

src/test/java/org/jd/core/v1/AbstractJdTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,16 @@ protected String decompile(Loader loader, Printer printer, String internalTypeNa
5050
return decompile(loader, printer, internalTypeName, Collections.emptyMap());
5151
}
5252

53-
protected String decompileSuccess(Loader loader, Printer printer, String internalTypeName) throws Exception {
54-
String source = decompile(loader, printer, internalTypeName, Collections.emptyMap());
53+
protected String decompileSuccess(Loader loader, Printer printer, String internalTypeName, Map<String, Object> configuration) throws Exception {
54+
String source = decompile(loader, printer, internalTypeName, configuration);
5555
assertTrue(source.indexOf("// Byte code:") == -1);
5656
return source;
5757
}
5858

59+
protected String decompileSuccess(Loader loader, Printer printer, String internalTypeName) throws Exception {
60+
return decompileSuccess(loader, printer, internalTypeName, Collections.emptyMap());
61+
}
62+
5963
protected void printSource(String source) {
6064
System.out.println("- - - - - - - - ");
6165
System.out.println(source);

src/test/java/org/jd/core/v1/JavaInnerOuterClassTest.java

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,27 @@
77

88
package org.jd.core.v1;
99

10-
import junit.framework.TestCase;
1110
import org.jd.core.v1.api.loader.Loader;
12-
import org.jd.core.v1.api.printer.Printer;
1311
import org.jd.core.v1.compiler.CompilerUtil;
1412
import org.jd.core.v1.compiler.JavaSourceFileObject;
1513
import org.jd.core.v1.loader.ZipLoader;
16-
import org.jd.core.v1.model.classfile.ClassFile;
17-
import org.jd.core.v1.model.message.DecompileContext;
1814
import org.jd.core.v1.printer.PlainTextPrinter;
1915
import org.jd.core.v1.regex.PatternMaker;
20-
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
21-
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
22-
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
23-
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
24-
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
25-
import org.jd.core.v1.service.writer.WriteTokenProcessor;
2616
import org.junit.Test;
2717

2818
import java.io.InputStream;
2919
import java.util.Collections;
3020
import java.util.Map;
3121

32-
public class JavaInnerOuterClassTest extends TestCase {
33-
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
34-
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
35-
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
36-
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
37-
//protected TestTokenizeJavaFragmentProcessor tokenizer = new TestTokenizeJavaFragmentProcessor();
38-
protected JavaFragmentToTokenProcessor tokenizer = new JavaFragmentToTokenProcessor();
39-
protected WriteTokenProcessor writer = new WriteTokenProcessor();
22+
public class JavaInnerOuterClassTest extends AbstractJdTest {
4023

4124
@Test
4225
public void testJdk170InnerOuterClass() throws Exception {
4326
String internalClassName = "org/jd/core/test/OuterClass";
4427
InputStream is = this.getClass().getResourceAsStream("/zip/data-java-jdk-1.7.0.zip");
4528
Loader loader = new ZipLoader(is);
4629
Map<String, Object> configuration = Collections.singletonMap("realignLineNumbers", Boolean.TRUE);
47-
String source = decompile(loader, new PlainTextPrinter(), internalClassName, configuration);
30+
String source = decompileSuccess(loader, new PlainTextPrinter(), internalClassName, configuration);
4831

4932
// Check decompiled source code
5033
assertTrue(source.matches(PatternMaker.make(": 10 */", "protected int outerField1 = 0;")));
@@ -102,39 +85,4 @@ public void testJdk170InnerOuterClass() throws Exception {
10285
// Recompile decompiled source code and check errors
10386
assertTrue(CompilerUtil.compile("1.7", new JavaSourceFileObject(internalClassName, source)));
10487
}
105-
106-
protected String decompile(Loader loader, Printer printer, String internalTypeName) throws Exception {
107-
return decompile(loader, printer, internalTypeName, Collections.emptyMap());
108-
}
109-
110-
protected String decompile(Loader loader, Printer printer, String internalTypeName, Map<String, Object> configuration) throws Exception {
111-
DecompileContext decompileContext = new DecompileContext();
112-
decompileContext.setLoader(loader);
113-
decompileContext.setPrinter(printer);
114-
decompileContext.setMainInternalTypeName(internalTypeName);
115-
decompileContext.setConfiguration(configuration);
116-
117-
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
118-
decompileContext.setBody(classFile);
119-
120-
converter.process(decompileContext);
121-
fragmenter.process(decompileContext);
122-
layouter.process(decompileContext);
123-
tokenizer.process(decompileContext);
124-
writer.process(decompileContext);
125-
126-
String source = printer.toString();
127-
128-
printSource(source);
129-
130-
assertTrue(source.indexOf("// Byte code:") == -1);
131-
132-
return source;
133-
}
134-
135-
protected void printSource(String source) {
136-
System.out.println("- - - - - - - - ");
137-
System.out.println(source);
138-
System.out.println("- - - - - - - - ");
139-
}
14088
}

src/test/java/org/jd/core/v1/JavaLambdaTest.java

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,24 @@
77

88
package org.jd.core.v1;
99

10-
import junit.framework.TestCase;
1110
import org.jd.core.v1.api.loader.Loader;
12-
import org.jd.core.v1.api.printer.Printer;
1311
import org.jd.core.v1.compiler.CompilerUtil;
1412
import org.jd.core.v1.compiler.JavaSourceFileObject;
1513
import org.jd.core.v1.loader.ZipLoader;
16-
import org.jd.core.v1.model.classfile.ClassFile;
17-
import org.jd.core.v1.model.message.DecompileContext;
1814
import org.jd.core.v1.printer.PlainTextPrinter;
1915
import org.jd.core.v1.regex.PatternMaker;
20-
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
21-
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
22-
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
23-
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
24-
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
25-
import org.jd.core.v1.service.writer.WriteTokenProcessor;
2616
import org.junit.Test;
2717

2818
import java.io.InputStream;
29-
import java.util.Collections;
30-
import java.util.Map;
3119

32-
public class JavaLambdaTest extends TestCase {
33-
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
34-
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
35-
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
36-
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
37-
//protected TestTokenizeJavaFragmentProcessor tokenizer = new TestTokenizeJavaFragmentProcessor();
38-
protected JavaFragmentToTokenProcessor tokenizer = new JavaFragmentToTokenProcessor();
39-
protected WriteTokenProcessor writer = new WriteTokenProcessor();
20+
public class JavaLambdaTest extends AbstractJdTest {
4021

4122
@Test
4223
public void testJdk180Lambda() throws Exception {
4324
String internalClassName = "org/jd/core/test/Lambda";
4425
InputStream is = this.getClass().getResourceAsStream("/zip/data-java-jdk-1.8.0.zip");
4526
Loader loader = new ZipLoader(is);
46-
String source = decompile(loader, new PlainTextPrinter(), internalClassName);
27+
String source = decompileSuccess(loader, new PlainTextPrinter(), internalClassName);
4728

4829
// Check decompiled source code
4930
assertTrue(source.matches(PatternMaker.make(": 16 */", "list.forEach(System.out::println);")));
@@ -66,39 +47,4 @@ public void testJdk180Lambda() throws Exception {
6647
// Recompile decompiled source code and check errors
6748
assertTrue(CompilerUtil.compile("1.8", new JavaSourceFileObject(internalClassName, source)));
6849
}
69-
70-
protected String decompile(Loader loader, Printer printer, String internalTypeName) throws Exception {
71-
return decompile(loader, printer, internalTypeName, Collections.emptyMap());
72-
}
73-
74-
protected String decompile(Loader loader, Printer printer, String internalTypeName, Map<String, Object> configuration) throws Exception {
75-
DecompileContext decompileContext = new DecompileContext();
76-
decompileContext.setLoader(loader);
77-
decompileContext.setPrinter(printer);
78-
decompileContext.setMainInternalTypeName(internalTypeName);
79-
decompileContext.setConfiguration(configuration);
80-
81-
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
82-
decompileContext.setBody(classFile);
83-
84-
converter.process(decompileContext);
85-
fragmenter.process(decompileContext);
86-
layouter.process(decompileContext);
87-
tokenizer.process(decompileContext);
88-
writer.process(decompileContext);
89-
90-
String source = printer.toString();
91-
92-
printSource(source);
93-
94-
assertTrue(source.indexOf("// Byte code:") == -1);
95-
96-
return source;
97-
}
98-
99-
protected void printSource(String source) {
100-
System.out.println("- - - - - - - - ");
101-
System.out.println(source);
102-
System.out.println("- - - - - - - - ");
103-
}
10450
}

0 commit comments

Comments
 (0)