From 2fe5f63924ce22989f5e60ab7a27655c9a043922 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Mon, 3 Feb 2014 23:04:12 +0400 Subject: [PATCH] JS backend: rename test mangling -> manglingStability. And make it independent of structure of generated code. --- .../k2js/test/semantics/FunctionTest.java | 2 +- .../{mangling.kt => manglingStability.kt} | 35 ++++++++----------- 2 files changed, 16 insertions(+), 21 deletions(-) rename js/js.translator/testFiles/expression/function/cases/{mangling.kt => manglingStability.kt} (84%) diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/FunctionTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/FunctionTest.java index 9a2cf7dd37b..bb6fb554f4f 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/FunctionTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/FunctionTest.java @@ -113,7 +113,7 @@ public class FunctionTest extends AbstractExpressionTest { fooBoxTest(); } - public void testMangling() throws Exception { + public void testManglingStability() throws Exception { checkFooBoxIsOk(); } diff --git a/js/js.translator/testFiles/expression/function/cases/mangling.kt b/js/js.translator/testFiles/expression/function/cases/manglingStability.kt similarity index 84% rename from js/js.translator/testFiles/expression/function/cases/mangling.kt rename to js/js.translator/testFiles/expression/function/cases/manglingStability.kt index 7e88f3c2ae0..357fee4b80f 100644 --- a/js/js.translator/testFiles/expression/function/cases/mangling.kt +++ b/js/js.translator/testFiles/expression/function/cases/manglingStability.kt @@ -115,14 +115,7 @@ class TestMixed { val mixed_in_class_f = TestMixed().f val mixed_in_class_b = TestMixed().b - -native -fun eval(expr: String): Any? = noImpl - -val PACKAGE = "Kotlin.modules.JS_TESTS.foo" - -fun funToString(name: String) = eval("$PACKAGE.$name.toString()") as String - +// Helpers native fun String.replace(regexp: RegExp, replacement: String): String = noImpl @@ -131,23 +124,25 @@ fun String.replaceAll(regexp: String, replacement: String): String = replace(Reg native class RegExp(regexp: String, flags: String) -fun test(prefix: String) { - val fs = funToString("${prefix}_f") - val bs = funToString("${prefix}_b").replaceAll("boo", "foo") +//Testing - if (fs != bs) throw Exception("FAILED on ${prefix}:\n fs = \"$fs\"\n bs = \"$bs\"") +fun test(testName: String, ff: Any, fb: Any){ + val f = ff.toString() + val b = fb.toString().replaceAll("boo", "foo") + + if (f != b) throw Exception("FAILED on ${testName}:\n f = \"$f\"\n b = \"$b\"") } fun box(): String { - test("internal") - test("public") - test("private") - test("mixed") + test("internal", internal_f, internal_b) + test("public", public_f,public_b ) + test("private", private_f, private_b) + test("mixed", mixed_f, mixed_b) - test("internal_in_class") - test("public_in_class") - test("private_in_class") - test("mixed_in_class") + test("internal_in_class", internal_in_class_f, internal_in_class_b) + test("public_in_class", public_in_class_f, public_in_class_b) + test("private_in_class", private_in_class_f, private_in_class_b) + test("mixed_in_class", mixed_in_class_f, mixed_in_class_b) return "OK" }