package com.google.jstestdriver.idea.rt.util;
import com.google.jstestdriver.FileInfo;
import com.google.jstestdriver.config.ResolvedConfiguration;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.util.Collection;
/**
* @author Sergey Simonchik
*/
public class JstdUtils {
private static final String[] JASMINE_ADAPTER_PREFIXES = new String[] {
"JasmineAdapter".toLowerCase(),
"jasmine-adapter".toLowerCase()
};
private JstdUtils() {}
public static boolean isJasmineTests(@NotNull ResolvedConfiguration configuration) {
if (containsJasmineAdapter(configuration.getFilesList())) {
return true;
}
return containsJasmineAdapter(configuration.getTests());
}
private static boolean containsJasmineAdapter(@NotNull Collection<FileInfo> fileInfos) {
for (FileInfo info : fileInfos) {
File file = new File(info.getFilePath());
if (isJasmineAdapter(file)) {
return true;
}
}
return false;
}
private static boolean isJasmineAdapter(@NotNull File file) {
String fileName = file.getName().toLowerCase();
if (fileName.endsWith(".js")) {
for (String prefix : JASMINE_ADAPTER_PREFIXES) {
if (fileName.startsWith(prefix)) {
return true;
}
}
}
return false;
}
}