TS: refactor to fix AutoBuildTest

This commit is contained in:
Asger F
2018-11-16 12:52:26 +00:00
parent b5d3dd5e22
commit d839fcdafc
2 changed files with 20 additions and 11 deletions

View File

@@ -503,10 +503,7 @@ public class AutoBuild {
typeScriptFiles.add(sourcePath.toFile());
}
}
tsParser.prepareFiles(typeScriptFiles);
for (File file : typeScriptFiles) {
extract(extractor, file.toPath());
}
extractTypeScriptFiles(typeScriptFiles, extractedFiles, extractor);
tsParser.closeProject(projectFile);
}
@@ -524,13 +521,7 @@ public class AutoBuild {
}
}
if (!remainingTypeScriptFiles.isEmpty()) {
tsParser.prepareFiles(remainingTypeScriptFiles);
for (File f : remainingTypeScriptFiles) {
Path path = f.toPath();
if (extractedFiles.add(path)) {
extract(extractor, path);
}
}
extractTypeScriptFiles(remainingTypeScriptFiles, extractedFiles, extractor);
}
// The TypeScript compiler instance is no longer needed.
@@ -552,6 +543,16 @@ public class AutoBuild {
extractorState.getTypeScriptParser().verifyInstallation(true);
}
public void extractTypeScriptFiles(List<File> files, Set<Path> extractedFiles, FileExtractor extractor) throws IOException {
extractorState.getTypeScriptParser().prepareFiles(files);
for (File f : files) {
Path path = f.toPath();
if (extractedFiles.add(path)) {
extract(extractor, f.toPath());
}
}
}
private Path normalizePath(Path path) {
return path.toAbsolutePath().normalize();
}

View File

@@ -1,5 +1,6 @@
package com.semmle.js.extractor.test;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
@@ -100,6 +101,13 @@ public class AutoBuildTests {
@Override
public void verifyTypeScriptInstallation() {
}
@Override
public void extractTypeScriptFiles(List<File> files, Set<Path> extractedFiles, FileExtractor extractor) throws IOException {
for (File f : files) {
actual.add(f.toString());
}
}
}.run();
String expectedString = StringUtil.glue("\n", expected.stream().sorted().toArray());
String actualString = StringUtil.glue("\n", actual.stream().sorted().toArray());