From b3681fe95266dc07d95b3a4d2c997cacef40168e Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 16 Oct 2014 13:52:44 +0200 Subject: [PATCH] Cleanup (test extracted to make option setting per-class instead of per-test) --- .../BytecodeToSourceMappingTest.java | 33 +++++++++++++++++++ .../java/decompiler/LineNumbersMatchTest.java | 2 +- .../java/decompiler/SingleClassesTest.java | 9 ----- .../decompiler/SingleClassesTestBase.java | 26 ++++----------- 4 files changed, 40 insertions(+), 30 deletions(-) create mode 100644 test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java diff --git a/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java b/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java new file mode 100644 index 0000000..2c1beb1 --- /dev/null +++ b/test/org/jetbrains/java/decompiler/BytecodeToSourceMappingTest.java @@ -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 getDecompilerOptions() { + return new HashMap() {{ + put(IFernflowerPreferences.BYTECODE_SOURCE_MAPPING, "1"); + }}; + } + + @Test public void testSimpleBytecodeMapping() { doTest("pkg/TestClassSimpleBytecodeMapping"); } +} diff --git a/test/org/jetbrains/java/decompiler/LineNumbersMatchTest.java b/test/org/jetbrains/java/decompiler/LineNumbersMatchTest.java index cb19c97..758aa5f 100644 --- a/test/org/jetbrains/java/decompiler/LineNumbersMatchTest.java +++ b/test/org/jetbrains/java/decompiler/LineNumbersMatchTest.java @@ -30,4 +30,4 @@ public class LineNumbersMatchTest extends SingleClassesTestBase { } @Test public void testMatch1() { doTest("pkg/TestLineNumbersMatch"); } -} \ No newline at end of file +} diff --git a/test/org/jetbrains/java/decompiler/SingleClassesTest.java b/test/org/jetbrains/java/decompiler/SingleClassesTest.java index efa548e..f0de32d 100644 --- a/test/org/jetbrains/java/decompiler/SingleClassesTest.java +++ b/test/org/jetbrains/java/decompiler/SingleClassesTest.java @@ -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(){{ - put(IFernflowerPreferences.BYTECODE_SOURCE_MAPPING, "1");}}); - } - } diff --git a/test/org/jetbrains/java/decompiler/SingleClassesTestBase.java b/test/org/jetbrains/java/decompiler/SingleClassesTestBase.java index be402da..165f695 100644 --- a/test/org/jetbrains/java/decompiler/SingleClassesTestBase.java +++ b/test/org/jetbrains/java/decompiler/SingleClassesTestBase.java @@ -15,24 +15,21 @@ */ 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 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 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();