KJS: switch sourcemap tests to generated using BasicBoxTest

This commit is contained in:
Zalim Bashorov
2017-03-20 21:10:39 +03:00
committed by Zalim Bashorov
parent 725b0100e2
commit 7eb882ed27
8 changed files with 70 additions and 54 deletions
@@ -1275,6 +1275,10 @@ fun main(args: Array<String>) {
testClass<AbstractBoxJsTest> {
model("box/", pattern = "^([^_](.+))\\.kt$", targetBackend = TargetBackend.JS)
}
testClass<AbstractSourceMapGenerationSmokeTest> {
model("sourcemap/", pattern = "^([^_](.+))\\.kt$", targetBackend = TargetBackend.JS)
}
}
testGroup("js/js.tests/test", "compiler/testData") {
@@ -62,7 +62,8 @@ import java.util.regex.Pattern
abstract class BasicBoxTest(
private val pathToTestDir: String,
private val pathToOutputDir: String,
private val typedArraysEnabled: Boolean = false
private val typedArraysEnabled: Boolean = false,
private val generateSourceMap: Boolean = false
) : KotlinTestWithEnvironment() {
private val COMMON_FILES_NAME = "_common"
private val COMMON_FILES_DIR = "_commonFiles/"
@@ -283,7 +284,7 @@ abstract class BasicBoxTest(
configuration.put(JSConfigurationKeys.MODULE_KIND, module.moduleKind)
configuration.put(JSConfigurationKeys.TARGET, EcmaVersion.v5)
//configuration.put(JSConfigurationKeys.SOURCE_MAP, shouldGenerateSourceMap())
configuration.put(JSConfigurationKeys.SOURCE_MAP, generateSourceMap)
configuration.put(JSConfigurationKeys.META_INFO, multiModule)
if (typedArraysEnabled) {
@@ -1,51 +0,0 @@
/*
* Copyright 2010-2015 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.kotlin.js.test;
import junit.framework.Test;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.js.test.semantics.TranslatorTestCaseBuilder;
@SuppressWarnings("JUnitTestCaseWithNoTests")
public final class SourceMapTest extends SingleFileTranslationTest {
@NotNull
private final String filename;
@SuppressWarnings("JUnitTestCaseWithNonTrivialConstructors")
public SourceMapTest(@NotNull String filename) {
super("sourcemap/");
this.filename = filename;
}
@Override
protected boolean shouldGenerateSourceMap() {
return true;
}
@Override
public void runTest() throws Exception {
checkFooBoxIsOk(filename);
}
public static Test suite() throws Exception {
return TranslatorTestCaseBuilder.suiteForDirectory(TEST_DATA_DIR_PATH + "sourcemap/cases/", filename -> {
SourceMapTest examplesTest = new SourceMapTest(filename);
examplesTest.setName(filename);
return examplesTest;
});
}
}
@@ -0,0 +1,56 @@
/*
* Copyright 2010-2017 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.kotlin.js.test.semantics;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;
import java.io.File;
import java.util.regex.Pattern;
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("js/js.translator/testData/sourcemap")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class SourceMapGenerationSmokeTestGenerated extends AbstractSourceMapGenerationSmokeTest {
public void testAllFilesPresentInSourcemap() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/sourcemap"), Pattern.compile("^([^_](.+))\\.kt$"), TargetBackend.JS, true);
}
@TestMetadata("binaryOperation.kt")
public void testBinaryOperation() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/sourcemap/binaryOperation.kt");
doTest(fileName);
}
@TestMetadata("emptyIfInsideInlineLambda.kt")
public void testEmptyIfInsideInlineLambda() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/sourcemap/emptyIfInsideInlineLambda.kt");
doTest(fileName);
}
@TestMetadata("methodCallInMethod.kt")
public void testMethodCallInMethod() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/sourcemap/methodCallInMethod.kt");
doTest(fileName);
}
}
@@ -37,7 +37,7 @@ abstract class AbstractCallableReferenceInlineTests : BorrowedInlineTest("callab
abstract class AbstractEnumValuesInlineTests : BorrowedInlineTest("enum/")
abstract class AbstractBoxJsTest() : BasicBoxTest(
abstract class AbstractBoxJsTest : BasicBoxTest(
BasicBoxTest.TEST_DATA_DIR_PATH + "box/",
BasicBoxTest.TEST_DATA_DIR_PATH + "out/box/"
)
@@ -51,4 +51,10 @@ abstract class AbstractJsTypedArraysBoxTest : BasicBoxTest(
"compiler/testData/codegen/box/arrays/",
BasicBoxTest.TEST_DATA_DIR_PATH + "out/codegen/box/arrays-typedarrays/",
typedArraysEnabled = true
)
abstract class AbstractSourceMapGenerationSmokeTest : BasicBoxTest(
BasicBoxTest.TEST_DATA_DIR_PATH + "sourcemap/",
"${BasicBoxTest.TEST_DATA_DIR_PATH}/out/sourcemap/",
generateSourceMap = true
)