JS test: check directives in MultipleModulesTranslationTest
This commit is contained in:
-10
@@ -16,10 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.js.test;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.js.test.utils.DirectiveTestUtils;
|
||||
import org.jetbrains.kotlin.js.test.utils.JsTestUtils;
|
||||
|
||||
public abstract class AbstractSingleFileTranslationWithDirectivesTest extends SingleFileTranslationTest {
|
||||
public AbstractSingleFileTranslationWithDirectivesTest(@NotNull String main) {
|
||||
@@ -30,11 +27,4 @@ public abstract class AbstractSingleFileTranslationWithDirectivesTest extends Si
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processJsProgram(@NotNull JsProgram program) throws Exception {
|
||||
String fileName = getInputFilePath(getTestName(true) + ".kt");
|
||||
String fileText = JsTestUtils.readFile(fileName);
|
||||
DirectiveTestUtils.processDirectives(program, fileText);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
||||
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
||||
import org.jetbrains.kotlin.js.facade.TranslationResult;
|
||||
import org.jetbrains.kotlin.js.test.rhino.RhinoResultChecker;
|
||||
import org.jetbrains.kotlin.js.test.utils.DirectiveTestUtils;
|
||||
import org.jetbrains.kotlin.js.test.utils.JsTestUtils;
|
||||
import org.jetbrains.kotlin.js.translate.context.Namer;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
@@ -195,12 +196,13 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
||||
if (!(translationResult instanceof TranslationResult.Success)) return;
|
||||
|
||||
TranslationResult.Success successResult = (TranslationResult.Success) translationResult;
|
||||
processJsProgram(successResult.getProgram());
|
||||
|
||||
OutputFileCollection outputFiles = successResult.getOutputFiles(outputFile, getOutputPrefixFile(), getOutputPostfixFile());
|
||||
File outputDir = outputFile.getParentFile();
|
||||
assert outputDir != null : "Parent file for output file should not be null, outputFilePath: " + outputFile.getPath();
|
||||
OutputUtilsPackage.writeAllTo(outputFiles, outputDir);
|
||||
|
||||
processJsProgram(successResult.getProgram(), jetFiles);
|
||||
}
|
||||
|
||||
protected File getOutputPostfixFile() {
|
||||
@@ -223,7 +225,12 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void processJsProgram(@NotNull JsProgram program) throws Exception { }
|
||||
protected void processJsProgram(@NotNull JsProgram program, @NotNull List<JetFile> jetFiles) throws Exception {
|
||||
for (JetFile file : jetFiles) {
|
||||
String text = file.getText();
|
||||
DirectiveTestUtils.processDirectives(program, text);
|
||||
}
|
||||
}
|
||||
|
||||
protected void runRhinoTests(
|
||||
@NotNull String testName,
|
||||
|
||||
@@ -16,9 +16,12 @@
|
||||
|
||||
package org.jetbrains.kotlin.js.test
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsProgram
|
||||
import org.jetbrains.kotlin.js.config.EcmaVersion
|
||||
import org.jetbrains.kotlin.js.facade.MainCallParameters
|
||||
import org.jetbrains.kotlin.js.test.rhino.RhinoFunctionResultChecker
|
||||
import org.jetbrains.kotlin.js.test.utils.DirectiveTestUtils
|
||||
import org.jetbrains.kotlin.js.test.utils.JsTestUtils
|
||||
import org.jetbrains.kotlin.js.test.utils.JsTestUtils.getAllFilesInDir
|
||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||
import java.io.File
|
||||
@@ -61,7 +64,7 @@ public abstract class MultipleModulesTranslationTest(main: String) : BasicTest(m
|
||||
generateJavaScriptFiles(fullFilePaths, moduleDirectoryName, MainCallParameters.noCall(), version, moduleName, libraries)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun getMetaFileOutputPath(moduleDirectoryName: String, version: EcmaVersion) =
|
||||
KotlinJavascriptMetadataUtils.replaceSuffix(getOutputFilePath(moduleDirectoryName, version))
|
||||
|
||||
|
||||
@@ -147,15 +147,4 @@ public final class InlineMultiFileTest extends MultipleFilesTranslationTest {
|
||||
public void testSimpleCapturingInPackage() throws Exception {
|
||||
checkFooBoxIsOk();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processJsProgram(@NotNull JsProgram program) throws Exception {
|
||||
String dir = getTestName(true);
|
||||
List<String> fileNames = getAllFilesInDir(getInputFilePath(dir));
|
||||
|
||||
for (String fileName : fileNames) {
|
||||
String fileText = JsTestUtils.readFile(fileName);
|
||||
DirectiveTestUtils.processDirectives(program, fileText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user