JS tests: use js files from some places by default:
* add all js files from testData/_commonFiles * add all js files from <testDir>/_commonFiles * add <testDir>/cases/<testName>.js if it exists
This commit is contained in:
@@ -38,10 +38,12 @@ 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.jet.plugin.JetFileType;
|
||||
import org.jetbrains.k2js.JavaScript;
|
||||
import org.jetbrains.k2js.config.Config;
|
||||
import org.jetbrains.k2js.config.EcmaVersion;
|
||||
import org.jetbrains.k2js.facade.MainCallParameters;
|
||||
import org.jetbrains.k2js.config.LibrarySourcesConfigWithCaching;
|
||||
import org.jetbrains.k2js.facade.MainCallParameters;
|
||||
import org.jetbrains.k2js.test.rhino.RhinoResultChecker;
|
||||
import org.jetbrains.k2js.test.utils.JsTestUtils;
|
||||
import org.jetbrains.k2js.translate.context.Namer;
|
||||
@@ -211,14 +213,32 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
||||
@NotNull
|
||||
protected List<String> additionalKotlinFiles() {
|
||||
List<String> additionalFiles = Lists.newArrayList();
|
||||
additionalFiles.addAll(JsTestUtils.kotlinFilesInDirectory(TEST_DATA_DIR_PATH + COMMON_FILES_DIR));
|
||||
additionalFiles.addAll(JsTestUtils.kotlinFilesInDirectory(pathToTestDir() + COMMON_FILES_DIR));
|
||||
|
||||
// add all kotlin files from testData/_commonFiles
|
||||
additionalFiles.addAll(JsTestUtils.getFilesInDirectoryByExtension(TEST_DATA_DIR_PATH + COMMON_FILES_DIR, JetFileType.EXTENSION));
|
||||
// add all kotlin files from <testDir>/_commonFiles
|
||||
additionalFiles.addAll(JsTestUtils.getFilesInDirectoryByExtension(pathToTestDir() + COMMON_FILES_DIR, JetFileType.EXTENSION));
|
||||
|
||||
return additionalFiles;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected List<String> additionalJsFiles(@NotNull EcmaVersion ecmaVersion) {
|
||||
return Lists.newArrayList();
|
||||
List<String> additionalFiles = Lists.newArrayList();
|
||||
|
||||
// add all js files from testData/_commonFiles
|
||||
additionalFiles.addAll(JsTestUtils.getFilesInDirectoryByExtension(TEST_DATA_DIR_PATH + COMMON_FILES_DIR, JavaScript.EXTENSION));
|
||||
// add all js files from <testDir>/_commonFiles
|
||||
additionalFiles.addAll(JsTestUtils.getFilesInDirectoryByExtension(pathToTestDir() + COMMON_FILES_DIR, JavaScript.EXTENSION));
|
||||
|
||||
// add <testDir>/cases/<testName>.js if it exists
|
||||
String jsFilePath = getInputFilePath(getTestName(true) + JavaScript.DOT_EXTENSION);
|
||||
File jsFile = new File(jsFilePath);
|
||||
if (jsFile.exists() && jsFile.isFile()) {
|
||||
additionalFiles.add(jsFilePath);
|
||||
}
|
||||
|
||||
return additionalFiles;
|
||||
}
|
||||
|
||||
// helpers
|
||||
|
||||
@@ -24,11 +24,11 @@ import org.jetbrains.k2js.JavaScript;
|
||||
import org.jetbrains.k2js.config.EcmaVersion;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public final class JsTestUtils {
|
||||
|
||||
@@ -67,28 +67,17 @@ public final class JsTestUtils {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<String> kotlinFilesInDirectory(@NotNull String directory) {
|
||||
public static List<String> getFilesInDirectoryByExtension(@NotNull String directory, String extension) {
|
||||
File dir = new File(directory);
|
||||
|
||||
if (!dir.isDirectory()) {
|
||||
return ContainerUtil.emptyList();
|
||||
}
|
||||
if (!dir.isDirectory()) return ContainerUtil.emptyList();
|
||||
|
||||
File[] kotlinFiles = dir.listFiles(new FilenameFilter() {
|
||||
List<File> files = FileUtil.findFilesByMask(Pattern.compile(".*\\." + extension + "$"), dir);
|
||||
|
||||
return ContainerUtil.map2List(files, new Function<File, String>() {
|
||||
@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<File, String>() {
|
||||
@Override
|
||||
public String fun(File kotlinFile) {
|
||||
return kotlinFile.getAbsolutePath();
|
||||
public String fun(File file) {
|
||||
return file.getAbsolutePath();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user