From 3801052460ef2131f89cef097d7de946d28007a3 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Tue, 30 Aug 2016 14:59:26 +0300 Subject: [PATCH] JS: move more test to box tests --- .../kotlin/generators/tests/GenerateTests.kt | 12 - .../jetbrains/kotlin/js/test/BasicBoxTest.kt | 6 +- .../js/test/semantics/AbstractReifiedTest.kt | 21 - .../js/test/semantics/BoxJsTestGenerated.java | 580 ++++++++++++++++++ .../LightReflectionTestGenerated.java | 55 -- .../js/test/semantics/RegressionTest.java | 34 - .../test/semantics/ReifiedTestGenerated.java | 151 ----- .../js/test/semantics/RttiTestGenerated.java | 127 ---- .../js/test/semantics/SafeCallTest.java | 50 -- .../kotlin/js/test/semantics/SimpleTest.java | 52 -- .../abstractClassesForGeneratedTests.kt | 6 - .../arrayThrowsExceptionOnOOBaccess.kt | 2 +- .../reflection/light/_common.kt} | 0 .../cases => box/reflection/light}/jsClass.kt | 0 .../reflection/light}/jsClassName.kt | 0 .../reflection/light}/jsClassOnReifiedType.kt | 0 .../cases => box/regression}/kt2470.kt | 0 .../tmpInsidePrimaryConstructor.kt | 0 .../isInstance.kt => box/reified/_common.kt} | 0 .../cases => box/reified}/callChain.kt | 0 .../cases => box/reified}/extensionFun.kt | 0 .../cases => box/reified}/extensionLambda.kt | 0 .../cases => box/reified}/extensionMethod.kt | 0 .../cases => box/reified}/innerObject.kt | 0 .../{reified/cases => box/reified}/isBool.kt | 0 .../{reified/cases => box/reified}/isChar.kt | 0 .../{reified/cases => box/reified}/isClass.kt | 0 .../cases => box/reified}/isNumber.kt | 0 .../cases => box/reified}/isString.kt | 0 .../cases => box/reified}/isTNullable.kt | 0 .../{reified/cases => box/reified}/lambda.kt | 0 .../cases => box/reified}/lambdaNameClash.kt | 0 .../{reified/cases => box/reified}/method.kt | 0 .../reified}/multipleTypeParameters.kt | 0 .../reified}/noValueParameters.kt | 0 .../cases => box/reified}/parameterSwap.kt | 0 .../{reified/cases => box/reified}/vararg.kt | 0 .../reified}/withInlineTurnedOff.kt | 0 .../rtti/cases/collectionClassesIsCheck.kt | 0 .../{ => box}/rtti/cases/isComparable.kt | 0 .../{ => box}/rtti/cases/isJsPrimitiveType.kt | 0 .../testData/{ => box}/rtti/cases/isObject.kt | 0 .../{ => box}/rtti/cases/isSameClass.kt | 0 .../{ => box}/rtti/cases/notIsOtherClass.kt | 0 .../{ => box}/rtti/cases/objectExpression.kt | 0 .../{ => box}/rtti/cases/onNativeObject.kt | 0 .../{ => box}/rtti/cases/rttiForClass.kt | 0 .../{ => box}/rtti/cases/rttiForTrait.kt | 0 .../{ => box}/rtti/cases/rttiForTrait2.kt | 0 .../{ => box}/rtti/cases/sideEffectMethod.kt | 0 .../rtti/cases/sideEffectProperty.kt | 0 .../rtti/cases/stdlibEmptyListClass.kt | 0 .../cases => box/safeCall}/safeAccess.kt | 10 +- .../cases => box/safeCall}/safeCall.kt | 4 +- .../safeCall}/safeCallAndIntrinsic.kt | 0 .../safeCall}/safeCallAndSideEffect.kt | 0 .../safeCall/safeCallReturnsNullIfFails.kt | 10 + .../safeCall}/safeExtensionFunctionCall.kt | 0 .../{simple/cases => box/simple}/assign.kt | 2 +- .../cases => box/simple}/breakDoWhile.kt | 6 +- .../cases => box/simple}/breakWhile.kt | 6 +- .../simple}/classInstantiation.kt | 4 +- .../cases => box/simple}/comparison.kt | 4 +- ...complexExpressionAsConstructorParameter.kt | 7 +- .../simple}/constructorWithParameter.kt | 4 +- .../constructorWithPropertiesAsParameters.kt | 4 +- .../cases => box/simple}/continueDoWhile.kt | 4 +- .../cases => box/simple}/continueWhile.kt | 4 +- .../{simple/cases => box/simple}/doWhile.kt | 6 +- .../{simple/cases => box/simple}/doWhile2.kt | 6 +- .../{simple/cases => box/simple}/elseif.kt | 2 +- .../{simple/cases => box/simple}/if.kt | 2 +- .../testData/box/simple/ifElseAsExpression.kt | 6 + .../simple}/methodDeclarationAndCall.kt | 6 +- .../box/simple/minusAssignOnProperty.kt | 10 + .../testData/box/simple/notBoolean.kt | 5 + .../testData/box/simple/plusAssign.kt | 8 + .../box/simple/positiveAndNegativeNumbers.kt | 7 + .../box/simple/postfixIntOperations.kt | 10 + .../box/simple/prefixIntOperations.kt | 10 + .../propertiesAsParametersInitialized.kt | 4 +- .../cases => box/simple}/propertyAccess.kt | 4 +- .../cases => box/simple}/simpleInitializer.kt | 4 +- .../{simple/cases => box/simple}/while.kt | 6 +- .../testData/box/simple/while2.kt | 10 + .../testData/box/standardClasses/array.kt | 9 + .../box/standardClasses/arrayAccess.kt | 8 + .../arrayConstructorsWithLambda.kt | 0 .../standardClasses}/arrayFactoryMethods.kt | 0 .../arrayFunctionConstructor.kt | 7 + .../standardClasses/arrayIsFilledWithNulls.kt | 5 + .../standardClasses}/arraySize.kt | 2 +- .../box/standardClasses/arraysIterator.kt | 16 + .../standardClasses}/hashMapTypeOfElement.kt | 0 .../standardClasses}/hashSetTypeOfElement.kt | 0 .../mutableMapRemoveWithCollision.kt | 0 .../standardClasses}/stringBuilder.kt | 0 .../cases/safeCallReturnsNullIfFails.kt | 10 - .../simple/cases/ifElseAsExpression.kt | 6 - .../simple/cases/minusAssignOnProperty.kt | 10 - .../testData/simple/cases/notBoolean.kt | 5 - .../testData/simple/cases/plusAssign.kt | 8 - .../cases/positiveAndNegativeNumbers.kt | 7 - .../simple/cases/postfixIntOperations.kt | 10 - .../simple/cases/prefixIntOperations.kt | 10 - .../testData/simple/cases/while2.kt | 10 - .../testData/standardClasses/cases/array.kt | 9 - .../standardClasses/cases/arrayAccess.kt | 8 - .../cases/arrayFunctionConstructor.kt | 7 - .../cases/arrayIsFilledWithNulls.kt | 5 - .../standardClasses/cases/arraysIterator.kt | 11 - .../cases => }/throwableImpl.kt | 2 +- 112 files changed, 760 insertions(+), 676 deletions(-) delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/AbstractReifiedTest.kt delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/LightReflectionTestGenerated.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RegressionTest.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/ReifiedTestGenerated.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RttiTestGenerated.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SafeCallTest.java delete mode 100644 js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SimpleTest.java rename js/js.translator/testData/{standardClasses/cases => }/arrayThrowsExceptionOnOOBaccess.kt (60%) rename js/js.translator/testData/{reflection/light/_commonFiles/declarations.kt => box/reflection/light/_common.kt} (100%) rename js/js.translator/testData/{reflection/light/cases => box/reflection/light}/jsClass.kt (100%) rename js/js.translator/testData/{reflection/light/cases => box/reflection/light}/jsClassName.kt (100%) rename js/js.translator/testData/{reflection/light/cases => box/reflection/light}/jsClassOnReifiedType.kt (100%) rename js/js.translator/testData/{regression/cases => box/regression}/kt2470.kt (100%) rename js/js.translator/testData/{regression/cases => box/regression}/tmpInsidePrimaryConstructor.kt (100%) rename js/js.translator/testData/{reified/_commonFiles/isInstance.kt => box/reified/_common.kt} (100%) rename js/js.translator/testData/{reified/cases => box/reified}/callChain.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/extensionFun.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/extensionLambda.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/extensionMethod.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/innerObject.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isBool.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isChar.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isClass.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isNumber.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isString.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/isTNullable.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/lambda.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/lambdaNameClash.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/method.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/multipleTypeParameters.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/noValueParameters.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/parameterSwap.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/vararg.kt (100%) rename js/js.translator/testData/{reified/cases => box/reified}/withInlineTurnedOff.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/collectionClassesIsCheck.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/isComparable.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/isJsPrimitiveType.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/isObject.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/isSameClass.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/notIsOtherClass.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/objectExpression.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/onNativeObject.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/rttiForClass.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/rttiForTrait.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/rttiForTrait2.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/sideEffectMethod.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/sideEffectProperty.kt (100%) rename js/js.translator/testData/{ => box}/rtti/cases/stdlibEmptyListClass.kt (100%) rename js/js.translator/testData/{safeCall/cases => box/safeCall}/safeAccess.kt (56%) rename js/js.translator/testData/{safeCall/cases => box/safeCall}/safeCall.kt (72%) rename js/js.translator/testData/{safeCall/cases => box/safeCall}/safeCallAndIntrinsic.kt (100%) rename js/js.translator/testData/{safeCall/cases => box/safeCall}/safeCallAndSideEffect.kt (100%) create mode 100644 js/js.translator/testData/box/safeCall/safeCallReturnsNullIfFails.kt rename js/js.translator/testData/{safeCall/cases => box/safeCall}/safeExtensionFunctionCall.kt (100%) rename js/js.translator/testData/{simple/cases => box/simple}/assign.kt (64%) rename js/js.translator/testData/{simple/cases => box/simple}/breakDoWhile.kt (56%) rename js/js.translator/testData/{simple/cases => box/simple}/breakWhile.kt (53%) rename js/js.translator/testData/{simple/cases => box/simple}/classInstantiation.kt (59%) rename js/js.translator/testData/{simple/cases => box/simple}/comparison.kt (50%) rename js/js.translator/testData/{simple/cases => box/simple}/complexExpressionAsConstructorParameter.kt (50%) rename js/js.translator/testData/{simple/cases => box/simple}/constructorWithParameter.kt (53%) rename js/js.translator/testData/{simple/cases => box/simple}/constructorWithPropertiesAsParameters.kt (57%) rename js/js.translator/testData/{simple/cases => box/simple}/continueDoWhile.kt (75%) rename js/js.translator/testData/{simple/cases => box/simple}/continueWhile.kt (74%) rename js/js.translator/testData/{simple/cases => box/simple}/doWhile.kt (72%) rename js/js.translator/testData/{simple/cases => box/simple}/doWhile2.kt (62%) rename js/js.translator/testData/{simple/cases => box/simple}/elseif.kt (84%) rename js/js.translator/testData/{simple/cases => box/simple}/if.kt (84%) create mode 100644 js/js.translator/testData/box/simple/ifElseAsExpression.kt rename js/js.translator/testData/{simple/cases => box/simple}/methodDeclarationAndCall.kt (54%) create mode 100644 js/js.translator/testData/box/simple/minusAssignOnProperty.kt create mode 100644 js/js.translator/testData/box/simple/notBoolean.kt create mode 100644 js/js.translator/testData/box/simple/plusAssign.kt create mode 100644 js/js.translator/testData/box/simple/positiveAndNegativeNumbers.kt create mode 100644 js/js.translator/testData/box/simple/postfixIntOperations.kt create mode 100644 js/js.translator/testData/box/simple/prefixIntOperations.kt rename js/js.translator/testData/{simple/cases => box/simple}/propertiesAsParametersInitialized.kt (50%) rename js/js.translator/testData/{simple/cases => box/simple}/propertyAccess.kt (57%) rename js/js.translator/testData/{simple/cases => box/simple}/simpleInitializer.kt (54%) rename js/js.translator/testData/{simple/cases => box/simple}/while.kt (71%) create mode 100644 js/js.translator/testData/box/simple/while2.kt create mode 100644 js/js.translator/testData/box/standardClasses/array.kt create mode 100644 js/js.translator/testData/box/standardClasses/arrayAccess.kt rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/arrayConstructorsWithLambda.kt (100%) rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/arrayFactoryMethods.kt (100%) create mode 100644 js/js.translator/testData/box/standardClasses/arrayFunctionConstructor.kt create mode 100644 js/js.translator/testData/box/standardClasses/arrayIsFilledWithNulls.kt rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/arraySize.kt (58%) create mode 100644 js/js.translator/testData/box/standardClasses/arraysIterator.kt rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/hashMapTypeOfElement.kt (100%) rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/hashSetTypeOfElement.kt (100%) rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/mutableMapRemoveWithCollision.kt (100%) rename js/js.translator/testData/{standardClasses/cases => box/standardClasses}/stringBuilder.kt (100%) delete mode 100644 js/js.translator/testData/safeCall/cases/safeCallReturnsNullIfFails.kt delete mode 100644 js/js.translator/testData/simple/cases/ifElseAsExpression.kt delete mode 100644 js/js.translator/testData/simple/cases/minusAssignOnProperty.kt delete mode 100644 js/js.translator/testData/simple/cases/notBoolean.kt delete mode 100644 js/js.translator/testData/simple/cases/plusAssign.kt delete mode 100644 js/js.translator/testData/simple/cases/positiveAndNegativeNumbers.kt delete mode 100644 js/js.translator/testData/simple/cases/postfixIntOperations.kt delete mode 100644 js/js.translator/testData/simple/cases/prefixIntOperations.kt delete mode 100644 js/js.translator/testData/simple/cases/while2.kt delete mode 100644 js/js.translator/testData/standardClasses/cases/array.kt delete mode 100644 js/js.translator/testData/standardClasses/cases/arrayAccess.kt delete mode 100644 js/js.translator/testData/standardClasses/cases/arrayFunctionConstructor.kt delete mode 100644 js/js.translator/testData/standardClasses/cases/arrayIsFilledWithNulls.kt delete mode 100644 js/js.translator/testData/standardClasses/cases/arraysIterator.kt rename js/js.translator/testData/{standardClasses/cases => }/throwableImpl.kt (85%) diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index d814d45705d..740d71a8bdc 100755 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -1144,18 +1144,6 @@ fun main(args: Array) { testClass() { model("reservedWords/cases") } - - testClass() { - model("reified/cases") - } - - testClass() { - model("rtti/cases") - } - - testClass() { - model("reflection/light/cases") - } } testGroup("js/js.tests/test", "compiler/testData") { 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 e2a83bc75bf..00751c85b14 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 @@ -233,10 +233,10 @@ abstract class BasicBoxTest( if (moduleKindMatcher.find()) { module.moduleKind = ModuleKind.valueOf(moduleKindMatcher.group(1)) } + } - if (NO_INLINE_PATTERN.matcher(text).find()) { - module.inliningDisabled = true - } + if (NO_INLINE_PATTERN.matcher(text).find()) { + (module ?: defaultModule).inliningDisabled = true } val temporaryFile = File(tmpDir, fileName) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/AbstractReifiedTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/AbstractReifiedTest.kt deleted file mode 100644 index 793633c3383..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/AbstractReifiedTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.js.test.semantics - -import org.jetbrains.kotlin.js.test.SingleFileTranslationTest - -abstract class AbstractReifiedTest : SingleFileTranslationTest("reified/") \ No newline at end of file diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java index 019dfb9412d..9e687fc98ab 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java @@ -5719,4 +5719,584 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { doTest(fileName); } } + + @TestMetadata("js/js.translator/testData/box/reflection") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Reflection extends AbstractBoxJsTest { + public void testAllFilesPresentInReflection() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/reflection"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("js/js.translator/testData/box/reflection/light") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Light extends AbstractBoxJsTest { + public void testAllFilesPresentInLight() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/reflection/light"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("jsClass.kt") + public void testJsClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reflection/light/jsClass.kt"); + doTest(fileName); + } + + @TestMetadata("jsClassName.kt") + public void testJsClassName() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reflection/light/jsClassName.kt"); + doTest(fileName); + } + + @TestMetadata("jsClassOnReifiedType.kt") + public void testJsClassOnReifiedType() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reflection/light/jsClassOnReifiedType.kt"); + doTest(fileName); + } + } + } + + @TestMetadata("js/js.translator/testData/box/regression") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Regression extends AbstractBoxJsTest { + public void testAllFilesPresentInRegression() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/regression"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("kt2470.kt") + public void testKt2470() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/regression/kt2470.kt"); + doTest(fileName); + } + + @TestMetadata("tmpInsidePrimaryConstructor.kt") + public void testTmpInsidePrimaryConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/regression/tmpInsidePrimaryConstructor.kt"); + doTest(fileName); + } + } + + @TestMetadata("js/js.translator/testData/box/reified") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Reified extends AbstractBoxJsTest { + public void testAllFilesPresentInReified() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/reified"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("callChain.kt") + public void testCallChain() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/callChain.kt"); + doTest(fileName); + } + + @TestMetadata("extensionFun.kt") + public void testExtensionFun() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/extensionFun.kt"); + doTest(fileName); + } + + @TestMetadata("extensionLambda.kt") + public void testExtensionLambda() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/extensionLambda.kt"); + doTest(fileName); + } + + @TestMetadata("extensionMethod.kt") + public void testExtensionMethod() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/extensionMethod.kt"); + doTest(fileName); + } + + @TestMetadata("innerObject.kt") + public void testInnerObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/innerObject.kt"); + doTest(fileName); + } + + @TestMetadata("isBool.kt") + public void testIsBool() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isBool.kt"); + doTest(fileName); + } + + @TestMetadata("isChar.kt") + public void testIsChar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isChar.kt"); + doTest(fileName); + } + + @TestMetadata("isClass.kt") + public void testIsClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isClass.kt"); + doTest(fileName); + } + + @TestMetadata("isNumber.kt") + public void testIsNumber() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isNumber.kt"); + doTest(fileName); + } + + @TestMetadata("isString.kt") + public void testIsString() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isString.kt"); + doTest(fileName); + } + + @TestMetadata("isTNullable.kt") + public void testIsTNullable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/isTNullable.kt"); + doTest(fileName); + } + + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/lambda.kt"); + doTest(fileName); + } + + @TestMetadata("lambdaNameClash.kt") + public void testLambdaNameClash() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/lambdaNameClash.kt"); + doTest(fileName); + } + + @TestMetadata("method.kt") + public void testMethod() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/method.kt"); + doTest(fileName); + } + + @TestMetadata("multipleTypeParameters.kt") + public void testMultipleTypeParameters() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/multipleTypeParameters.kt"); + doTest(fileName); + } + + @TestMetadata("noValueParameters.kt") + public void testNoValueParameters() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/noValueParameters.kt"); + doTest(fileName); + } + + @TestMetadata("parameterSwap.kt") + public void testParameterSwap() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/parameterSwap.kt"); + doTest(fileName); + } + + @TestMetadata("vararg.kt") + public void testVararg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/vararg.kt"); + doTest(fileName); + } + + @TestMetadata("withInlineTurnedOff.kt") + public void testWithInlineTurnedOff() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/reified/withInlineTurnedOff.kt"); + doTest(fileName); + } + } + + @TestMetadata("js/js.translator/testData/box/rtti") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Rtti extends AbstractBoxJsTest { + public void testAllFilesPresentInRtti() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/rtti"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("js/js.translator/testData/box/rtti/cases") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Cases extends AbstractBoxJsTest { + public void testAllFilesPresentInCases() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/rtti/cases"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("collectionClassesIsCheck.kt") + public void testCollectionClassesIsCheck() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/collectionClassesIsCheck.kt"); + doTest(fileName); + } + + @TestMetadata("isComparable.kt") + public void testIsComparable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/isComparable.kt"); + doTest(fileName); + } + + @TestMetadata("isJsPrimitiveType.kt") + public void testIsJsPrimitiveType() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/isJsPrimitiveType.kt"); + doTest(fileName); + } + + @TestMetadata("isObject.kt") + public void testIsObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/isObject.kt"); + doTest(fileName); + } + + @TestMetadata("isSameClass.kt") + public void testIsSameClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/isSameClass.kt"); + doTest(fileName); + } + + @TestMetadata("notIsOtherClass.kt") + public void testNotIsOtherClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/notIsOtherClass.kt"); + doTest(fileName); + } + + @TestMetadata("objectExpression.kt") + public void testObjectExpression() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/objectExpression.kt"); + doTest(fileName); + } + + @TestMetadata("onNativeObject.kt") + public void testOnNativeObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/onNativeObject.kt"); + doTest(fileName); + } + + @TestMetadata("rttiForClass.kt") + public void testRttiForClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/rttiForClass.kt"); + doTest(fileName); + } + + @TestMetadata("rttiForTrait.kt") + public void testRttiForTrait() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/rttiForTrait.kt"); + doTest(fileName); + } + + @TestMetadata("rttiForTrait2.kt") + public void testRttiForTrait2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/rttiForTrait2.kt"); + doTest(fileName); + } + + @TestMetadata("sideEffectMethod.kt") + public void testSideEffectMethod() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/sideEffectMethod.kt"); + doTest(fileName); + } + + @TestMetadata("sideEffectProperty.kt") + public void testSideEffectProperty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/sideEffectProperty.kt"); + doTest(fileName); + } + + @TestMetadata("stdlibEmptyListClass.kt") + public void testStdlibEmptyListClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/rtti/cases/stdlibEmptyListClass.kt"); + doTest(fileName); + } + } + + } + + @TestMetadata("js/js.translator/testData/box/safeCall") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class SafeCall extends AbstractBoxJsTest { + public void testAllFilesPresentInSafeCall() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/safeCall"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("safeAccess.kt") + public void testSafeAccess() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeAccess.kt"); + doTest(fileName); + } + + @TestMetadata("safeCall.kt") + public void testSafeCall() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeCall.kt"); + doTest(fileName); + } + + @TestMetadata("safeCallAndIntrinsic.kt") + public void testSafeCallAndIntrinsic() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeCallAndIntrinsic.kt"); + doTest(fileName); + } + + @TestMetadata("safeCallAndSideEffect.kt") + public void testSafeCallAndSideEffect() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeCallAndSideEffect.kt"); + doTest(fileName); + } + + @TestMetadata("safeCallReturnsNullIfFails.kt") + public void testSafeCallReturnsNullIfFails() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeCallReturnsNullIfFails.kt"); + doTest(fileName); + } + + @TestMetadata("safeExtensionFunctionCall.kt") + public void testSafeExtensionFunctionCall() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/safeCall/safeExtensionFunctionCall.kt"); + doTest(fileName); + } + } + + @TestMetadata("js/js.translator/testData/box/simple") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Simple extends AbstractBoxJsTest { + public void testAllFilesPresentInSimple() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/simple"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("assign.kt") + public void testAssign() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/assign.kt"); + doTest(fileName); + } + + @TestMetadata("breakDoWhile.kt") + public void testBreakDoWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/breakDoWhile.kt"); + doTest(fileName); + } + + @TestMetadata("breakWhile.kt") + public void testBreakWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/breakWhile.kt"); + doTest(fileName); + } + + @TestMetadata("classInstantiation.kt") + public void testClassInstantiation() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/classInstantiation.kt"); + doTest(fileName); + } + + @TestMetadata("comparison.kt") + public void testComparison() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/comparison.kt"); + doTest(fileName); + } + + @TestMetadata("complexExpressionAsConstructorParameter.kt") + public void testComplexExpressionAsConstructorParameter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/complexExpressionAsConstructorParameter.kt"); + doTest(fileName); + } + + @TestMetadata("constructorWithParameter.kt") + public void testConstructorWithParameter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/constructorWithParameter.kt"); + doTest(fileName); + } + + @TestMetadata("constructorWithPropertiesAsParameters.kt") + public void testConstructorWithPropertiesAsParameters() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/constructorWithPropertiesAsParameters.kt"); + doTest(fileName); + } + + @TestMetadata("continueDoWhile.kt") + public void testContinueDoWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/continueDoWhile.kt"); + doTest(fileName); + } + + @TestMetadata("continueWhile.kt") + public void testContinueWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/continueWhile.kt"); + doTest(fileName); + } + + @TestMetadata("doWhile.kt") + public void testDoWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/doWhile.kt"); + doTest(fileName); + } + + @TestMetadata("doWhile2.kt") + public void testDoWhile2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/doWhile2.kt"); + doTest(fileName); + } + + @TestMetadata("elseif.kt") + public void testElseif() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/elseif.kt"); + doTest(fileName); + } + + @TestMetadata("if.kt") + public void testIf() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/if.kt"); + doTest(fileName); + } + + @TestMetadata("ifElseAsExpression.kt") + public void testIfElseAsExpression() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/ifElseAsExpression.kt"); + doTest(fileName); + } + + @TestMetadata("methodDeclarationAndCall.kt") + public void testMethodDeclarationAndCall() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/methodDeclarationAndCall.kt"); + doTest(fileName); + } + + @TestMetadata("minusAssignOnProperty.kt") + public void testMinusAssignOnProperty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/minusAssignOnProperty.kt"); + doTest(fileName); + } + + @TestMetadata("notBoolean.kt") + public void testNotBoolean() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/notBoolean.kt"); + doTest(fileName); + } + + @TestMetadata("plusAssign.kt") + public void testPlusAssign() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/plusAssign.kt"); + doTest(fileName); + } + + @TestMetadata("positiveAndNegativeNumbers.kt") + public void testPositiveAndNegativeNumbers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/positiveAndNegativeNumbers.kt"); + doTest(fileName); + } + + @TestMetadata("postfixIntOperations.kt") + public void testPostfixIntOperations() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/postfixIntOperations.kt"); + doTest(fileName); + } + + @TestMetadata("prefixIntOperations.kt") + public void testPrefixIntOperations() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/prefixIntOperations.kt"); + doTest(fileName); + } + + @TestMetadata("propertiesAsParametersInitialized.kt") + public void testPropertiesAsParametersInitialized() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/propertiesAsParametersInitialized.kt"); + doTest(fileName); + } + + @TestMetadata("propertyAccess.kt") + public void testPropertyAccess() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/propertyAccess.kt"); + doTest(fileName); + } + + @TestMetadata("simpleInitializer.kt") + public void testSimpleInitializer() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/simpleInitializer.kt"); + doTest(fileName); + } + + @TestMetadata("while.kt") + public void testWhile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/while.kt"); + doTest(fileName); + } + + @TestMetadata("while2.kt") + public void testWhile2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/simple/while2.kt"); + doTest(fileName); + } + } + + @TestMetadata("js/js.translator/testData/box/standardClasses") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StandardClasses extends AbstractBoxJsTest { + public void testAllFilesPresentInStandardClasses() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/standardClasses"), Pattern.compile("^([^_](.+))\\.kt$"), true); + } + + @TestMetadata("array.kt") + public void testArray() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/array.kt"); + doTest(fileName); + } + + @TestMetadata("arrayAccess.kt") + public void testArrayAccess() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arrayAccess.kt"); + doTest(fileName); + } + + @TestMetadata("arrayConstructorsWithLambda.kt") + public void testArrayConstructorsWithLambda() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arrayConstructorsWithLambda.kt"); + doTest(fileName); + } + + @TestMetadata("arrayFactoryMethods.kt") + public void testArrayFactoryMethods() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arrayFactoryMethods.kt"); + doTest(fileName); + } + + @TestMetadata("arrayFunctionConstructor.kt") + public void testArrayFunctionConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arrayFunctionConstructor.kt"); + doTest(fileName); + } + + @TestMetadata("arrayIsFilledWithNulls.kt") + public void testArrayIsFilledWithNulls() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arrayIsFilledWithNulls.kt"); + doTest(fileName); + } + + @TestMetadata("arraySize.kt") + public void testArraySize() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arraySize.kt"); + doTest(fileName); + } + + @TestMetadata("arraysIterator.kt") + public void testArraysIterator() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/arraysIterator.kt"); + doTest(fileName); + } + + @TestMetadata("hashMapTypeOfElement.kt") + public void testHashMapTypeOfElement() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/hashMapTypeOfElement.kt"); + doTest(fileName); + } + + @TestMetadata("hashSetTypeOfElement.kt") + public void testHashSetTypeOfElement() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/hashSetTypeOfElement.kt"); + doTest(fileName); + } + + @TestMetadata("mutableMapRemoveWithCollision.kt") + public void testMutableMapRemoveWithCollision() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/mutableMapRemoveWithCollision.kt"); + doTest(fileName); + } + + @TestMetadata("stringBuilder.kt") + public void testStringBuilder() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/standardClasses/stringBuilder.kt"); + doTest(fileName); + } + } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/LightReflectionTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/LightReflectionTestGenerated.java deleted file mode 100644 index ba024a92962..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/LightReflectionTestGenerated.java +++ /dev/null @@ -1,55 +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/reflection/light/cases") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class LightReflectionTestGenerated extends AbstractLightReflectionTest { - public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/reflection/light/cases"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("jsClass.kt") - public void testJsClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reflection/light/cases/jsClass.kt"); - doTest(fileName); - } - - @TestMetadata("jsClassName.kt") - public void testJsClassName() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reflection/light/cases/jsClassName.kt"); - doTest(fileName); - } - - @TestMetadata("jsClassOnReifiedType.kt") - public void testJsClassOnReifiedType() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reflection/light/cases/jsClassOnReifiedType.kt"); - doTest(fileName); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RegressionTest.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RegressionTest.java deleted file mode 100644 index d958c200eb0..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RegressionTest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.js.test.semantics; - -import org.jetbrains.kotlin.js.test.SingleFileTranslationTest; - -public final class RegressionTest extends SingleFileTranslationTest { - - public RegressionTest() { - super("regression/"); - } - - public void testKt2470() throws Exception { - checkFooBoxIsOk(); - } - - public void testTmpInsidePrimaryConstructor() throws Exception { - checkFooBoxIsOk(); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/ReifiedTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/ReifiedTestGenerated.java deleted file mode 100644 index cfcc6593d01..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/ReifiedTestGenerated.java +++ /dev/null @@ -1,151 +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/reified/cases") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class ReifiedTestGenerated extends AbstractReifiedTest { - public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/reified/cases"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("callChain.kt") - public void testCallChain() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/callChain.kt"); - doTest(fileName); - } - - @TestMetadata("extensionFun.kt") - public void testExtensionFun() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/extensionFun.kt"); - doTest(fileName); - } - - @TestMetadata("extensionLambda.kt") - public void testExtensionLambda() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/extensionLambda.kt"); - doTest(fileName); - } - - @TestMetadata("extensionMethod.kt") - public void testExtensionMethod() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/extensionMethod.kt"); - doTest(fileName); - } - - @TestMetadata("innerObject.kt") - public void testInnerObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/innerObject.kt"); - doTest(fileName); - } - - @TestMetadata("isBool.kt") - public void testIsBool() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isBool.kt"); - doTest(fileName); - } - - @TestMetadata("isChar.kt") - public void testIsChar() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isChar.kt"); - doTest(fileName); - } - - @TestMetadata("isClass.kt") - public void testIsClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isClass.kt"); - doTest(fileName); - } - - @TestMetadata("isNumber.kt") - public void testIsNumber() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isNumber.kt"); - doTest(fileName); - } - - @TestMetadata("isString.kt") - public void testIsString() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isString.kt"); - doTest(fileName); - } - - @TestMetadata("isTNullable.kt") - public void testIsTNullable() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/isTNullable.kt"); - doTest(fileName); - } - - @TestMetadata("lambda.kt") - public void testLambda() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/lambda.kt"); - doTest(fileName); - } - - @TestMetadata("lambdaNameClash.kt") - public void testLambdaNameClash() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/lambdaNameClash.kt"); - doTest(fileName); - } - - @TestMetadata("method.kt") - public void testMethod() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/method.kt"); - doTest(fileName); - } - - @TestMetadata("multipleTypeParameters.kt") - public void testMultipleTypeParameters() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/multipleTypeParameters.kt"); - doTest(fileName); - } - - @TestMetadata("noValueParameters.kt") - public void testNoValueParameters() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/noValueParameters.kt"); - doTest(fileName); - } - - @TestMetadata("parameterSwap.kt") - public void testParameterSwap() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/parameterSwap.kt"); - doTest(fileName); - } - - @TestMetadata("vararg.kt") - public void testVararg() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/vararg.kt"); - doTest(fileName); - } - - @TestMetadata("withInlineTurnedOff.kt") - public void testWithInlineTurnedOff() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/reified/cases/withInlineTurnedOff.kt"); - doTest(fileName); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RttiTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RttiTestGenerated.java deleted file mode 100644 index d32f67bba52..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/RttiTestGenerated.java +++ /dev/null @@ -1,127 +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/rtti/cases") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class RttiTestGenerated extends AbstractRttiTest { - public void testAllFilesPresentInCases() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/rtti/cases"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("collectionClassesIsCheck.kt") - public void testCollectionClassesIsCheck() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/collectionClassesIsCheck.kt"); - doTest(fileName); - } - - @TestMetadata("isComparable.kt") - public void testIsComparable() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/isComparable.kt"); - doTest(fileName); - } - - @TestMetadata("isJsPrimitiveType.kt") - public void testIsJsPrimitiveType() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/isJsPrimitiveType.kt"); - doTest(fileName); - } - - @TestMetadata("isObject.kt") - public void testIsObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/isObject.kt"); - doTest(fileName); - } - - @TestMetadata("isReifiedObject.kt") - public void testIsReifiedObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/isReifiedObject.kt"); - doTest(fileName); - } - - @TestMetadata("isSameClass.kt") - public void testIsSameClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/isSameClass.kt"); - doTest(fileName); - } - - @TestMetadata("notIsOtherClass.kt") - public void testNotIsOtherClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/notIsOtherClass.kt"); - doTest(fileName); - } - - @TestMetadata("objectExpression.kt") - public void testObjectExpression() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/objectExpression.kt"); - doTest(fileName); - } - - @TestMetadata("onNativeObject.kt") - public void testOnNativeObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/onNativeObject.kt"); - doTest(fileName); - } - - @TestMetadata("rttiForClass.kt") - public void testRttiForClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/rttiForClass.kt"); - doTest(fileName); - } - - @TestMetadata("rttiForTrait.kt") - public void testRttiForTrait() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/rttiForTrait.kt"); - doTest(fileName); - } - - @TestMetadata("rttiForTrait2.kt") - public void testRttiForTrait2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/rttiForTrait2.kt"); - doTest(fileName); - } - - @TestMetadata("sideEffectMethod.kt") - public void testSideEffectMethod() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/sideEffectMethod.kt"); - doTest(fileName); - } - - @TestMetadata("sideEffectProperty.kt") - public void testSideEffectProperty() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/sideEffectProperty.kt"); - doTest(fileName); - } - - @TestMetadata("stdlibEmptyListClass.kt") - public void testStdlibEmptyListClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/rtti/cases/stdlibEmptyListClass.kt"); - doTest(fileName); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SafeCallTest.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SafeCallTest.java deleted file mode 100644 index b784c78b7f3..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SafeCallTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.js.test.semantics; - -import org.jetbrains.kotlin.js.test.SingleFileTranslationTest; - -public final class SafeCallTest extends SingleFileTranslationTest { - - public SafeCallTest() { - super("safeCall/"); - } - - public void testSafeAccess() throws Exception { - fooBoxTest(); - } - - public void testSafeExtensionFunctionCall() throws Exception { - checkFooBoxIsOk("safeExtensionFunctionCall.kt"); - } - - public void testSafeCall() throws Exception { - fooBoxTest(); - } - - public void testSafeCallReturnsNullIfFails() throws Exception { - fooBoxTest(); - } - - public void testSafeCallAndSideEffect() throws Exception { - checkFooBoxIsOk(); - } - - public void testSafeCallAndIntrinsic() throws Exception { - checkFooBoxIsOk(); - } -} diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SimpleTest.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SimpleTest.java deleted file mode 100644 index cd4e6a1ff8f..00000000000 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/SimpleTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.js.test.semantics; - -import junit.framework.Test; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.js.test.SingleFileTranslationTest; - -@SuppressWarnings("JUnitTestCaseWithNoTests") -public final class SimpleTest extends SingleFileTranslationTest { - - @NotNull - private final String filename; - - @SuppressWarnings("JUnitTestCaseWithNonTrivialConstructors") - public SimpleTest(@NotNull String filename) { - super("simple/"); - this.filename = filename; - } - - @Override - public void runTest() throws Exception { - checkFooBoxIsTrue(filename); - } - - public static Test suite() throws Exception { - return TranslatorTestCaseBuilder - .suiteForDirectory(TEST_DATA_DIR_PATH + "simple/cases/", new TranslatorTestCaseBuilder.NamedTestFactory() { - @NotNull - @Override - public Test createTest(@NotNull String filename) { - SimpleTest examplesTest = new SimpleTest(filename); - examplesTest.setName(filename); - return examplesTest; - } - }); - } -} 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 bcc81607312..2d48d082d51 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 @@ -60,9 +60,3 @@ abstract class AbstractSuperTest : JsBasicBoxTest("super/") abstract class AbstractLocalClassesTest : JsBasicBoxTest("localClasses/") abstract class AbstractNonLocalReturnsTest : JsBasicBoxTest("inline.generated/nonLocalReturns/") - -abstract class AbstractRttiTest : JsBasicBoxTest("rtti/") - -abstract class AbstractLightReflectionTest : JsBasicBoxTest("reflection/light/") - -abstract class AbstractTypeAliasesTests : JsBasicBoxTest("typealiases/") \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/arrayThrowsExceptionOnOOBaccess.kt b/js/js.translator/testData/arrayThrowsExceptionOnOOBaccess.kt similarity index 60% rename from js/js.translator/testData/standardClasses/cases/arrayThrowsExceptionOnOOBaccess.kt rename to js/js.translator/testData/arrayThrowsExceptionOnOOBaccess.kt index 6c131e54709..9456c20ae2a 100644 --- a/js/js.translator/testData/standardClasses/cases/arrayThrowsExceptionOnOOBaccess.kt +++ b/js/js.translator/testData/arrayThrowsExceptionOnOOBaccess.kt @@ -6,4 +6,4 @@ class A() { val a1 = Array(3) val a2 = Array(2) -fun box() = (a1[4] == null) \ No newline at end of file +fun box() = if (a1[4] == null) "OK" else "fail" \ No newline at end of file diff --git a/js/js.translator/testData/reflection/light/_commonFiles/declarations.kt b/js/js.translator/testData/box/reflection/light/_common.kt similarity index 100% rename from js/js.translator/testData/reflection/light/_commonFiles/declarations.kt rename to js/js.translator/testData/box/reflection/light/_common.kt diff --git a/js/js.translator/testData/reflection/light/cases/jsClass.kt b/js/js.translator/testData/box/reflection/light/jsClass.kt similarity index 100% rename from js/js.translator/testData/reflection/light/cases/jsClass.kt rename to js/js.translator/testData/box/reflection/light/jsClass.kt diff --git a/js/js.translator/testData/reflection/light/cases/jsClassName.kt b/js/js.translator/testData/box/reflection/light/jsClassName.kt similarity index 100% rename from js/js.translator/testData/reflection/light/cases/jsClassName.kt rename to js/js.translator/testData/box/reflection/light/jsClassName.kt diff --git a/js/js.translator/testData/reflection/light/cases/jsClassOnReifiedType.kt b/js/js.translator/testData/box/reflection/light/jsClassOnReifiedType.kt similarity index 100% rename from js/js.translator/testData/reflection/light/cases/jsClassOnReifiedType.kt rename to js/js.translator/testData/box/reflection/light/jsClassOnReifiedType.kt diff --git a/js/js.translator/testData/regression/cases/kt2470.kt b/js/js.translator/testData/box/regression/kt2470.kt similarity index 100% rename from js/js.translator/testData/regression/cases/kt2470.kt rename to js/js.translator/testData/box/regression/kt2470.kt diff --git a/js/js.translator/testData/regression/cases/tmpInsidePrimaryConstructor.kt b/js/js.translator/testData/box/regression/tmpInsidePrimaryConstructor.kt similarity index 100% rename from js/js.translator/testData/regression/cases/tmpInsidePrimaryConstructor.kt rename to js/js.translator/testData/box/regression/tmpInsidePrimaryConstructor.kt diff --git a/js/js.translator/testData/reified/_commonFiles/isInstance.kt b/js/js.translator/testData/box/reified/_common.kt similarity index 100% rename from js/js.translator/testData/reified/_commonFiles/isInstance.kt rename to js/js.translator/testData/box/reified/_common.kt diff --git a/js/js.translator/testData/reified/cases/callChain.kt b/js/js.translator/testData/box/reified/callChain.kt similarity index 100% rename from js/js.translator/testData/reified/cases/callChain.kt rename to js/js.translator/testData/box/reified/callChain.kt diff --git a/js/js.translator/testData/reified/cases/extensionFun.kt b/js/js.translator/testData/box/reified/extensionFun.kt similarity index 100% rename from js/js.translator/testData/reified/cases/extensionFun.kt rename to js/js.translator/testData/box/reified/extensionFun.kt diff --git a/js/js.translator/testData/reified/cases/extensionLambda.kt b/js/js.translator/testData/box/reified/extensionLambda.kt similarity index 100% rename from js/js.translator/testData/reified/cases/extensionLambda.kt rename to js/js.translator/testData/box/reified/extensionLambda.kt diff --git a/js/js.translator/testData/reified/cases/extensionMethod.kt b/js/js.translator/testData/box/reified/extensionMethod.kt similarity index 100% rename from js/js.translator/testData/reified/cases/extensionMethod.kt rename to js/js.translator/testData/box/reified/extensionMethod.kt diff --git a/js/js.translator/testData/reified/cases/innerObject.kt b/js/js.translator/testData/box/reified/innerObject.kt similarity index 100% rename from js/js.translator/testData/reified/cases/innerObject.kt rename to js/js.translator/testData/box/reified/innerObject.kt diff --git a/js/js.translator/testData/reified/cases/isBool.kt b/js/js.translator/testData/box/reified/isBool.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isBool.kt rename to js/js.translator/testData/box/reified/isBool.kt diff --git a/js/js.translator/testData/reified/cases/isChar.kt b/js/js.translator/testData/box/reified/isChar.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isChar.kt rename to js/js.translator/testData/box/reified/isChar.kt diff --git a/js/js.translator/testData/reified/cases/isClass.kt b/js/js.translator/testData/box/reified/isClass.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isClass.kt rename to js/js.translator/testData/box/reified/isClass.kt diff --git a/js/js.translator/testData/reified/cases/isNumber.kt b/js/js.translator/testData/box/reified/isNumber.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isNumber.kt rename to js/js.translator/testData/box/reified/isNumber.kt diff --git a/js/js.translator/testData/reified/cases/isString.kt b/js/js.translator/testData/box/reified/isString.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isString.kt rename to js/js.translator/testData/box/reified/isString.kt diff --git a/js/js.translator/testData/reified/cases/isTNullable.kt b/js/js.translator/testData/box/reified/isTNullable.kt similarity index 100% rename from js/js.translator/testData/reified/cases/isTNullable.kt rename to js/js.translator/testData/box/reified/isTNullable.kt diff --git a/js/js.translator/testData/reified/cases/lambda.kt b/js/js.translator/testData/box/reified/lambda.kt similarity index 100% rename from js/js.translator/testData/reified/cases/lambda.kt rename to js/js.translator/testData/box/reified/lambda.kt diff --git a/js/js.translator/testData/reified/cases/lambdaNameClash.kt b/js/js.translator/testData/box/reified/lambdaNameClash.kt similarity index 100% rename from js/js.translator/testData/reified/cases/lambdaNameClash.kt rename to js/js.translator/testData/box/reified/lambdaNameClash.kt diff --git a/js/js.translator/testData/reified/cases/method.kt b/js/js.translator/testData/box/reified/method.kt similarity index 100% rename from js/js.translator/testData/reified/cases/method.kt rename to js/js.translator/testData/box/reified/method.kt diff --git a/js/js.translator/testData/reified/cases/multipleTypeParameters.kt b/js/js.translator/testData/box/reified/multipleTypeParameters.kt similarity index 100% rename from js/js.translator/testData/reified/cases/multipleTypeParameters.kt rename to js/js.translator/testData/box/reified/multipleTypeParameters.kt diff --git a/js/js.translator/testData/reified/cases/noValueParameters.kt b/js/js.translator/testData/box/reified/noValueParameters.kt similarity index 100% rename from js/js.translator/testData/reified/cases/noValueParameters.kt rename to js/js.translator/testData/box/reified/noValueParameters.kt diff --git a/js/js.translator/testData/reified/cases/parameterSwap.kt b/js/js.translator/testData/box/reified/parameterSwap.kt similarity index 100% rename from js/js.translator/testData/reified/cases/parameterSwap.kt rename to js/js.translator/testData/box/reified/parameterSwap.kt diff --git a/js/js.translator/testData/reified/cases/vararg.kt b/js/js.translator/testData/box/reified/vararg.kt similarity index 100% rename from js/js.translator/testData/reified/cases/vararg.kt rename to js/js.translator/testData/box/reified/vararg.kt diff --git a/js/js.translator/testData/reified/cases/withInlineTurnedOff.kt b/js/js.translator/testData/box/reified/withInlineTurnedOff.kt similarity index 100% rename from js/js.translator/testData/reified/cases/withInlineTurnedOff.kt rename to js/js.translator/testData/box/reified/withInlineTurnedOff.kt diff --git a/js/js.translator/testData/rtti/cases/collectionClassesIsCheck.kt b/js/js.translator/testData/box/rtti/cases/collectionClassesIsCheck.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/collectionClassesIsCheck.kt rename to js/js.translator/testData/box/rtti/cases/collectionClassesIsCheck.kt diff --git a/js/js.translator/testData/rtti/cases/isComparable.kt b/js/js.translator/testData/box/rtti/cases/isComparable.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/isComparable.kt rename to js/js.translator/testData/box/rtti/cases/isComparable.kt diff --git a/js/js.translator/testData/rtti/cases/isJsPrimitiveType.kt b/js/js.translator/testData/box/rtti/cases/isJsPrimitiveType.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/isJsPrimitiveType.kt rename to js/js.translator/testData/box/rtti/cases/isJsPrimitiveType.kt diff --git a/js/js.translator/testData/rtti/cases/isObject.kt b/js/js.translator/testData/box/rtti/cases/isObject.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/isObject.kt rename to js/js.translator/testData/box/rtti/cases/isObject.kt diff --git a/js/js.translator/testData/rtti/cases/isSameClass.kt b/js/js.translator/testData/box/rtti/cases/isSameClass.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/isSameClass.kt rename to js/js.translator/testData/box/rtti/cases/isSameClass.kt diff --git a/js/js.translator/testData/rtti/cases/notIsOtherClass.kt b/js/js.translator/testData/box/rtti/cases/notIsOtherClass.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/notIsOtherClass.kt rename to js/js.translator/testData/box/rtti/cases/notIsOtherClass.kt diff --git a/js/js.translator/testData/rtti/cases/objectExpression.kt b/js/js.translator/testData/box/rtti/cases/objectExpression.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/objectExpression.kt rename to js/js.translator/testData/box/rtti/cases/objectExpression.kt diff --git a/js/js.translator/testData/rtti/cases/onNativeObject.kt b/js/js.translator/testData/box/rtti/cases/onNativeObject.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/onNativeObject.kt rename to js/js.translator/testData/box/rtti/cases/onNativeObject.kt diff --git a/js/js.translator/testData/rtti/cases/rttiForClass.kt b/js/js.translator/testData/box/rtti/cases/rttiForClass.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/rttiForClass.kt rename to js/js.translator/testData/box/rtti/cases/rttiForClass.kt diff --git a/js/js.translator/testData/rtti/cases/rttiForTrait.kt b/js/js.translator/testData/box/rtti/cases/rttiForTrait.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/rttiForTrait.kt rename to js/js.translator/testData/box/rtti/cases/rttiForTrait.kt diff --git a/js/js.translator/testData/rtti/cases/rttiForTrait2.kt b/js/js.translator/testData/box/rtti/cases/rttiForTrait2.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/rttiForTrait2.kt rename to js/js.translator/testData/box/rtti/cases/rttiForTrait2.kt diff --git a/js/js.translator/testData/rtti/cases/sideEffectMethod.kt b/js/js.translator/testData/box/rtti/cases/sideEffectMethod.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/sideEffectMethod.kt rename to js/js.translator/testData/box/rtti/cases/sideEffectMethod.kt diff --git a/js/js.translator/testData/rtti/cases/sideEffectProperty.kt b/js/js.translator/testData/box/rtti/cases/sideEffectProperty.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/sideEffectProperty.kt rename to js/js.translator/testData/box/rtti/cases/sideEffectProperty.kt diff --git a/js/js.translator/testData/rtti/cases/stdlibEmptyListClass.kt b/js/js.translator/testData/box/rtti/cases/stdlibEmptyListClass.kt similarity index 100% rename from js/js.translator/testData/rtti/cases/stdlibEmptyListClass.kt rename to js/js.translator/testData/box/rtti/cases/stdlibEmptyListClass.kt diff --git a/js/js.translator/testData/safeCall/cases/safeAccess.kt b/js/js.translator/testData/box/safeCall/safeAccess.kt similarity index 56% rename from js/js.translator/testData/safeCall/cases/safeAccess.kt rename to js/js.translator/testData/box/safeCall/safeAccess.kt index 70dde21cf8a..f80ee10a94f 100644 --- a/js/js.translator/testData/safeCall/cases/safeAccess.kt +++ b/js/js.translator/testData/box/safeCall/safeAccess.kt @@ -4,15 +4,19 @@ class A() { var c = 3 } -fun box(): Boolean { +fun box(): String { var a1: A? = A() var a2: A? = null a1?.c = 4 a2?.c = 5 if (a1?.c != 4) { - return false; + return "fail1" } a2 = a1 a2?.c = 5 - return (a2?.c == 5) && (a1?.c == 5) + + if (a2?.c != 5) return "fail2" + if (a1?.c != 5) return "fail3" + + return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/safeCall/cases/safeCall.kt b/js/js.translator/testData/box/safeCall/safeCall.kt similarity index 72% rename from js/js.translator/testData/safeCall/cases/safeCall.kt rename to js/js.translator/testData/box/safeCall/safeCall.kt index eaf9401a6d6..f37a20f13b5 100644 --- a/js/js.translator/testData/safeCall/cases/safeCall.kt +++ b/js/js.translator/testData/box/safeCall/safeCall.kt @@ -5,8 +5,8 @@ class A() { } } -fun box(): Boolean { +fun box(): String { var a: A? = null; a?.doSomething() - return true; + return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/safeCall/cases/safeCallAndIntrinsic.kt b/js/js.translator/testData/box/safeCall/safeCallAndIntrinsic.kt similarity index 100% rename from js/js.translator/testData/safeCall/cases/safeCallAndIntrinsic.kt rename to js/js.translator/testData/box/safeCall/safeCallAndIntrinsic.kt diff --git a/js/js.translator/testData/safeCall/cases/safeCallAndSideEffect.kt b/js/js.translator/testData/box/safeCall/safeCallAndSideEffect.kt similarity index 100% rename from js/js.translator/testData/safeCall/cases/safeCallAndSideEffect.kt rename to js/js.translator/testData/box/safeCall/safeCallAndSideEffect.kt diff --git a/js/js.translator/testData/box/safeCall/safeCallReturnsNullIfFails.kt b/js/js.translator/testData/box/safeCall/safeCallReturnsNullIfFails.kt new file mode 100644 index 00000000000..4e2478b07dc --- /dev/null +++ b/js/js.translator/testData/box/safeCall/safeCallReturnsNullIfFails.kt @@ -0,0 +1,10 @@ +package foo + +class A() { + val x = 4 +} + +fun box(): String { + var a: A? = null; + return if (a?.x == null) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/safeCall/cases/safeExtensionFunctionCall.kt b/js/js.translator/testData/box/safeCall/safeExtensionFunctionCall.kt similarity index 100% rename from js/js.translator/testData/safeCall/cases/safeExtensionFunctionCall.kt rename to js/js.translator/testData/box/safeCall/safeExtensionFunctionCall.kt diff --git a/js/js.translator/testData/simple/cases/assign.kt b/js/js.translator/testData/box/simple/assign.kt similarity index 64% rename from js/js.translator/testData/simple/cases/assign.kt rename to js/js.translator/testData/box/simple/assign.kt index 4cea8e71836..fed0468930a 100644 --- a/js/js.translator/testData/simple/cases/assign.kt +++ b/js/js.translator/testData/box/simple/assign.kt @@ -6,4 +6,4 @@ fun f(): Int { return x } -fun box() = f() == 2 \ No newline at end of file +fun box() = if (f() == 2) "OK" else "fail" \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/breakDoWhile.kt b/js/js.translator/testData/box/simple/breakDoWhile.kt similarity index 56% rename from js/js.translator/testData/simple/cases/breakDoWhile.kt rename to js/js.translator/testData/box/simple/breakDoWhile.kt index d52ce128a4d..8233c58146d 100644 --- a/js/js.translator/testData/simple/cases/breakDoWhile.kt +++ b/js/js.translator/testData/box/simple/breakDoWhile.kt @@ -1,6 +1,6 @@ package foo -fun box(): Boolean { +fun box(): String { var i = 0 do { if (i == 3) { @@ -8,7 +8,7 @@ fun box(): Boolean { } ++i; } - while ( i < 100) + while (i < 100) - return i == 3 + return if (i == 3) "OK" else "fail: $i" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/breakWhile.kt b/js/js.translator/testData/box/simple/breakWhile.kt similarity index 53% rename from js/js.translator/testData/simple/cases/breakWhile.kt rename to js/js.translator/testData/box/simple/breakWhile.kt index 329fe414d94..ab32bc0eccf 100644 --- a/js/js.translator/testData/simple/cases/breakWhile.kt +++ b/js/js.translator/testData/box/simple/breakWhile.kt @@ -1,13 +1,13 @@ package foo -fun box(): Boolean { +fun box(): String { var i = 0 - while ( i < 100) { + while (i < 100) { if (i == 3) { break; } ++i; } - return i == 3 + return if (i == 3) "OK" else "fail: $i" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/classInstantiation.kt b/js/js.translator/testData/box/simple/classInstantiation.kt similarity index 59% rename from js/js.translator/testData/simple/cases/classInstantiation.kt rename to js/js.translator/testData/box/simple/classInstantiation.kt index 2de7d76dd04..94dc3f9a084 100644 --- a/js/js.translator/testData/simple/cases/classInstantiation.kt +++ b/js/js.translator/testData/box/simple/classInstantiation.kt @@ -3,7 +3,7 @@ package foo class Test() { } -fun box(): Boolean { +fun box(): String { var test = Test() - return true + return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/comparison.kt b/js/js.translator/testData/box/simple/comparison.kt similarity index 50% rename from js/js.translator/testData/simple/cases/comparison.kt rename to js/js.translator/testData/box/simple/comparison.kt index 9b18a6b5349..2ca447e2753 100644 --- a/js/js.translator/testData/simple/cases/comparison.kt +++ b/js/js.translator/testData/box/simple/comparison.kt @@ -1,9 +1,9 @@ package foo -fun box(): Boolean { +fun box(): String { val a = 2; val b = 3; var c = 4; - return (a < c) + return if (a < c) "OK" else "fail" } diff --git a/js/js.translator/testData/simple/cases/complexExpressionAsConstructorParameter.kt b/js/js.translator/testData/box/simple/complexExpressionAsConstructorParameter.kt similarity index 50% rename from js/js.translator/testData/simple/cases/complexExpressionAsConstructorParameter.kt rename to js/js.translator/testData/box/simple/complexExpressionAsConstructorParameter.kt index f2762a6e546..51b6ae968ea 100644 --- a/js/js.translator/testData/simple/cases/complexExpressionAsConstructorParameter.kt +++ b/js/js.translator/testData/box/simple/complexExpressionAsConstructorParameter.kt @@ -5,7 +5,10 @@ class Test(a: Int, b: Int) { val d = b } -fun box(): Boolean { +fun box(): String { val test = Test(1 + 6 * 3, 10 % 2) - return (test.c == 19) && (test.d == 0) + if (test.c != 19) return "fail1" + if (test.d != 0) return "fail2" + + return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/constructorWithParameter.kt b/js/js.translator/testData/box/simple/constructorWithParameter.kt similarity index 53% rename from js/js.translator/testData/simple/cases/constructorWithParameter.kt rename to js/js.translator/testData/box/simple/constructorWithParameter.kt index 9f54dc399e1..86543d6e66e 100644 --- a/js/js.translator/testData/simple/cases/constructorWithParameter.kt +++ b/js/js.translator/testData/box/simple/constructorWithParameter.kt @@ -4,7 +4,7 @@ class Test(a: Int) { val b = a } -fun box(): Boolean { +fun box(): String { var test = Test(1) - return (test.b == 1) + return if (test.b == 1) "OK" else "fail" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/constructorWithPropertiesAsParameters.kt b/js/js.translator/testData/box/simple/constructorWithPropertiesAsParameters.kt similarity index 57% rename from js/js.translator/testData/simple/cases/constructorWithPropertiesAsParameters.kt rename to js/js.translator/testData/box/simple/constructorWithPropertiesAsParameters.kt index 94867ed75bd..9db70c6202a 100644 --- a/js/js.translator/testData/simple/cases/constructorWithPropertiesAsParameters.kt +++ b/js/js.translator/testData/box/simple/constructorWithPropertiesAsParameters.kt @@ -4,9 +4,9 @@ class A(var b: Int, var a: String) { } -fun box(): Boolean { +fun box(): String { val c = A(1, "1") c.b = 2 c.a = "2" - return (c.b == 2 && c.a == "2") + return if (c.b == 2 && c.a == "2") "OK" else "fail" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/continueDoWhile.kt b/js/js.translator/testData/box/simple/continueDoWhile.kt similarity index 75% rename from js/js.translator/testData/simple/cases/continueDoWhile.kt rename to js/js.translator/testData/box/simple/continueDoWhile.kt index f9a3dedb33e..dbb9ad75974 100644 --- a/js/js.translator/testData/simple/cases/continueDoWhile.kt +++ b/js/js.translator/testData/box/simple/continueDoWhile.kt @@ -1,6 +1,6 @@ package foo -fun box(): Boolean { +fun box(): String { var i = 0 var b = true do { @@ -12,5 +12,5 @@ fun box(): Boolean { } while (i < 100) - return b + return if (b) "OK" else "fail" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/continueWhile.kt b/js/js.translator/testData/box/simple/continueWhile.kt similarity index 74% rename from js/js.translator/testData/simple/cases/continueWhile.kt rename to js/js.translator/testData/box/simple/continueWhile.kt index 830acbf2638..fd235444f13 100644 --- a/js/js.translator/testData/simple/cases/continueWhile.kt +++ b/js/js.translator/testData/box/simple/continueWhile.kt @@ -1,6 +1,6 @@ package foo -fun box(): Boolean { +fun box(): String { var i = 0 var b = true while (i < 100) { @@ -11,5 +11,5 @@ fun box(): Boolean { b = false; } - return b + return if (b) "OK" else "fail" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/doWhile.kt b/js/js.translator/testData/box/simple/doWhile.kt similarity index 72% rename from js/js.translator/testData/simple/cases/doWhile.kt rename to js/js.translator/testData/box/simple/doWhile.kt index 61d15ec79b8..5d76118e52b 100644 --- a/js/js.translator/testData/simple/cases/doWhile.kt +++ b/js/js.translator/testData/box/simple/doWhile.kt @@ -1,6 +1,6 @@ package foo -fun box(): Boolean { +fun box(): String { val a = 50; var b = 0; @@ -11,8 +11,8 @@ fun box(): Boolean { } while (b < a) if (c == 100) { - return true; + return "OK" } - return false; + return "fail: $c" } diff --git a/js/js.translator/testData/simple/cases/doWhile2.kt b/js/js.translator/testData/box/simple/doWhile2.kt similarity index 62% rename from js/js.translator/testData/simple/cases/doWhile2.kt rename to js/js.translator/testData/box/simple/doWhile2.kt index fad8812c88b..7fc946dfcfb 100644 --- a/js/js.translator/testData/simple/cases/doWhile2.kt +++ b/js/js.translator/testData/box/simple/doWhile2.kt @@ -1,14 +1,14 @@ package foo -fun box(): Boolean { +fun box(): String { var x = 2; do { x = 1; } while (3 < 2) if (x == 1) { - return true; + return "OK" } - return false; + return "fail: $x" } diff --git a/js/js.translator/testData/simple/cases/elseif.kt b/js/js.translator/testData/box/simple/elseif.kt similarity index 84% rename from js/js.translator/testData/simple/cases/elseif.kt rename to js/js.translator/testData/box/simple/elseif.kt index c88b830d961..809c3dc527c 100644 --- a/js/js.translator/testData/simple/cases/elseif.kt +++ b/js/js.translator/testData/box/simple/elseif.kt @@ -18,4 +18,4 @@ fun bor(): Int { } } -fun box() = bor() == 5 \ No newline at end of file +fun box() = if (bor() == 5) "OK" else "fail" \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/if.kt b/js/js.translator/testData/box/simple/if.kt similarity index 84% rename from js/js.translator/testData/simple/cases/if.kt rename to js/js.translator/testData/box/simple/if.kt index 5e9d46ae66e..29de1086023 100644 --- a/js/js.translator/testData/simple/cases/if.kt +++ b/js/js.translator/testData/box/simple/if.kt @@ -18,5 +18,5 @@ fun bol(): Int { } } -fun box() = bol() == 5 +fun box() = if (bol() == 5) "OK" else "fail" diff --git a/js/js.translator/testData/box/simple/ifElseAsExpression.kt b/js/js.translator/testData/box/simple/ifElseAsExpression.kt new file mode 100644 index 00000000000..ca436129b66 --- /dev/null +++ b/js/js.translator/testData/box/simple/ifElseAsExpression.kt @@ -0,0 +1,6 @@ +package foo + +fun box(): String { + val a = 2; + return if (a == 2) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/methodDeclarationAndCall.kt b/js/js.translator/testData/box/simple/methodDeclarationAndCall.kt similarity index 54% rename from js/js.translator/testData/simple/cases/methodDeclarationAndCall.kt rename to js/js.translator/testData/box/simple/methodDeclarationAndCall.kt index e81ea327b10..ea3024d7b04 100644 --- a/js/js.translator/testData/simple/cases/methodDeclarationAndCall.kt +++ b/js/js.translator/testData/box/simple/methodDeclarationAndCall.kt @@ -1,12 +1,12 @@ package foo class Test() { - fun method(): Boolean { - return true; + fun method(): String { + return "OK" } } -fun box(): Boolean { +fun box(): String { var test = Test() return test.method() } \ No newline at end of file diff --git a/js/js.translator/testData/box/simple/minusAssignOnProperty.kt b/js/js.translator/testData/box/simple/minusAssignOnProperty.kt new file mode 100644 index 00000000000..5ca34496455 --- /dev/null +++ b/js/js.translator/testData/box/simple/minusAssignOnProperty.kt @@ -0,0 +1,10 @@ +package foo + +var a = 3 + +fun box(): String { + a -= 10 + + return if (a == -7) "OK" else "fail" + +} \ No newline at end of file diff --git a/js/js.translator/testData/box/simple/notBoolean.kt b/js/js.translator/testData/box/simple/notBoolean.kt new file mode 100644 index 00000000000..9165f30c6e3 --- /dev/null +++ b/js/js.translator/testData/box/simple/notBoolean.kt @@ -0,0 +1,5 @@ +package foo + +fun box(): String { + return if (!false) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/box/simple/plusAssign.kt b/js/js.translator/testData/box/simple/plusAssign.kt new file mode 100644 index 00000000000..8669b4f022a --- /dev/null +++ b/js/js.translator/testData/box/simple/plusAssign.kt @@ -0,0 +1,8 @@ +package foo + + +fun box(): String { + var a = 3 + a += 3 + return if (a == 6) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/box/simple/positiveAndNegativeNumbers.kt b/js/js.translator/testData/box/simple/positiveAndNegativeNumbers.kt new file mode 100644 index 00000000000..c40b52e540e --- /dev/null +++ b/js/js.translator/testData/box/simple/positiveAndNegativeNumbers.kt @@ -0,0 +1,7 @@ +package foo + +fun box(): String { + val b = -3 + val c = +3 + return if ((c - b) == 6) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/box/simple/postfixIntOperations.kt b/js/js.translator/testData/box/simple/postfixIntOperations.kt new file mode 100644 index 00000000000..b1a34345408 --- /dev/null +++ b/js/js.translator/testData/box/simple/postfixIntOperations.kt @@ -0,0 +1,10 @@ +package foo + +fun box(): String { + var a = 3; + val b = a++; + a--; + a--; + return if ((a++ == 2) && (b == 3)) "OK" else "fail" +} + diff --git a/js/js.translator/testData/box/simple/prefixIntOperations.kt b/js/js.translator/testData/box/simple/prefixIntOperations.kt new file mode 100644 index 00000000000..880813b1ca9 --- /dev/null +++ b/js/js.translator/testData/box/simple/prefixIntOperations.kt @@ -0,0 +1,10 @@ +package foo + +fun box(): String { + var a = 3; + val b = ++a; + --a; + --a; + return if ((--a == 1) && (b == 4)) "OK" else "fail" +} + diff --git a/js/js.translator/testData/simple/cases/propertiesAsParametersInitialized.kt b/js/js.translator/testData/box/simple/propertiesAsParametersInitialized.kt similarity index 50% rename from js/js.translator/testData/simple/cases/propertiesAsParametersInitialized.kt rename to js/js.translator/testData/box/simple/propertiesAsParametersInitialized.kt index dd127af5224..77d0e685202 100644 --- a/js/js.translator/testData/simple/cases/propertiesAsParametersInitialized.kt +++ b/js/js.translator/testData/box/simple/propertiesAsParametersInitialized.kt @@ -4,7 +4,7 @@ class A(var b: Int, var a: String) { } -fun box(): Boolean { +fun box(): String { val c = A(2, "2") - return (c.b == 2 && c.a == "2") + return if (c.b == 2 && c.a == "2") "OK" else "fail" } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/propertyAccess.kt b/js/js.translator/testData/box/simple/propertyAccess.kt similarity index 57% rename from js/js.translator/testData/simple/cases/propertyAccess.kt rename to js/js.translator/testData/box/simple/propertyAccess.kt index 7851ac1afd4..9a7e6af2d48 100644 --- a/js/js.translator/testData/simple/cases/propertyAccess.kt +++ b/js/js.translator/testData/box/simple/propertyAccess.kt @@ -1,9 +1,9 @@ package foo class Test() { - val p = true + val p = "OK" } -fun box(): Boolean { +fun box(): String { return Test().p } \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/simpleInitializer.kt b/js/js.translator/testData/box/simple/simpleInitializer.kt similarity index 54% rename from js/js.translator/testData/simple/cases/simpleInitializer.kt rename to js/js.translator/testData/box/simple/simpleInitializer.kt index 6c0eeb8525a..049edc48836 100644 --- a/js/js.translator/testData/simple/cases/simpleInitializer.kt +++ b/js/js.translator/testData/box/simple/simpleInitializer.kt @@ -7,6 +7,6 @@ class Test() { } } -fun box(): Boolean { - return (Test().a == 3); +fun box(): String { + return if (Test().a == 3) "OK" else "fail" } diff --git a/js/js.translator/testData/simple/cases/while.kt b/js/js.translator/testData/box/simple/while.kt similarity index 71% rename from js/js.translator/testData/simple/cases/while.kt rename to js/js.translator/testData/box/simple/while.kt index e5fa2e3f37b..a53bd1f006a 100644 --- a/js/js.translator/testData/simple/cases/while.kt +++ b/js/js.translator/testData/box/simple/while.kt @@ -1,6 +1,6 @@ package foo -fun box(): Boolean { +fun box(): String { val a = 50; var b = 0; @@ -10,8 +10,8 @@ fun box(): Boolean { c = c + 2; } if (c == 100) { - return true; + return "OK" } - return false; + return "fail: $c" } diff --git a/js/js.translator/testData/box/simple/while2.kt b/js/js.translator/testData/box/simple/while2.kt new file mode 100644 index 00000000000..730f13f59cf --- /dev/null +++ b/js/js.translator/testData/box/simple/while2.kt @@ -0,0 +1,10 @@ +package foo + +fun box(): String { + + while (2 < 1) { + return "fail" + } + return "OK" +} + diff --git a/js/js.translator/testData/box/standardClasses/array.kt b/js/js.translator/testData/box/standardClasses/array.kt new file mode 100644 index 00000000000..0ecf4f0b20d --- /dev/null +++ b/js/js.translator/testData/box/standardClasses/array.kt @@ -0,0 +1,9 @@ +package foo + +fun box(): String { + + val a = arrayOfNulls(2) + a.set(1, 2) + return if (a.get(1) == 2) "OK" else "fail" +} + diff --git a/js/js.translator/testData/box/standardClasses/arrayAccess.kt b/js/js.translator/testData/box/standardClasses/arrayAccess.kt new file mode 100644 index 00000000000..ecce17afded --- /dev/null +++ b/js/js.translator/testData/box/standardClasses/arrayAccess.kt @@ -0,0 +1,8 @@ +package foo + +fun box(): String { + val a = arrayOfNulls(4) + a[1] = 2 + a[2] = 3 + return if ((a[1] == 2) && (a[2] == 3)) "OK" else "fail" +} \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/arrayConstructorsWithLambda.kt b/js/js.translator/testData/box/standardClasses/arrayConstructorsWithLambda.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/arrayConstructorsWithLambda.kt rename to js/js.translator/testData/box/standardClasses/arrayConstructorsWithLambda.kt diff --git a/js/js.translator/testData/standardClasses/cases/arrayFactoryMethods.kt b/js/js.translator/testData/box/standardClasses/arrayFactoryMethods.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/arrayFactoryMethods.kt rename to js/js.translator/testData/box/standardClasses/arrayFactoryMethods.kt diff --git a/js/js.translator/testData/box/standardClasses/arrayFunctionConstructor.kt b/js/js.translator/testData/box/standardClasses/arrayFunctionConstructor.kt new file mode 100644 index 00000000000..f4210e337f5 --- /dev/null +++ b/js/js.translator/testData/box/standardClasses/arrayFunctionConstructor.kt @@ -0,0 +1,7 @@ +package foo + +val f = { i: Int -> i + 1 } + +val a = Array(3, f) + +fun box() = if (a[0] == 1 && a[2] == 3 && a[1] == 2) "OK" else "fail" diff --git a/js/js.translator/testData/box/standardClasses/arrayIsFilledWithNulls.kt b/js/js.translator/testData/box/standardClasses/arrayIsFilledWithNulls.kt new file mode 100644 index 00000000000..d6a40ca98a4 --- /dev/null +++ b/js/js.translator/testData/box/standardClasses/arrayIsFilledWithNulls.kt @@ -0,0 +1,5 @@ +package foo + +val a = arrayOfNulls(3) + +fun box() = if (a[0] == null && a[1] == null && a[2] == null) "OK" else "fail" \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/arraySize.kt b/js/js.translator/testData/box/standardClasses/arraySize.kt similarity index 58% rename from js/js.translator/testData/standardClasses/cases/arraySize.kt rename to js/js.translator/testData/box/standardClasses/arraySize.kt index 919fc4c3100..9ede139f28d 100644 --- a/js/js.translator/testData/standardClasses/cases/arraySize.kt +++ b/js/js.translator/testData/box/standardClasses/arraySize.kt @@ -6,4 +6,4 @@ class A() { val a1 = arrayOfNulls(3) val a2 = arrayOfNulls(2) -fun box() = (a1.size == 3 && a2.size == 2) \ No newline at end of file +fun box() = if (a1.size == 3 && a2.size == 2) "OK" else "fail" \ No newline at end of file diff --git a/js/js.translator/testData/box/standardClasses/arraysIterator.kt b/js/js.translator/testData/box/standardClasses/arraysIterator.kt new file mode 100644 index 00000000000..263e631caf2 --- /dev/null +++ b/js/js.translator/testData/box/standardClasses/arraysIterator.kt @@ -0,0 +1,16 @@ +package foo + +val a1 = Array(3, { i: Int -> i }) + +fun box(): String { + val i = a1.iterator() + if (i.hasNext() != true) return "fail1" + if (i.next() != 0) return "fail2" + if (i.hasNext() != true) return "fail3" + if (i.next() != 1) return "fail4" + if (i.hasNext() != true) return "fail5" + if (i.next() != 2) return "fail6" + if (i.hasNext() != false) return "fail7" + + return "OK" +} \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/hashMapTypeOfElement.kt b/js/js.translator/testData/box/standardClasses/hashMapTypeOfElement.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/hashMapTypeOfElement.kt rename to js/js.translator/testData/box/standardClasses/hashMapTypeOfElement.kt diff --git a/js/js.translator/testData/standardClasses/cases/hashSetTypeOfElement.kt b/js/js.translator/testData/box/standardClasses/hashSetTypeOfElement.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/hashSetTypeOfElement.kt rename to js/js.translator/testData/box/standardClasses/hashSetTypeOfElement.kt diff --git a/js/js.translator/testData/standardClasses/cases/mutableMapRemoveWithCollision.kt b/js/js.translator/testData/box/standardClasses/mutableMapRemoveWithCollision.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/mutableMapRemoveWithCollision.kt rename to js/js.translator/testData/box/standardClasses/mutableMapRemoveWithCollision.kt diff --git a/js/js.translator/testData/standardClasses/cases/stringBuilder.kt b/js/js.translator/testData/box/standardClasses/stringBuilder.kt similarity index 100% rename from js/js.translator/testData/standardClasses/cases/stringBuilder.kt rename to js/js.translator/testData/box/standardClasses/stringBuilder.kt diff --git a/js/js.translator/testData/safeCall/cases/safeCallReturnsNullIfFails.kt b/js/js.translator/testData/safeCall/cases/safeCallReturnsNullIfFails.kt deleted file mode 100644 index 0e7d26fd1c3..00000000000 --- a/js/js.translator/testData/safeCall/cases/safeCallReturnsNullIfFails.kt +++ /dev/null @@ -1,10 +0,0 @@ -package foo - -class A() { - val x = 4 -} - -fun box(): Boolean { - var a: A? = null; - return (a?.x == null); -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/ifElseAsExpression.kt b/js/js.translator/testData/simple/cases/ifElseAsExpression.kt deleted file mode 100644 index 0d3c6a4f39f..00000000000 --- a/js/js.translator/testData/simple/cases/ifElseAsExpression.kt +++ /dev/null @@ -1,6 +0,0 @@ -package foo - -fun box(): Boolean { - val a = 2; - return if (a == 2) true else false; -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/minusAssignOnProperty.kt b/js/js.translator/testData/simple/cases/minusAssignOnProperty.kt deleted file mode 100644 index dcb5aa58c2c..00000000000 --- a/js/js.translator/testData/simple/cases/minusAssignOnProperty.kt +++ /dev/null @@ -1,10 +0,0 @@ -package foo - -var a = 3 - -fun box(): Boolean { - a -= 10 - - return (a == -7) - -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/notBoolean.kt b/js/js.translator/testData/simple/cases/notBoolean.kt deleted file mode 100644 index c7439ab023e..00000000000 --- a/js/js.translator/testData/simple/cases/notBoolean.kt +++ /dev/null @@ -1,5 +0,0 @@ -package foo - -fun box(): Boolean { - return !false; -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/plusAssign.kt b/js/js.translator/testData/simple/cases/plusAssign.kt deleted file mode 100644 index 61eb55bfc10..00000000000 --- a/js/js.translator/testData/simple/cases/plusAssign.kt +++ /dev/null @@ -1,8 +0,0 @@ -package foo - - -fun box(): Boolean { - var a = 3 - a += 3 - return (a == 6) -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/positiveAndNegativeNumbers.kt b/js/js.translator/testData/simple/cases/positiveAndNegativeNumbers.kt deleted file mode 100644 index 68e46cd475b..00000000000 --- a/js/js.translator/testData/simple/cases/positiveAndNegativeNumbers.kt +++ /dev/null @@ -1,7 +0,0 @@ -package foo - -fun box(): Boolean { - val b = -3 - val c = +3 - return (c - b) == 6 -} \ No newline at end of file diff --git a/js/js.translator/testData/simple/cases/postfixIntOperations.kt b/js/js.translator/testData/simple/cases/postfixIntOperations.kt deleted file mode 100644 index 5113c249386..00000000000 --- a/js/js.translator/testData/simple/cases/postfixIntOperations.kt +++ /dev/null @@ -1,10 +0,0 @@ -package foo - -fun box(): Boolean { - var a = 3; - val b = a++; - a--; - a--; - return (a++ == 2) && (b == 3) -} - diff --git a/js/js.translator/testData/simple/cases/prefixIntOperations.kt b/js/js.translator/testData/simple/cases/prefixIntOperations.kt deleted file mode 100644 index e0306f72a3c..00000000000 --- a/js/js.translator/testData/simple/cases/prefixIntOperations.kt +++ /dev/null @@ -1,10 +0,0 @@ -package foo - -fun box(): Boolean { - var a = 3; - val b = ++a; - --a; - --a; - return (--a == 1) && (b == 4) -} - diff --git a/js/js.translator/testData/simple/cases/while2.kt b/js/js.translator/testData/simple/cases/while2.kt deleted file mode 100644 index 1b2daf0054e..00000000000 --- a/js/js.translator/testData/simple/cases/while2.kt +++ /dev/null @@ -1,10 +0,0 @@ -package foo - -fun box(): Boolean { - - while (2 < 1) { - return false; - } - return true; -} - diff --git a/js/js.translator/testData/standardClasses/cases/array.kt b/js/js.translator/testData/standardClasses/cases/array.kt deleted file mode 100644 index 43abfb04cbe..00000000000 --- a/js/js.translator/testData/standardClasses/cases/array.kt +++ /dev/null @@ -1,9 +0,0 @@ -package foo - -fun box(): Boolean { - - val a = arrayOfNulls(2) - a.set(1, 2) - return a.get(1) == 2 -} - diff --git a/js/js.translator/testData/standardClasses/cases/arrayAccess.kt b/js/js.translator/testData/standardClasses/cases/arrayAccess.kt deleted file mode 100644 index 4b95451a8b8..00000000000 --- a/js/js.translator/testData/standardClasses/cases/arrayAccess.kt +++ /dev/null @@ -1,8 +0,0 @@ -package foo - -fun box(): Boolean { - val a = arrayOfNulls(4) - a[1] = 2 - a[2] = 3 - return (a[1] == 2) && (a[2] == 3) -} \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/arrayFunctionConstructor.kt b/js/js.translator/testData/standardClasses/cases/arrayFunctionConstructor.kt deleted file mode 100644 index 7f6fe37c0e6..00000000000 --- a/js/js.translator/testData/standardClasses/cases/arrayFunctionConstructor.kt +++ /dev/null @@ -1,7 +0,0 @@ -package foo - -val f = { i: Int -> i + 1 } - -val a = Array(3, f) - -fun box() = (a[0] == 1 && a[2] == 3 && a[1] == 2) diff --git a/js/js.translator/testData/standardClasses/cases/arrayIsFilledWithNulls.kt b/js/js.translator/testData/standardClasses/cases/arrayIsFilledWithNulls.kt deleted file mode 100644 index e232fb320e5..00000000000 --- a/js/js.translator/testData/standardClasses/cases/arrayIsFilledWithNulls.kt +++ /dev/null @@ -1,5 +0,0 @@ -package foo - -val a = arrayOfNulls(3) - -fun box() = (a[0] == null && a[1] == null && a[2] == null) \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/arraysIterator.kt b/js/js.translator/testData/standardClasses/cases/arraysIterator.kt deleted file mode 100644 index da9908c454f..00000000000 --- a/js/js.translator/testData/standardClasses/cases/arraysIterator.kt +++ /dev/null @@ -1,11 +0,0 @@ -package foo - -val a1 = Array(3, { i: Int -> i }) - -fun box(): Boolean { - val i = a1.iterator() - return ((i.hasNext() == true) && (i.next() == 0) && - (i.hasNext() == true) && (i.next() == 1) && - (i.hasNext() == true) && (i.next() == 2) && - (i.hasNext() == false)); -} \ No newline at end of file diff --git a/js/js.translator/testData/standardClasses/cases/throwableImpl.kt b/js/js.translator/testData/throwableImpl.kt similarity index 85% rename from js/js.translator/testData/standardClasses/cases/throwableImpl.kt rename to js/js.translator/testData/throwableImpl.kt index ecc6fee774d..0549f893f27 100644 --- a/js/js.translator/testData/standardClasses/cases/throwableImpl.kt +++ b/js/js.translator/testData/throwableImpl.kt @@ -1,6 +1,6 @@ package foo -class MyThrowable(message: String? = null) : java.lang.Exception(message) { +class MyThrowable(message: String? = null) : Exception(message) { override val message: String? get() = "My message: " + super.message