From 34a57f863b3002a0c7ada4dc23eb7970f901e4ff Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 26 Aug 2016 16:03:09 +0300 Subject: [PATCH] JS: refactor test classes --- .../kotlin/generators/tests/GenerateTests.kt | 8 +- .../jetbrains/kotlin/js/test/BasicBoxTest.kt | 63 ++- .../CallableReferenceTestGenerated.java | 375 ++++++++++++++++++ ...unctionCallableReferenceTestGenerated.java | 253 ------------ ...ropertyCallableReferenceTestGenerated.java | 121 ------ .../abstractClassesForGeneratedTests.kt | 62 +-- 6 files changed, 460 insertions(+), 422 deletions(-) create mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CallableReferenceTestGenerated.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/FunctionCallableReferenceTestGenerated.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/PropertyCallableReferenceTestGenerated.java diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index d3b55e0f1d1..7ce3eb2cb09 100755 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -1141,12 +1141,8 @@ fun main(args: Array) { model("reservedWords/cases") } - testClass { - model("callableReference/function/cases") - } - - testClass { - model("callableReference/property/cases") + testClass { + model("callableReference/") } testClass() { diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt index 006b880e3d6..31dd26b3f11 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicBoxTest.kt @@ -56,12 +56,13 @@ import java.io.File import java.io.PrintStream import java.nio.charset.Charset -abstract class BasicBoxTest(private val relativePathToTestDir: String) : KotlinTestWithEnvironment() { - val TEST_DATA_DIR_PATH = "js/js.translator/testData/" - - private val OUT = "out/" +abstract class BasicBoxTest( + private val pathToTestDir: String, + private val pathToOutputDir: String +) : KotlinTestWithEnvironment() { private val COMMON_FILES_DIR = "_commonFiles/" val MODULE_EMULATION_FILE = TEST_DATA_DIR_PATH + "/moduleEmulation.js" + val additionalCommonFileDirectories = mutableListOf() val TEST_MODULE = "JS_TESTS" val DEFAULT_MODULE = "main" @@ -69,6 +70,7 @@ abstract class BasicBoxTest(private val relativePathToTestDir: String) : KotlinT fun doTest(filePath: String) { val file = File(filePath) + val outputDir = getOutputDir(file) val expectedText = KotlinTestUtils.doLoadFile(file) TestFileFactoryImpl().use { testFactory -> @@ -80,10 +82,10 @@ abstract class BasicBoxTest(private val relativePathToTestDir: String) : KotlinT val orderedModules = DFS.topologicalOrder(modules.values) { module -> module.dependencies.mapNotNull { modules[it] } } val generatedJsFiles = orderedModules.asReversed().map { module -> - val dependencies = module.dependencies.mapNotNull { modules[it]?.outputFileName + ".meta.js" } + val dependencies = module.dependencies.mapNotNull { modules[it]?.outputFileName(outputDir) + ".meta.js" } - val outputFileName = module.outputFileName + ".js" - generateJavaScriptFile(module, outputFileName, dependencies, modules.size > 1) + val outputFileName = module.outputFileName(outputDir) + ".js" + generateJavaScriptFile(file.parent, module, outputFileName, dependencies, modules.size > 1) outputFileName } val mainModule = if (TEST_MODULE in modules) TEST_MODULE else DEFAULT_MODULE @@ -91,33 +93,52 @@ abstract class BasicBoxTest(private val relativePathToTestDir: String) : KotlinT val checker = RhinoFunctionResultChecker(mainModule, testFactory.testPackage, TEST_FUNCTION, "OK") val globalCommonFiles = JsTestUtils.getFilesInDirectoryByExtension( TEST_DATA_DIR_PATH + COMMON_FILES_DIR, JavaScript.EXTENSION) - val localCommonFiles = JsTestUtils.getFilesInDirectoryByExtension( - TEST_DATA_DIR_PATH + relativePathToTestDir + COMMON_FILES_DIR, JavaScript.EXTENSION) + val localCommonFiles = JsTestUtils.getFilesInDirectoryByExtension(file.parent + "/" + COMMON_FILES_DIR, JavaScript.EXTENSION) + val additionalCommonFiles = additionalCommonFileDirectories.flatMap { baseDir -> + JsTestUtils.getFilesInDirectoryByExtension(baseDir + "/" + COMMON_FILES_DIR, JavaScript.EXTENSION) + } val inputJsFiles = inputFiles.map { it.fileName }.filter { it.endsWith(".js") } val additionalFiles = mutableListOf() if (modules.size > 1) { additionalFiles += MODULE_EMULATION_FILE } - val allJsFiles = additionalFiles + inputJsFiles + generatedJsFiles + globalCommonFiles + localCommonFiles + val allJsFiles = additionalFiles + inputJsFiles + generatedJsFiles + globalCommonFiles + localCommonFiles + + additionalCommonFiles RhinoUtils.runRhinoTest(allJsFiles, checker) } } - private val TestModule.outputFileName: String - get() { - val outputFileSuffix = if (this.name == TEST_MODULE) "" else "-$name" - return "$TEST_DATA_DIR_PATH$relativePathToTestDir$OUT" + getTestName(true) + "${outputFileSuffix}_v5" - } + private fun getOutputDir(file: File): File { + val stopFile = File(pathToTestDir) + return generateSequence(file.parentFile) { it.parentFile } + .takeWhile { it != stopFile } + .map { it.name } + .toList().asReversed() + .fold(File(pathToOutputDir)) { dir, name -> File(dir, name) } + } - private fun generateJavaScriptFile(module: TestModule, outputFileName: String, dependencies: List, multiModule: Boolean) { + private fun TestModule.outputFileName(directory: File): String { + val outputFileSuffix = if (this.name == TEST_MODULE) "" else "-$name" + return directory.absolutePath + "/" + getTestName(true) + "${outputFileSuffix}_v5" + } + + private fun generateJavaScriptFile( + directory: String, + module: TestModule, + outputFileName: String, + dependencies: List, + multiModule: Boolean + ) { val testFiles = module.files.map { it.fileName }.filter { it.endsWith(".kt") } val globalCommonFiles = JsTestUtils.getFilesInDirectoryByExtension( TEST_DATA_DIR_PATH + COMMON_FILES_DIR, KotlinFileType.EXTENSION) - val localCommonFiles = JsTestUtils.getFilesInDirectoryByExtension( - TEST_DATA_DIR_PATH + relativePathToTestDir + COMMON_FILES_DIR, KotlinFileType.EXTENSION) - val psiFiles = createPsiFiles(testFiles + globalCommonFiles + localCommonFiles) + val localCommonFiles = JsTestUtils.getFilesInDirectoryByExtension(directory + "/" + COMMON_FILES_DIR, KotlinFileType.EXTENSION) + val additionalCommonFiles = additionalCommonFileDirectories.flatMap { baseDir -> + JsTestUtils.getFilesInDirectoryByExtension(baseDir + "/" + COMMON_FILES_DIR, KotlinFileType.EXTENSION) + } + val psiFiles = createPsiFiles(testFiles + globalCommonFiles + localCommonFiles + additionalCommonFiles) val config = createConfig(module, dependencies, multiModule) val outputFile = File(outputFileName) @@ -233,4 +254,8 @@ abstract class BasicBoxTest(private val relativePathToTestDir: String) : KotlinT override fun createEnvironment(): KotlinCoreEnvironment { return KotlinCoreEnvironment.createForTests(testRootDisposable, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES) } + + companion object { + val TEST_DATA_DIR_PATH = "js/js.translator/testData/" + } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CallableReferenceTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CallableReferenceTestGenerated.java new file mode 100644 index 00000000000..3a6c398ab3e --- /dev/null +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CallableReferenceTestGenerated.java @@ -0,0 +1,375 @@ +/* + * Copyright 2010-2016 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.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/callableReference") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class CallableReferenceTestGenerated extends AbstractCallableReferenceTest { + public void testAllFilesPresentInCallableReference() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("js/js.translator/testData/callableReference/function") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Function extends AbstractCallableReferenceTest { + public void testAllFilesPresentInFunction() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/function"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("js/js.translator/testData/callableReference/function/cases") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Cases extends AbstractCallableReferenceTest { + @TestMetadata("abstractClassMember.kt") + public void testAbstractClassMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/abstractClassMember.kt"); + doTest(fileName); + } + + public void testAllFilesPresentInCases() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/function/cases"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("classMemberAndExtension.kt") + public void testClassMemberAndExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberAndExtension.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberAndNonExtensionCompatibility.kt") + public void testClassMemberAndNonExtensionCompatibility() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberAndNonExtensionCompatibility.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromClass.kt") + public void testClassMemberFromClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromClass.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromExtension.kt") + public void testClassMemberFromExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromExtension.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromTopLevelStringNoArgs.kt") + public void testClassMemberFromTopLevelStringNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelStringNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromTopLevelStringOneStringArg.kt") + public void testClassMemberFromTopLevelStringOneStringArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelStringOneStringArg.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromTopLevelUnitNoArgs.kt") + public void testClassMemberFromTopLevelUnitNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelUnitNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberFromTopLevelUnitOneStringArg.kt") + public void testClassMemberFromTopLevelUnitOneStringArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelUnitOneStringArg.kt"); + doTest(fileName); + } + + @TestMetadata("classMemberOverridden.kt") + public void testClassMemberOverridden() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberOverridden.kt"); + doTest(fileName); + } + + @TestMetadata("closureWithSideEffect.kt") + public void testClosureWithSideEffect() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/closureWithSideEffect.kt"); + doTest(fileName); + } + + @TestMetadata("constructorFromTopLevelNoArgs.kt") + public void testConstructorFromTopLevelNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorFromTopLevelNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("constructorFromTopLevelOneStringArg.kt") + public void testConstructorFromTopLevelOneStringArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorFromTopLevelOneStringArg.kt"); + doTest(fileName); + } + + @TestMetadata("constructorsWithArgs.kt") + public void testConstructorsWithArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorsWithArgs.kt"); + doTest(fileName); + } + + @TestMetadata("extension.kt") + public void testExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extension.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromClass.kt") + public void testExtensionFromClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromClass.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromExtension.kt") + public void testExtensionFromExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromExtension.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromTopLevel.kt") + public void testExtensionFromTopLevel() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevel.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromTopLevelStringNoArgs.kt") + public void testExtensionFromTopLevelStringNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelStringNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromTopLevelStringOneStringArg.kt") + public void testExtensionFromTopLevelStringOneStringArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelStringOneStringArg.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromTopLevelUnitNoArgs.kt") + public void testExtensionFromTopLevelUnitNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelUnitNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFromTopLevelUnitOneStringArg.kt") + public void testExtensionFromTopLevelUnitOneStringArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelUnitOneStringArg.kt"); + doTest(fileName); + } + + @TestMetadata("extensionToPrimitive.kt") + public void testExtensionToPrimitive() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionToPrimitive.kt"); + doTest(fileName); + } + + @TestMetadata("extensionWithClosure.kt") + public void testExtensionWithClosure() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionWithClosure.kt"); + doTest(fileName); + } + + @TestMetadata("localAndTopLevelExtensions.kt") + public void testLocalAndTopLevelExtensions() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/localAndTopLevelExtensions.kt"); + doTest(fileName); + } + + @TestMetadata("localLocal.kt") + public void testLocalLocal() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/localLocal.kt"); + doTest(fileName); + } + + @TestMetadata("recursiveClosure.kt") + public void testRecursiveClosure() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/recursiveClosure.kt"); + doTest(fileName); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simple.kt"); + doTest(fileName); + } + + @TestMetadata("simpleClosure.kt") + public void testSimpleClosure() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simpleClosure.kt"); + doTest(fileName); + } + + @TestMetadata("simpleWithArg.kt") + public void testSimpleWithArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simpleWithArg.kt"); + doTest(fileName); + } + + @TestMetadata("stringNativeExtension.kt") + public void testStringNativeExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/stringNativeExtension.kt"); + doTest(fileName); + } + + @TestMetadata("topLevelFromClass.kt") + public void testTopLevelFromClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromClass.kt"); + doTest(fileName); + } + + @TestMetadata("topLevelFromExtension.kt") + public void testTopLevelFromExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromExtension.kt"); + doTest(fileName); + } + + @TestMetadata("topLevelFromTopLevelStringNoArgs.kt") + public void testTopLevelFromTopLevelStringNoArgs() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromTopLevelStringNoArgs.kt"); + doTest(fileName); + } + + @TestMetadata("topLevelFromTopLevelWithArg.kt") + public void testTopLevelFromTopLevelWithArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromTopLevelWithArg.kt"); + doTest(fileName); + } + + @TestMetadata("unitWithSideEffect.kt") + public void testUnitWithSideEffect() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/unitWithSideEffect.kt"); + doTest(fileName); + } + } + + } + + @TestMetadata("js/js.translator/testData/callableReference/property") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Property extends AbstractCallableReferenceTest { + public void testAllFilesPresentInProperty() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/property"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("js/js.translator/testData/callableReference/property/cases") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Cases extends AbstractCallableReferenceTest { + @TestMetadata("accessViaSubclass.kt") + public void testAccessViaSubclass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/accessViaSubclass.kt"); + doTest(fileName); + } + + public void testAllFilesPresentInCases() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/property/cases"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("delegated.kt") + public void testDelegated() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/delegated.kt"); + doTest(fileName); + } + + @TestMetadata("delegatedMutable.kt") + public void testDelegatedMutable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt"); + doTest(fileName); + } + + @TestMetadata("extensionProperty.kt") + public void testExtensionProperty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/extensionProperty.kt"); + doTest(fileName); + } + + @TestMetadata("kClassInstanceIsInitializedFirst.kt") + public void testKClassInstanceIsInitializedFirst() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/kClassInstanceIsInitializedFirst.kt"); + doTest(fileName); + } + + @TestMetadata("memberProperty.kt") + public void testMemberProperty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/memberProperty.kt"); + doTest(fileName); + } + + @TestMetadata("overriddenInSubclass.kt") + public void testOverriddenInSubclass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/overriddenInSubclass.kt"); + doTest(fileName); + } + + @TestMetadata("simpleExtension.kt") + public void testSimpleExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleExtension.kt"); + doTest(fileName); + } + + @TestMetadata("simpleMember.kt") + public void testSimpleMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMember.kt"); + doTest(fileName); + } + + @TestMetadata("simpleMutableExtension.kt") + public void testSimpleMutableExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableExtension.kt"); + doTest(fileName); + } + + @TestMetadata("simpleMutableMember.kt") + public void testSimpleMutableMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableMember.kt"); + doTest(fileName); + } + + @TestMetadata("simpleMutableTopLevel.kt") + public void testSimpleMutableTopLevel() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableTopLevel.kt"); + doTest(fileName); + } + + @TestMetadata("simpleTopLevel.kt") + public void testSimpleTopLevel() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleTopLevel.kt"); + doTest(fileName); + } + + @TestMetadata("topLevelVar.kt") + public void testTopLevelVar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/topLevelVar.kt"); + doTest(fileName); + } + } + + } +} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/FunctionCallableReferenceTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/FunctionCallableReferenceTestGenerated.java deleted file mode 100644 index 59c0dff142e..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/FunctionCallableReferenceTestGenerated.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright 2010-2016 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.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/callableReference/function/cases") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class FunctionCallableReferenceTestGenerated extends AbstractFunctionCallableReferenceTest { - @TestMetadata("abstractClassMember.kt") - public void testAbstractClassMember() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/abstractClassMember.kt"); - doTest(fileName); - } - - public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/function/cases"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("classMemberAndExtension.kt") - public void testClassMemberAndExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberAndExtension.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberAndNonExtensionCompatibility.kt") - public void testClassMemberAndNonExtensionCompatibility() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberAndNonExtensionCompatibility.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromClass.kt") - public void testClassMemberFromClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromClass.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromExtension.kt") - public void testClassMemberFromExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromExtension.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromTopLevelStringNoArgs.kt") - public void testClassMemberFromTopLevelStringNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelStringNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromTopLevelStringOneStringArg.kt") - public void testClassMemberFromTopLevelStringOneStringArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelStringOneStringArg.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromTopLevelUnitNoArgs.kt") - public void testClassMemberFromTopLevelUnitNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelUnitNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberFromTopLevelUnitOneStringArg.kt") - public void testClassMemberFromTopLevelUnitOneStringArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberFromTopLevelUnitOneStringArg.kt"); - doTest(fileName); - } - - @TestMetadata("classMemberOverridden.kt") - public void testClassMemberOverridden() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/classMemberOverridden.kt"); - doTest(fileName); - } - - @TestMetadata("closureWithSideEffect.kt") - public void testClosureWithSideEffect() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/closureWithSideEffect.kt"); - doTest(fileName); - } - - @TestMetadata("constructorFromTopLevelNoArgs.kt") - public void testConstructorFromTopLevelNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorFromTopLevelNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("constructorFromTopLevelOneStringArg.kt") - public void testConstructorFromTopLevelOneStringArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorFromTopLevelOneStringArg.kt"); - doTest(fileName); - } - - @TestMetadata("constructorsWithArgs.kt") - public void testConstructorsWithArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/constructorsWithArgs.kt"); - doTest(fileName); - } - - @TestMetadata("extension.kt") - public void testExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extension.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromClass.kt") - public void testExtensionFromClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromClass.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromExtension.kt") - public void testExtensionFromExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromExtension.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromTopLevel.kt") - public void testExtensionFromTopLevel() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevel.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromTopLevelStringNoArgs.kt") - public void testExtensionFromTopLevelStringNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelStringNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromTopLevelStringOneStringArg.kt") - public void testExtensionFromTopLevelStringOneStringArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelStringOneStringArg.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromTopLevelUnitNoArgs.kt") - public void testExtensionFromTopLevelUnitNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelUnitNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFromTopLevelUnitOneStringArg.kt") - public void testExtensionFromTopLevelUnitOneStringArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionFromTopLevelUnitOneStringArg.kt"); - doTest(fileName); - } - - @TestMetadata("extensionToPrimitive.kt") - public void testExtensionToPrimitive() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionToPrimitive.kt"); - doTest(fileName); - } - - @TestMetadata("extensionWithClosure.kt") - public void testExtensionWithClosure() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/extensionWithClosure.kt"); - doTest(fileName); - } - - @TestMetadata("localAndTopLevelExtensions.kt") - public void testLocalAndTopLevelExtensions() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/localAndTopLevelExtensions.kt"); - doTest(fileName); - } - - @TestMetadata("localLocal.kt") - public void testLocalLocal() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/localLocal.kt"); - doTest(fileName); - } - - @TestMetadata("recursiveClosure.kt") - public void testRecursiveClosure() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/recursiveClosure.kt"); - doTest(fileName); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simple.kt"); - doTest(fileName); - } - - @TestMetadata("simpleClosure.kt") - public void testSimpleClosure() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simpleClosure.kt"); - doTest(fileName); - } - - @TestMetadata("simpleWithArg.kt") - public void testSimpleWithArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/simpleWithArg.kt"); - doTest(fileName); - } - - @TestMetadata("stringNativeExtension.kt") - public void testStringNativeExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/stringNativeExtension.kt"); - doTest(fileName); - } - - @TestMetadata("topLevelFromClass.kt") - public void testTopLevelFromClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromClass.kt"); - doTest(fileName); - } - - @TestMetadata("topLevelFromExtension.kt") - public void testTopLevelFromExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromExtension.kt"); - doTest(fileName); - } - - @TestMetadata("topLevelFromTopLevelStringNoArgs.kt") - public void testTopLevelFromTopLevelStringNoArgs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromTopLevelStringNoArgs.kt"); - doTest(fileName); - } - - @TestMetadata("topLevelFromTopLevelWithArg.kt") - public void testTopLevelFromTopLevelWithArg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/topLevelFromTopLevelWithArg.kt"); - doTest(fileName); - } - - @TestMetadata("unitWithSideEffect.kt") - public void testUnitWithSideEffect() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/function/cases/unitWithSideEffect.kt"); - doTest(fileName); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/PropertyCallableReferenceTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/PropertyCallableReferenceTestGenerated.java deleted file mode 100644 index 04f6eb50e88..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/PropertyCallableReferenceTestGenerated.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright 2010-2016 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.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/callableReference/property/cases") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class PropertyCallableReferenceTestGenerated extends AbstractPropertyCallableReferenceTest { - @TestMetadata("accessViaSubclass.kt") - public void testAccessViaSubclass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/accessViaSubclass.kt"); - doTest(fileName); - } - - public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/callableReference/property/cases"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("delegated.kt") - public void testDelegated() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/delegated.kt"); - doTest(fileName); - } - - @TestMetadata("delegatedMutable.kt") - public void testDelegatedMutable() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt"); - doTest(fileName); - } - - @TestMetadata("extensionProperty.kt") - public void testExtensionProperty() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/extensionProperty.kt"); - doTest(fileName); - } - - @TestMetadata("kClassInstanceIsInitializedFirst.kt") - public void testKClassInstanceIsInitializedFirst() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/kClassInstanceIsInitializedFirst.kt"); - doTest(fileName); - } - - @TestMetadata("memberProperty.kt") - public void testMemberProperty() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/memberProperty.kt"); - doTest(fileName); - } - - @TestMetadata("overriddenInSubclass.kt") - public void testOverriddenInSubclass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/overriddenInSubclass.kt"); - doTest(fileName); - } - - @TestMetadata("simpleExtension.kt") - public void testSimpleExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleExtension.kt"); - doTest(fileName); - } - - @TestMetadata("simpleMember.kt") - public void testSimpleMember() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMember.kt"); - doTest(fileName); - } - - @TestMetadata("simpleMutableExtension.kt") - public void testSimpleMutableExtension() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableExtension.kt"); - doTest(fileName); - } - - @TestMetadata("simpleMutableMember.kt") - public void testSimpleMutableMember() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableMember.kt"); - doTest(fileName); - } - - @TestMetadata("simpleMutableTopLevel.kt") - public void testSimpleMutableTopLevel() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleMutableTopLevel.kt"); - doTest(fileName); - } - - @TestMetadata("simpleTopLevel.kt") - public void testSimpleTopLevel() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/simpleTopLevel.kt"); - doTest(fileName); - } - - @TestMetadata("topLevelVar.kt") - public void testTopLevelVar() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/callableReference/property/cases/topLevelVar.kt"); - doTest(fileName); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt index 4746989ff91..89e7eea9435 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/abstractClassesForGeneratedTests.kt @@ -18,48 +18,64 @@ package org.jetbrains.kotlin.js.test.semantics import org.jetbrains.kotlin.js.test.BasicBoxTest -abstract class AbstractBridgeTest : BasicBoxTest("bridges/") +abstract class JsBasicBoxTest(relativePath: String) : BasicBoxTest( + BasicBoxTest.TEST_DATA_DIR_PATH + relativePath + "cases/", + BasicBoxTest.TEST_DATA_DIR_PATH + relativePath + "out/" +) { + init { + additionalCommonFileDirectories += BasicBoxTest.TEST_DATA_DIR_PATH + relativePath + } +} -abstract class AbstractFunctionCallableReferenceTest : BasicBoxTest("callableReference/function/") +abstract class BorrowedTest(relativePath: String) : BasicBoxTest( + "compiler/testData/codegen/box/" + relativePath, + BasicBoxTest.TEST_DATA_DIR_PATH + relativePath + "out/" +) { + init { + additionalCommonFileDirectories += BasicBoxTest.TEST_DATA_DIR_PATH + relativePath + } +} -abstract class AbstractPropertyCallableReferenceTest : BasicBoxTest("callableReference/property/") +abstract class AbstractBridgeTest : BorrowedTest("bridges/") -abstract class AbstractCompanionObjectTest : BasicBoxTest("objectIntrinsics/") +abstract class AbstractCallableReferenceTest : JsBasicBoxTest("callableReference/") -abstract class AbstractDynamicTest : BasicBoxTest("dynamic/") +abstract class AbstractCompanionObjectTest : JsBasicBoxTest("objectIntrinsics/") -abstract class AbstractFunctionExpressionTest : BasicBoxTest("functionExpression/") +abstract class AbstractDynamicTest : JsBasicBoxTest("dynamic/") -abstract class AbstractInlineEvaluationOrderTest : BasicBoxTest("inlineEvaluationOrder/") +abstract class AbstractFunctionExpressionTest : JsBasicBoxTest("functionExpression/") -abstract class AbstractInlineJsStdlibTest : BasicBoxTest("inlineStdlib/") +abstract class AbstractInlineEvaluationOrderTest : JsBasicBoxTest("inlineEvaluationOrder/") -abstract class AbstractInlineJsTest : BasicBoxTest("inline/") +abstract class AbstractInlineJsStdlibTest : JsBasicBoxTest("inlineStdlib/") -abstract class AbstractJsCodeTest : BasicBoxTest("jsCode/") +abstract class AbstractInlineJsTest : JsBasicBoxTest("inline/") -abstract class AbstractLabelTest : BasicBoxTest("labels/") +abstract class AbstractJsCodeTest : JsBasicBoxTest("jsCode/") -abstract class AbstractMultiModuleTest : BasicBoxTest("multiModule/") +abstract class AbstractLabelTest : JsBasicBoxTest("labels/") -abstract class AbstractInlineMultiModuleTest : BasicBoxTest("inlineMultiModule/") +abstract class AbstractMultiModuleTest : JsBasicBoxTest("multiModule/") -abstract class AbstractReservedWordTest : BasicBoxTest("reservedWords/") +abstract class AbstractInlineMultiModuleTest : JsBasicBoxTest("inlineMultiModule/") -abstract class AbstractSecondaryConstructorTest : BasicBoxTest("secondaryConstructors/") +abstract class AbstractReservedWordTest : JsBasicBoxTest("reservedWords/") -abstract class AbstractInnerNestedTest : BasicBoxTest("innerNested/") +abstract class AbstractSecondaryConstructorTest : JsBasicBoxTest("secondaryConstructors/") -abstract class AbstractClassesTest : BasicBoxTest("classes/") +abstract class AbstractInnerNestedTest : JsBasicBoxTest("innerNested/") -abstract class AbstractSuperTest : BasicBoxTest("super/") +abstract class AbstractClassesTest : JsBasicBoxTest("classes/") -abstract class AbstractLocalClassesTest : BasicBoxTest("localClasses/") +abstract class AbstractSuperTest : JsBasicBoxTest("super/") -abstract class AbstractNonLocalReturnsTest : BasicBoxTest("inline.generated/nonLocalReturns/") +abstract class AbstractLocalClassesTest : JsBasicBoxTest("localClasses/") -abstract class AbstractRttiTest : BasicBoxTest("rtti/") +abstract class AbstractNonLocalReturnsTest : JsBasicBoxTest("inline.generated/nonLocalReturns/") -abstract class AbstractCastTest : BasicBoxTest("expression/cast/") +abstract class AbstractRttiTest : JsBasicBoxTest("rtti/") -abstract class AbstractLightReflectionTest : BasicBoxTest("reflection/light/") +abstract class AbstractCastTest : JsBasicBoxTest("expression/cast/") + +abstract class AbstractLightReflectionTest : JsBasicBoxTest("reflection/light/")