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 b335c188bdc..d4bb9bd6458 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java @@ -35,6 +35,7 @@ import org.jetbrains.jet.cli.common.output.outputUtils.OutputUtilsPackage; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.config.CompilerConfiguration; import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.resolve.lazy.KotlinTestWithEnvironment; import org.jetbrains.k2js.config.Config; import org.jetbrains.k2js.config.EcmaVersion; @@ -42,8 +43,10 @@ import org.jetbrains.k2js.facade.MainCallParameters; import org.jetbrains.k2js.test.config.LibrarySourcesConfigWithCaching; import org.jetbrains.k2js.test.rhino.RhinoResultChecker; import org.jetbrains.k2js.test.utils.JsTestUtils; +import org.jetbrains.k2js.translate.context.Namer; import java.io.File; +import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Map; @@ -281,4 +284,13 @@ public abstract class BasicTest extends KotlinTestWithEnvironment { } return libFiles; } + + @NotNull + protected String getPackageName(@NotNull String filename) throws IOException { + String content = FileUtil.loadFile(new File(filename), true); + JetPsiFactory psiFactory = new JetPsiFactory(getProject()); + JetFile jetFile = psiFactory.createFile(content); + String packageName = jetFile.getPackageFqName().asString(); + return packageName.isEmpty() ? Namer.getRootPackageName() : packageName; + } } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java b/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java index 1c286d17bd7..a810abf6358 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java @@ -82,6 +82,14 @@ public abstract class SingleFileTranslationTest extends BasicTest { runFunctionOutputTest(versions, filename, TEST_PACKAGE, TEST_FUNCTION, "OK"); } + protected void checkBlackBoxIsOk(@NotNull String filename) throws Exception { + checkBlackBoxIsOk(DEFAULT_ECMA_VERSIONS, filename); + } + + protected void checkBlackBoxIsOk(@NotNull Iterable versions, @NotNull String filename) throws Exception { + runFunctionOutputTest(versions, filename, getPackageName(filename), TEST_FUNCTION, "OK"); + } + protected void checkOutput(@NotNull String kotlinFilename, @NotNull String expectedResult, @NotNull String... args) throws Exception {