com.github.searls.jasmine.io.scripts.RelativizesASetOfScripts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jasmine-maven-plugin Show documentation
Show all versions of jasmine-maven-plugin Show documentation
A JavaScript unit test plugin that processes JavaScript sources and Jasmine specs, prepares test runner
HTML files, executes Jasmine specs headlessly with HtmlUnit, and produces JUnit XML reports
package com.github.searls.jasmine.io.scripts;
import static org.apache.commons.lang.StringUtils.*;
import java.io.File;
import java.io.IOException;
import java.util.LinkedHashSet;
import java.util.Set;
import com.github.searls.jasmine.io.RelativizesFilePaths;
public class RelativizesASetOfScripts {
private RelativizesFilePaths relativizesFilePaths = new RelativizesFilePaths();
public Set relativize(File from, Set absoluteScripts) throws IOException {
Set relativeScripts = new LinkedHashSet();
for (String absoluteScript : absoluteScripts) {
File script = new File(normalize(absoluteScript));
if(!webUrl(absoluteScript) && script.exists()) {
relativeScripts.add(relativizesFilePaths.relativize(from, script));
} else {
relativeScripts.add(absoluteScript);
}
}
return relativeScripts;
}
private String normalize(String absoluteScript) {
String strip = "file:" + (File.separatorChar == '/' ? "" : "/");
return stripStart(absoluteScript,strip);
}
private boolean webUrl(String script) {
return startsWithAny(script,new String[]{"http:","https:"});
}
}