JS backend: add getPackageName to BasicTest, checkBlackBox to SingleFileTranslationTest

This commit is contained in:
Michael Nedzelsky
2014-10-03 10:06:45 +04:00
parent b84e5969e2
commit 6f1d362917
2 changed files with 20 additions and 0 deletions
@@ -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;
}
}
@@ -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<EcmaVersion> 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 {