Cleanup (test extracted to make option setting per-class instead of per-test)
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Thu, 16 Oct 2014 11:52:44 +0000 (13:52 +0200)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Thu, 16 Oct 2014 11:52:44 +0000 (13:52 +0200)
plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java [new file with mode: 0644]
plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/LineNumbersMatchTest.java
plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTest.java
plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTestBase.java

diff --git a/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java b/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java
new file mode 100644 (file)
index 0000000..2c1beb1
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.java.decompiler;
+
+import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class BytecodeToSourceMappingTest extends SingleClassesTestBase {
+  @Override
+  protected Map<String, Object> getDecompilerOptions() {
+    return new HashMap<String, Object>() {{
+      put(IFernflowerPreferences.BYTECODE_SOURCE_MAPPING, "1");
+    }};
+  }
+
+  @Test public void testSimpleBytecodeMapping() { doTest("pkg/TestClassSimpleBytecodeMapping"); }
+}
index cb19c978ad71364243912cf4792e70cf7122f43a..758aa5f3222dfb0b24890ec2225881b7ebf8c898 100644 (file)
@@ -30,4 +30,4 @@ public class LineNumbersMatchTest extends SingleClassesTestBase {
   }
 
   @Test public void testMatch1() { doTest("pkg/TestLineNumbersMatch"); }
-}
\ No newline at end of file
+}
index efa548eb723aef22b6211decbdd34fdb0090f86c..f0de32df2361aca1fae762e3f9834f93f1bc3c61 100644 (file)
@@ -15,9 +15,6 @@
  */
 package org.jetbrains.java.decompiler;
 
-import java.util.HashMap;
-
-import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences;
 import org.junit.Test;
 
 public class SingleClassesTest extends SingleClassesTestBase {
@@ -39,10 +36,4 @@ public class SingleClassesTest extends SingleClassesTestBase {
   @Test public void testInvalidMethodSignature() { doTest("InvalidMethodSignature"); }
   @Test public void testInnerClassConstructor() { doTest("pkg/TestInnerClassConstructor"); }
   @Test public void testInnerClassConstructor11() { doTest("v11/TestInnerClassConstructor"); }
-  @Test
-  public void testSimpleBytecodeMapping() {
-    doTest("pkg/TestClassSimpleBytecodeMapping", new HashMap<String, Object>(){{
-                                                 put(IFernflowerPreferences.BYTECODE_SOURCE_MAPPING, "1");}});
-  }
-
 }
index be402da023565bb77f3c1a19bb30c90836f796cc..165f695e0f4b04fe5ff3dc58e88d28f29dc150ae 100644 (file)
  */
 package org.jetbrains.java.decompiler;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler;
+import org.jetbrains.java.decompiler.util.InterpreterUtil;
+import org.junit.After;
+import org.junit.Before;
 
 import java.io.File;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
-import org.jetbrains.java.decompiler.main.DecompilerContext;
-import org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler;
-import org.jetbrains.java.decompiler.util.InterpreterUtil;
-import org.junit.After;
-import org.junit.Before;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 public abstract class SingleClassesTestBase {
   private DecompilerTestFixture fixture;
@@ -54,23 +51,12 @@ public abstract class SingleClassesTestBase {
   }
 
   protected void doTest(String testFile) {
-    doTest(testFile, null);
-  }
-
-  protected void doTest(String testFile, Map<String, Object> options) {
-
     try {
       File classFile = new File(fixture.getTestDataDir(), "/classes/" + testFile + ".class");
       assertTrue(classFile.isFile());
       String testName = classFile.getName().substring(0, classFile.getName().length() - 6);
 
       ConsoleDecompiler decompiler = fixture.getDecompiler();
-      if(options != null) {
-        for(Entry<String, Object> option : options.entrySet()) {
-          // overwrite with user-supplied value
-          DecompilerContext.setProperty(option.getKey(), option.getValue());
-        }
-      }
 
       for (File file : collectClasses(classFile)) decompiler.addSpace(file, true);
       decompiler.decompileContext();