JS backend: add the support function expression

#KT-7242 Fixed
This commit is contained in:
Zalim Bashorov
2015-04-20 19:08:08 +03:00
parent 02071c5bdd
commit 1ef9b9db1f
7 changed files with 83 additions and 8 deletions
@@ -0,0 +1,61 @@
/*
* 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.semantics;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.JetTestUtils;
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("compiler/testData/codegen/box/functions/functionExpression")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class FunctionExpressionTestGenerated extends AbstractFunctionExpressionTest {
public void testAllFilesPresentInFunctionExpression() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/functions/functionExpression"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("functionExpression.kt")
public void testFunctionExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/functionExpression/functionExpression.kt");
doTest(fileName);
}
@TestMetadata("functionExpressionWithName.kt")
public void testFunctionExpressionWithName() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/functionExpression/functionExpressionWithName.kt");
doTest(fileName);
}
@TestMetadata("functionExpressionWithThisReference.kt")
public void testFunctionExpressionWithThisReference() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/functionExpression/functionExpressionWithThisReference.kt");
doTest(fileName);
}
@TestMetadata("functionLiteralExpression.kt")
public void testFunctionLiteralExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/functions/functionExpression/functionLiteralExpression.kt");
doTest(fileName);
}
}
@@ -20,16 +20,20 @@ import org.jetbrains.kotlin.js.test.AbstractSingleFileTranslationWithDirectivesT
import org.jetbrains.kotlin.js.test.MultipleModulesTranslationTest
import org.jetbrains.kotlin.js.test.SingleFileTranslationTest
public abstract class AbstractBridgeTest : SingleFileTranslationTest("bridges/") {
private abstract class AbstractBlackBoxTest(d: String) : SingleFileTranslationTest(d) {
override fun doTest(filename: String) = checkBlackBoxIsOkByPath(filename)
}
public abstract class AbstractBridgeTest : AbstractBlackBoxTest("bridges/")
public abstract class AbstractCallableReferenceTest(main: String) : SingleFileTranslationTest("callableReference/" + main)
public abstract class AbstractCompanionObjectTest : SingleFileTranslationTest("objectIntrinsics/")
public abstract class AbstractDynamicTest : SingleFileTranslationTest("dynamic/")
public abstract class AbstractFunctionExpressionTest : AbstractBlackBoxTest("functionExpression/")
public abstract class AbstractInlineEvaluationOrderTest : AbstractSingleFileTranslationWithDirectivesTest("inlineEvaluationOrder/")
public abstract class AbstractInlineJsStdlibTest : AbstractSingleFileTranslationWithDirectivesTest("inlineStdlib/")