JS: refactor test classes

This commit is contained in:
Alexey Andreev
2016-08-26 16:03:09 +03:00
parent db86d34699
commit 34a57f863b
6 changed files with 460 additions and 422 deletions
@@ -1141,12 +1141,8 @@ fun main(args: Array<String>) {
model("reservedWords/cases")
}
testClass<AbstractFunctionCallableReferenceTest> {
model("callableReference/function/cases")
}
testClass<AbstractPropertyCallableReferenceTest> {
model("callableReference/property/cases")
testClass<AbstractCallableReferenceTest> {
model("callableReference/")
}
testClass<AbstractDynamicTest>() {
@@ -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<String>()
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<String>()
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<String>, 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<String>,
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/"
}
}
@@ -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);
}
}
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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/")