diff --git a/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java b/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java index c03a9eba004..9d6a192f4d1 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java @@ -19,6 +19,8 @@ package org.jetbrains.k2js.test; import com.google.common.collect.Lists; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.util.Function; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; @@ -32,6 +34,7 @@ import org.jetbrains.k2js.test.rhino.RhinoResultChecker; import org.jetbrains.k2js.test.utils.TranslationUtils; import java.io.File; +import java.io.FilenameFilter; import java.util.Collections; import java.util.List; import java.util.Map; @@ -48,6 +51,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment { private static final String CASES = "cases/"; private static final String OUT = "out/"; private static final String EXPECTED = "expected/"; + private static final String COMMON_FILES_DIR = "_commonFiles/"; public static final String TEST_PACKAGE = "foo"; public static final String TEST_FUNCTION = "box"; @@ -169,10 +173,12 @@ public abstract class BasicTest extends KotlinTestWithEnvironment { @NotNull protected List additionalKotlinFiles() { - return Lists.newArrayList(); + List additionalFiles = Lists.newArrayList(); + additionalFiles.addAll(kotlinFilesInDirectory(pathToTestFilesRoot() + COMMON_FILES_DIR)); + additionalFiles.addAll(kotlinFilesInDirectory(pathToTestFiles() + COMMON_FILES_DIR)); + return additionalFiles; } - protected static String casesDirectoryName() { return CASES; } @@ -227,13 +233,35 @@ public abstract class BasicTest extends KotlinTestWithEnvironment { return getInputPath() + filename; } - @NotNull - protected String cases(@NotNull String filename) { - return getInputFilePath(filename); - } - @NotNull protected String expected(@NotNull String testName) { return getExpectedPath() + testName + ".out"; } + + @NotNull + private static List kotlinFilesInDirectory(@NotNull String directory) { + File dir = new File(directory); + + if (!dir.isDirectory()) { + return ContainerUtil.emptyList(); + } + + File[] kotlinFiles = dir.listFiles(new FilenameFilter() { + @Override + public boolean accept(@NotNull File dir, @NotNull String name) { + return name.endsWith(".kt"); + } + }); + + if (kotlinFiles == null) { + return ContainerUtil.emptyList(); + } + + return ContainerUtil.map2List(kotlinFiles, new Function() { + @Override + public String fun(File kotlinFile) { + return kotlinFile.getAbsolutePath(); + } + }); + } } diff --git a/js/js.translator/testData/_commonFiles/asserts.kt b/js/js.translator/testData/_commonFiles/asserts.kt new file mode 100644 index 00000000000..b6ea65c08c8 --- /dev/null +++ b/js/js.translator/testData/_commonFiles/asserts.kt @@ -0,0 +1,15 @@ +package kotlin + +fun assertEquals(expected: T, actual: T, message: String? = null) { + if (expected != actual) { + val msg = if (message == null) "" else (" message = '" + message + "',") + throw Exception("Unexpected value:$msg expected = '$expected', actual = '$actual'") + } +} + +fun assertNotEquals(illegal: T, actual: T, message: String? = null) { + if (illegal == actual) { + val msg = if (message == null) "" else (" message = '" + message + "',") + throw Exception("Illegal value:$msg illegal = '$illegal', actual = '$actual'") + } +} \ No newline at end of file diff --git a/js/js.translator/testData/classObject/cases/accessing.kt b/js/js.translator/testData/classObject/cases/accessing.kt index 00dcaf6047b..564a8455dbb 100644 --- a/js/js.translator/testData/classObject/cases/accessing.kt +++ b/js/js.translator/testData/classObject/cases/accessing.kt @@ -33,10 +33,6 @@ class Foo() { } } -fun assertEquals(expected: T, actual: T, id: String) { - if (expected != actual) throw Exception("Failed on $id, expected = '$expected', actual = '$actual'") -} - fun box(): String { assertEquals("Foo.baz() Foo.bar Implicit", Foo.testImplicitThis(), "testImplicitThis") assertEquals("Foo.baz() Foo.bar Explicit", Foo.testExplicitThis(), "testExplicitThis") diff --git a/js/js.translator/testData/closure/cases/closureGenericTypeValue.kt b/js/js.translator/testData/closure/cases/closureGenericTypeValue.kt index f65abd96054..7f3dc41866f 100644 --- a/js/js.translator/testData/closure/cases/closureGenericTypeValue.kt +++ b/js/js.translator/testData/closure/cases/closureGenericTypeValue.kt @@ -6,10 +6,6 @@ class A(val a: T) { fun T.bar() = { this } -fun assertEquals(expected: String, actual: String) { - if (expected != actual) throw Exception("Expected: $expected, actual: $actual") -} - fun box(): String { assertEquals("ok", A("ok").foo()) assertEquals("a42", "a42".bar()()) diff --git a/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt b/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt index b5849811728..2e5cb5ab6b2 100644 --- a/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt +++ b/js/js.translator/testData/closure/cases/closureInNestedFunctionsInMethod.kt @@ -2,47 +2,38 @@ package foo fun run(f: () -> T) = f() -class Fail(val message: String) : RuntimeException(message) { - val isFail = true // workaround for exception handling -} - - class A { - var testName = "" - fun assertEquals(actual: Int, expected: Int, message: String) = - if (actual != expected) throw Fail("$message in $testName test.") - val a = 12 var b = 1 fun boo(c: Int) = c fun litlit() { - testName = "litlit" + val testName = "litlit" run { run { - assertEquals(a, 12, "a != 12") + assertEquals(12, a, testName) - assertEquals(b, 1, "b != 1") + assertEquals(1, b, testName) b = 23 - assertEquals(b, 23, "b != 23") + assertEquals(23, b, testName) - assertEquals(boo(34), 34, "boo(34) != 34") + assertEquals(34, boo(34), testName) } } } fun funfun() { - testName = "funfun" + val testName = "funfun" fun foo() { fun bar() { - assertEquals(a, 12, "a != 12") + assertEquals(12, a, testName) - assertEquals(b, 1, "b != 1") + assertEquals(1, b, testName) b = 23 - assertEquals(b, 23, "b != 23") + assertEquals(23, b, testName) - assertEquals(boo(34), 34, "boo(34) != 34") + assertEquals(34, boo(34), testName) } bar() } @@ -50,32 +41,32 @@ class A { } fun litfun() { - testName = "litfun" + val testName = "litfun" run { fun bar() { - assertEquals(a, 12, "a != 12") + assertEquals(12, a, testName) - assertEquals(b, 1, "b != 1") + assertEquals(1, b, testName) b = 23 - assertEquals(b, 23, "b != 23") + assertEquals(23, b, testName) - assertEquals(boo(34), 34, "boo(34) != 34") + assertEquals(34, boo(34), testName) } bar() } } fun funlit() { - testName = "funlit" + val testName = "funlit" fun foo() { run { - assertEquals(a, 12, "a != 12") + assertEquals(12, a, testName) - assertEquals(b, 1, "b != 1") + assertEquals(1, b, testName) b = 23 - assertEquals(b, 23, "b != 23") + assertEquals(23, b, testName) - assertEquals(boo(34), 34, "boo(34) != 34") + assertEquals(34, boo(34), testName) } } foo() @@ -83,16 +74,10 @@ class A { } fun box(): String { - try { - A().litlit() - A().funfun() - A().litfun() - A().funlit() - } - catch(f: Fail) { - if (!f.isFail) throw f - return f.message - } + A().litlit() + A().funfun() + A().litfun() + A().funlit() return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/closure/cases/closureLambdaVarInLambda.kt b/js/js.translator/testData/closure/cases/closureLambdaVarInLambda.kt index a164438e9ad..db80e34538d 100644 --- a/js/js.translator/testData/closure/cases/closureLambdaVarInLambda.kt +++ b/js/js.translator/testData/closure/cases/closureLambdaVarInLambda.kt @@ -2,10 +2,6 @@ package foo -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected = $expected, actual = $actual") -} - fun box(): String { var foo = { 1 } var bar = 1 diff --git a/js/js.translator/testData/closure/cases/closureReceiverInLocalExtFunByLocalExtFun.kt b/js/js.translator/testData/closure/cases/closureReceiverInLocalExtFunByLocalExtFun.kt index c80c40ce8d4..4292512b8fc 100644 --- a/js/js.translator/testData/closure/cases/closureReceiverInLocalExtFunByLocalExtFun.kt +++ b/js/js.translator/testData/closure/cases/closureReceiverInLocalExtFunByLocalExtFun.kt @@ -1,9 +1,5 @@ package foo -fun assertEquals(expected: T, actual: T, message: String) { - if (expected != actual) throw Exception("Failed when $message, expected = $expected, actual = $actual") -} - // workaround for Rhino var n = 0 class A { diff --git a/js/js.translator/testData/closure/cases/closureThisAndReceiver.kt b/js/js.translator/testData/closure/cases/closureThisAndReceiver.kt index 3c6301dfff9..709ed59ba19 100644 --- a/js/js.translator/testData/closure/cases/closureThisAndReceiver.kt +++ b/js/js.translator/testData/closure/cases/closureThisAndReceiver.kt @@ -17,10 +17,6 @@ class A(val a: String) { } } -fun assertEquals(expected: String, actual: String) { - if (expected != actual) throw Exception("Expected: $expected, actual: $actual") -} - fun box(): String { val a = A("a") val b = A("b") diff --git a/js/js.translator/testData/closure/cases/closureThisByUsingMethodFromParentClass.kt b/js/js.translator/testData/closure/cases/closureThisByUsingMethodFromParentClass.kt index 1179315c8d0..6a5f9bfe06c 100644 --- a/js/js.translator/testData/closure/cases/closureThisByUsingMethodFromParentClass.kt +++ b/js/js.translator/testData/closure/cases/closureThisByUsingMethodFromParentClass.kt @@ -48,10 +48,6 @@ fun box(): String { // Helpers -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual"); -} - native fun String.replace(regexp: RegExp, replacement: String): String = noImpl diff --git a/js/js.translator/testData/closure/cases/recursiveExtFunction.kt b/js/js.translator/testData/closure/cases/recursiveExtFunction.kt index 92fd0167eef..677768acbd2 100644 --- a/js/js.translator/testData/closure/cases/recursiveExtFunction.kt +++ b/js/js.translator/testData/closure/cases/recursiveExtFunction.kt @@ -8,10 +8,6 @@ fun Int.foo(a: Int): Int { return a } -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - fun box(): String { assertEquals(34, 23.foo(0)) diff --git a/js/js.translator/testData/dataClass/cases/components.kt b/js/js.translator/testData/dataClass/cases/components.kt index d132adb20a6..de4b637d0a2 100644 --- a/js/js.translator/testData/dataClass/cases/components.kt +++ b/js/js.translator/testData/dataClass/cases/components.kt @@ -6,14 +6,6 @@ data class Dat(val start: String, middle: String, val end: String) { } } -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - -fun assertNotEqual(expected: T, actual: T) { - if (expected == actual) throw Exception("unexpectedly equal: $expected and $actual") -} - fun box(): String { val d = Dat("max", "-", "min") assertEquals("maxmin", d.getLabel()) diff --git a/js/js.translator/testData/dataClass/cases/equals.kt b/js/js.translator/testData/dataClass/cases/equals.kt index 4f3735b001c..46421c58d67 100644 --- a/js/js.translator/testData/dataClass/cases/equals.kt +++ b/js/js.translator/testData/dataClass/cases/equals.kt @@ -8,14 +8,6 @@ data class Dat2(val start: String, val end: String) class Obj(val start: String, val end: String) -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - -fun assertNotEqual(expected: T, actual: T) { - if (expected == actual) throw Exception("unexpectedly equal: $expected and $actual") -} - fun box(): String { val d1 = Dat("a", "b") val d2 = Dat("a", "b") @@ -25,9 +17,9 @@ fun box(): String { assertEquals(d1, d1) assertEquals(d1, d2) - assertNotEqual(d1, d3) + assertNotEquals(d1, d3) - assertNotEqual(d1, otherD1) + assertNotEquals(d1, otherD1) var hd1 = Holder(Dat("y", "n")) var hd2 = Holder(Dat("y", "n")) @@ -35,15 +27,15 @@ fun box(): String { assertEquals(hd1, hd1) assertEquals(hd1, hd2) - assertNotEqual(hd1, hd3) + assertNotEquals(hd1, hd3) var ho1 = Holder(Obj("+", "-")) var ho2 = Holder(Obj("+", "-")) var ho3 = Holder(Obj("*", "*")) assertEquals(ho1, ho1) - assertNotEqual(ho1, ho2) - assertNotEqual(ho1, ho3) + assertNotEquals(ho1, ho2) + assertNotEquals(ho1, ho3) return "OK" } \ No newline at end of file diff --git a/js/js.translator/testData/dataClass/cases/hashcode.kt b/js/js.translator/testData/dataClass/cases/hashcode.kt index 1bf3656a980..3cd444a5dde 100644 --- a/js/js.translator/testData/dataClass/cases/hashcode.kt +++ b/js/js.translator/testData/dataClass/cases/hashcode.kt @@ -9,11 +9,6 @@ data class Dat(val start: String, val end: String) class Obj(val start: String, val end: String) - -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - fun assertSomeNotEqual(c: Iterable) { val it = c.iterator() val first = it.next() diff --git a/js/js.translator/testData/dataClass/cases/keyrole.kt b/js/js.translator/testData/dataClass/cases/keyrole.kt index b0a30fc4c53..d040a40c9ce 100644 --- a/js/js.translator/testData/dataClass/cases/keyrole.kt +++ b/js/js.translator/testData/dataClass/cases/keyrole.kt @@ -6,10 +6,6 @@ data class Dat(val start: String, val end: String) class Obj(val start: String, val end: String) -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - fun box(): String { val setD = java.util.HashSet>() setD.add(Holder(Dat("a", "b"))) diff --git a/js/js.translator/testData/dataClass/cases/override.kt b/js/js.translator/testData/dataClass/cases/override.kt index ee31b432138..47dc899eca4 100644 --- a/js/js.translator/testData/dataClass/cases/override.kt +++ b/js/js.translator/testData/dataClass/cases/override.kt @@ -11,10 +11,6 @@ data class Dat(val start: String, middle: String, val end: String) { } } -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - fun box(): String { val d = Dat("max", "-", "min") val other = Dat("other", "-", "instance") diff --git a/js/js.translator/testData/dataClass/cases/tostring.kt b/js/js.translator/testData/dataClass/cases/tostring.kt index 2bd0a497c43..e1842a92ab5 100644 --- a/js/js.translator/testData/dataClass/cases/tostring.kt +++ b/js/js.translator/testData/dataClass/cases/tostring.kt @@ -6,10 +6,6 @@ data class Dat(val start: String, val end: String) class Obj(val start: String, val end: String) -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual, $actual") -} - fun box(): String { val d = Dat("a", "b") diff --git a/js/js.translator/testData/enum/cases/accessing.kt b/js/js.translator/testData/enum/cases/accessing.kt index e29d589ca69..c7595608b05 100644 --- a/js/js.translator/testData/enum/cases/accessing.kt +++ b/js/js.translator/testData/enum/cases/accessing.kt @@ -18,10 +18,6 @@ fun A.extExplicit() = A.FOO fun A.extByThis() = this.FOO //fun A.extImplicit() = FOO -fun assertEquals(expected: T, actual: T, id: String) { - if (expected != actual) throw Exception("Failed on $id, expected = '$expected', actual = '$actual'") -} - fun box(): String { assertEquals(A.FOO, A.FOO.explicit(), "explicit access") assertEquals(A.FOO, A.FOO.byThis(), "access by this") diff --git a/js/js.translator/testData/expression/cast/cases/smartCastInExtensionFunction.kt b/js/js.translator/testData/expression/cast/cases/smartCastInExtensionFunction.kt index d452aba6877..1c4037ac57b 100644 --- a/js/js.translator/testData/expression/cast/cases/smartCastInExtensionFunction.kt +++ b/js/js.translator/testData/expression/cast/cases/smartCastInExtensionFunction.kt @@ -10,40 +10,36 @@ fun A.bar() = "A.bar()" fun boo(a: Any) = "boo(Any)" fun boo(a: A) = "boo(A)" -fun assert(expected: T, actual: T, caseName: String) { - if (expected != actual) throw Exception("Filed on $caseName, expected: $expected, actual: $actual") -} - fun Any.testInTopLevel() { - assert(bar(), "Any.bar()", "bar()") - assert(this.bar(), "Any.bar()", "this.bar()") - assert(boo(this), "boo(Any)", "boo(this)") + assertEquals(bar(), "Any.bar()", "bar()") + assertEquals(this.bar(), "Any.bar()", "this.bar()") + assertEquals(boo(this), "boo(Any)", "boo(this)") if (this is A) { - assert(foo(47), "A.foo(47)", "foo(47)") - assert(bar(), "A.bar()", "bar()") + assertEquals(foo(47), "A.foo(47)", "foo(47)") + assertEquals(bar(), "A.bar()", "bar()") - assert(this.foo(47), "A.foo(47)", "this.foo(47)") - assert(this.bar(), "A.bar()", "this.bar()") + assertEquals(this.foo(47), "A.foo(47)", "this.foo(47)") + assertEquals(this.bar(), "A.bar()", "this.bar()") - assert(boo(this), "boo(A)", "boo(this: A)") + assertEquals(boo(this), "boo(A)", "boo(this: A)") } } class B { fun Any.test() { - assert(bar(), "Any.bar()", "bar()") - assert(this.bar(), "Any.bar()", "this.bar()") - assert(boo(this), "boo(Any)", "boo(this)") + assertEquals(bar(), "Any.bar()", "bar()") + assertEquals(this.bar(), "Any.bar()", "this.bar()") + assertEquals(boo(this), "boo(Any)", "boo(this)") if (this is A) { - assert(foo(47), "A.foo(47)", "foo(47)") - assert(bar(), "A.bar()", "bar()") + assertEquals(foo(47), "A.foo(47)", "foo(47)") + assertEquals(bar(), "A.bar()", "bar()") - assert(this.foo(47), "A.foo(47)", "this.foo(47)") - assert(this.bar(), "A.bar()", "this.bar()") + assertEquals(this.foo(47), "A.foo(47)", "this.foo(47)") + assertEquals(this.bar(), "A.bar()", "this.bar()") - assert(boo(this), "boo(A)", "boo(this: A)") + assertEquals(boo(this), "boo(A)", "boo(this: A)") } } diff --git a/js/js.translator/testData/expression/cast/cases/smartCastInFunction.kt b/js/js.translator/testData/expression/cast/cases/smartCastInFunction.kt index 94029bb71de..9fa69e56fbb 100644 --- a/js/js.translator/testData/expression/cast/cases/smartCastInFunction.kt +++ b/js/js.translator/testData/expression/cast/cases/smartCastInFunction.kt @@ -10,32 +10,28 @@ fun A.bar() = "A.bar()" fun boo(a: Any) = "boo(Any)" fun boo(a: A) = "boo(A)" -fun assert(expected: T, actual: T, caseName: String) { - if (expected != actual) throw Exception("Filed on $caseName, expected: $expected, actual: $actual") -} - fun testInTopLevel(a: Any) { - assert(a.bar(), "Any.bar()", "bar()") - assert(a.bar(), "Any.bar()", "this.bar()") - assert(boo(a), "boo(Any)", "boo(this)") + assertEquals(a.bar(), "Any.bar()", "bar()") + assertEquals(a.bar(), "Any.bar()", "this.bar()") + assertEquals(boo(a), "boo(Any)", "boo(this)") if (a is A) { - assert(a.foo(47), "A.foo(47)", "a.foo(47)") - assert(a.bar(), "A.bar()", "a.bar()") - assert(boo(a), "boo(A)", "boo(a: A)") + assertEquals(a.foo(47), "A.foo(47)", "a.foo(47)") + assertEquals(a.bar(), "A.bar()", "a.bar()") + assertEquals(boo(a), "boo(A)", "boo(a: A)") } } class B { fun testInClass(a: Any) { - assert(a.bar(), "Any.bar()", "bar()") - assert(a.bar(), "Any.bar()", "this.bar()") - assert(boo(a), "boo(Any)", "boo(this)") + assertEquals(a.bar(), "Any.bar()", "bar()") + assertEquals(a.bar(), "Any.bar()", "this.bar()") + assertEquals(boo(a), "boo(Any)", "boo(this)") if (a is A) { - assert(a.foo(47), "A.foo(47)", "a.foo(47)") - assert(a.bar(), "A.bar()", "a.bar()") - assert(boo(a), "boo(A)", "boo(a: A)") + assertEquals(a.foo(47), "A.foo(47)", "a.foo(47)") + assertEquals(a.bar(), "A.bar()", "a.bar()") + assertEquals(boo(a), "boo(A)", "boo(a: A)") } } diff --git a/js/js.translator/testData/expression/function/_commonFiles/helpers.kt b/js/js.translator/testData/expression/function/_commonFiles/helpers.kt new file mode 100644 index 00000000000..d5d357587e2 --- /dev/null +++ b/js/js.translator/testData/expression/function/_commonFiles/helpers.kt @@ -0,0 +1,14 @@ +package foo + +native +fun String.replace(regexp: RegExp, replacement: String): String = noImpl + +fun String.replaceAll(regexp: String, replacement: String): String = replace(RegExp(regexp, "g"), replacement) + +native +fun String.search(regexp: RegExp): Int = noImpl + +native +class RegExp(regexp: String, flags: String = "") { + fun exec(s: String): Array? = noImpl +} \ No newline at end of file diff --git a/js/js.translator/testData/expression/function/cases/infixCall.kt b/js/js.translator/testData/expression/function/cases/infixCall.kt index 566f38765af..7687cb63e6a 100644 --- a/js/js.translator/testData/expression/function/cases/infixCall.kt +++ b/js/js.translator/testData/expression/function/cases/infixCall.kt @@ -7,10 +7,6 @@ val bar = { Int.(a: Int) -> this * a } fun test(op: Int.(Int) -> Int) = 3 op 20 -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun box(): String { val op = { Int.(a: Int) -> this / a } diff --git a/js/js.translator/testData/expression/function/cases/mangling.kt b/js/js.translator/testData/expression/function/cases/mangling.kt index 2b11ffdf5a8..a3225faedf7 100644 --- a/js/js.translator/testData/expression/function/cases/mangling.kt +++ b/js/js.translator/testData/expression/function/cases/mangling.kt @@ -137,14 +137,6 @@ open private class OpenPrivateClass { // Helpers -native -fun String.search(regexp: RegExp): Int = noImpl - -native -class RegExp(regexp: String, flags: String = "") { - fun exec(s: String): Array? = noImpl -} - val CALEE_NAME = RegExp("""\b\w*(baz[^(]*)""") fun Function0.extractNames(): Array { diff --git a/js/js.translator/testData/expression/function/cases/manglingAnyMethods.kt b/js/js.translator/testData/expression/function/cases/manglingAnyMethods.kt index 6e692efecb5..159b9da3dcb 100644 --- a/js/js.translator/testData/expression/function/cases/manglingAnyMethods.kt +++ b/js/js.translator/testData/expression/function/cases/manglingAnyMethods.kt @@ -34,14 +34,6 @@ private class PrivateClass { // Helpers -native -fun String.search(regexp: RegExp): Int = noImpl - -native -class RegExp(regexp: String, flags: String = "") { - fun exec(s: String): Array? = noImpl -} - val CALEE_NAME = RegExp("""((?:equals|hashCode|toString)[^(]*)""") fun Function0.extractNames(): Array { diff --git a/js/js.translator/testData/expression/function/cases/manglingClashWithFunctionsWithoutParameters.kt b/js/js.translator/testData/expression/function/cases/manglingClashWithFunctionsWithoutParameters.kt index 39c5bb555cd..5504fb6eff2 100644 --- a/js/js.translator/testData/expression/function/cases/manglingClashWithFunctionsWithoutParameters.kt +++ b/js/js.translator/testData/expression/function/cases/manglingClashWithFunctionsWithoutParameters.kt @@ -17,15 +17,6 @@ public class A : T { fun boo(i: Int): String = "A.boo" + i } -// Helpers -native -fun String.replace(regexp: RegExp, replacement: String): String = noImpl - -fun String.replaceAll(regexp: String, replacement: String): String = replace(RegExp(regexp, "g"), replacement) - -native -class RegExp(regexp: String, flags: String) - //Testing fun test(testName: String, ff: Any, fb: Any) { @@ -35,10 +26,6 @@ fun test(testName: String, ff: Any, fb: Any) { if (f != b) throw Exception("FAILED on ${testName}:\n f = \"$f\"\n b = \"$b\"") } -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun box(): String { val a = A() diff --git a/js/js.translator/testData/expression/function/cases/manglingStability.kt b/js/js.translator/testData/expression/function/cases/manglingStability.kt index c9e107afe37..3a368c629cf 100644 --- a/js/js.translator/testData/expression/function/cases/manglingStability.kt +++ b/js/js.translator/testData/expression/function/cases/manglingStability.kt @@ -115,15 +115,6 @@ class TestMixed { val mixed_in_class_f = TestMixed().f val mixed_in_class_b = TestMixed().b -// Helpers -native -fun String.replace(regexp: RegExp, replacement: String): String = noImpl - -fun String.replaceAll(regexp: String, replacement: String): String = replace(RegExp(regexp, "g"), replacement) - -native -class RegExp(regexp: String, flags: String) - //Testing fun test(testName: String, ff: Any, fb: Any) { diff --git a/js/js.translator/testData/expression/function/cases/overloadClassConstructorByFactoryMethod.kt b/js/js.translator/testData/expression/function/cases/overloadClassConstructorByFactoryMethod.kt index efca5e4bea1..f5b2fde7d7b 100644 --- a/js/js.translator/testData/expression/function/cases/overloadClassConstructorByFactoryMethod.kt +++ b/js/js.translator/testData/expression/function/cases/overloadClassConstructorByFactoryMethod.kt @@ -6,10 +6,6 @@ class Foo(val name: String) fun Foo() = Foo("") -fun assertEquals(expected: Any, actual: Any) { - if (expected != actual) throw Exception("expected = $expected, actual = $actual") -} - fun box(): String { assertEquals("", Foo().name) assertEquals("BarBaz", Foo("BarBaz").name) diff --git a/js/js.translator/testData/expression/function/cases/overloadOverridenFun.kt b/js/js.translator/testData/expression/function/cases/overloadOverridenFun.kt index a2cc1cd9167..71d5d0c3299 100644 --- a/js/js.translator/testData/expression/function/cases/overloadOverridenFun.kt +++ b/js/js.translator/testData/expression/function/cases/overloadOverridenFun.kt @@ -2,10 +2,6 @@ package foo -fun assertEquals(expected: Any, actual: Any) { - if (expected != actual) throw Exception("expected = $expected, actual = $actual") -} - trait I { fun test(): String } diff --git a/js/js.translator/testData/expression/function/cases/overloadingWithInheritance.kt b/js/js.translator/testData/expression/function/cases/overloadingWithInheritance.kt index 110e767a07b..41d51e3dcd8 100644 --- a/js/js.translator/testData/expression/function/cases/overloadingWithInheritance.kt +++ b/js/js.translator/testData/expression/function/cases/overloadingWithInheritance.kt @@ -12,9 +12,6 @@ class C : A, B { fun foo() = "C" } -fun assertEquals(expected: Any, actual: Any) { - if (expected != actual) throw Exception("expected = $expected, actual = $actual") -} fun box(): String { assertEquals("A", C().foo(1)) assertEquals("B", C().foo("")) diff --git a/js/js.translator/testData/expression/invoke/cases/infixCall.kt b/js/js.translator/testData/expression/invoke/cases/infixCall.kt index 3f58543290a..00b88536463 100644 --- a/js/js.translator/testData/expression/invoke/cases/infixCall.kt +++ b/js/js.translator/testData/expression/invoke/cases/infixCall.kt @@ -28,10 +28,6 @@ fun test2(): String { return "$f | $s" } -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun box(): String { assertEquals("a b c | a b c", test1()) assertEquals("a b c | a b c", test2()) diff --git a/js/js.translator/testData/expression/misc/cases/elvisReturnNested.kt b/js/js.translator/testData/expression/misc/cases/elvisReturnNested.kt index 01fc58fb2b0..46566730adf 100644 --- a/js/js.translator/testData/expression/misc/cases/elvisReturnNested.kt +++ b/js/js.translator/testData/expression/misc/cases/elvisReturnNested.kt @@ -6,10 +6,6 @@ package foo -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun firstNotNullLen(s1 : String?, s2 : String?, s3 : String?) : Int { val len = (s1?.length() ?: s2?.length()) ?: (s2?.length() ?: s3?.length()) ?: diff --git a/js/js.translator/testData/expression/misc/cases/elvisReturnSimple.kt b/js/js.translator/testData/expression/misc/cases/elvisReturnSimple.kt index 73dcb25a7f4..b96819c372c 100644 --- a/js/js.translator/testData/expression/misc/cases/elvisReturnSimple.kt +++ b/js/js.translator/testData/expression/misc/cases/elvisReturnSimple.kt @@ -6,10 +6,6 @@ package foo -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun stringLen(s : String?) : Int { val s1 : String = s ?: return 0 return s1.length diff --git a/js/js.translator/testData/expression/misc/cases/elvisWithThrow.kt b/js/js.translator/testData/expression/misc/cases/elvisWithThrow.kt index fa27af24649..85395669b7e 100644 --- a/js/js.translator/testData/expression/misc/cases/elvisWithThrow.kt +++ b/js/js.translator/testData/expression/misc/cases/elvisWithThrow.kt @@ -1,9 +1,5 @@ package foo -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - var i = 0 fun bar(): Any? { i++ diff --git a/js/js.translator/testData/inheritance/cases/overrideAnyMethods.kt b/js/js.translator/testData/inheritance/cases/overrideAnyMethods.kt index 7720b2de551..f72785c9d7f 100644 --- a/js/js.translator/testData/inheritance/cases/overrideAnyMethods.kt +++ b/js/js.translator/testData/inheritance/cases/overrideAnyMethods.kt @@ -23,10 +23,6 @@ class Foo(val name: String) { override fun toString(): String = "Foo($name)" } -fun assertEquals(expected: Any, actual: Any) { - if (expected != actual) throw Exception("expected = $expected, actual = $actual") -} - fun box(): String { val james = Foo("James") val anotherJames = Foo("James") diff --git a/js/js.translator/testData/java/arrayList/cases/misc.kt b/js/js.translator/testData/java/arrayList/cases/misc.kt index 275f1de8d07..55bc6cf7fe9 100644 --- a/js/js.translator/testData/java/arrayList/cases/misc.kt +++ b/js/js.translator/testData/java/arrayList/cases/misc.kt @@ -2,12 +2,6 @@ package foo import java.util.ArrayList -fun assertThat(a: Any, b: Any) { - if (a != b) { - throw Exception("$a is not equal to $b") - } -} - fun box(): Boolean { var i = 0 val list = ArrayList() @@ -38,22 +32,18 @@ fun box(): Boolean { return false } - assertThat(a.equals(b), false) + assertNotEquals(a, b, "a != b") b[0] = a[0] b.add(a[1]) - assertThat(a.equals(b), true) + assertEquals(a, b, "a == b") a.clear() - assertThat(a.isEmpty(), true) + assertEquals(true, a.isEmpty(), "a.isEmpty()") - val array = list.copyToArray() - assertThat(array[0], 1) - assertThat(array[1], 500) - assertThat(array[2], 2) - assertThat(array[3], 3) - assertThat(JSON.stringify(list), "[1,500,2,3]") - assertThat(list.toString(), "[1, 500, 2, 3]") + assertEquals(array(1, 500, 2, 3), list.copyToArray(), "list.copyToArray()") + assertEquals("[1,500,2,3]", JSON.stringify(list), "JSON.stringify(list)") + assertEquals("[1, 500, 2, 3]", list.toString(), "list.toString()") return true; } \ No newline at end of file diff --git a/js/js.translator/testData/operatorOverloading/cases/overloadByLambda.kt b/js/js.translator/testData/operatorOverloading/cases/overloadByLambda.kt index e20885613a8..177e11ebf13 100644 --- a/js/js.translator/testData/operatorOverloading/cases/overloadByLambda.kt +++ b/js/js.translator/testData/operatorOverloading/cases/overloadByLambda.kt @@ -7,10 +7,6 @@ val times = { A.(a: Int) -> this.v * a } fun test(div: A.(Int) -> Int) = A(20) / 4 -fun assertEquals(expected: T, actual: T) { - if (expected != actual) throw Exception("expected: $expected, actual: $actual") -} - fun box(): String { val compareTo = { A.(a: A) -> this.v - a.v }