63 lines
1.7 KiB
Java
63 lines
1.7 KiB
Java
package dev.peerat.parser.java;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.File;
|
|
import java.io.FileReader;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import dev.peerat.parser.Parser;
|
|
|
|
class UtilsTests {
|
|
|
|
@Test
|
|
void main() throws Exception{
|
|
List<File> files = load(new File("workspaces.txt"));
|
|
|
|
long time = System.currentTimeMillis();
|
|
|
|
for(File file : files){
|
|
if(!file.getName().endsWith(".java")) continue;
|
|
System.out.println("LOOKING "+file);
|
|
String result = "";
|
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
|
String line;
|
|
while((line = reader.readLine()) != null) result+=line+"\n";
|
|
reader.close();
|
|
Parser<JavaElement> parser = new JavaParser();
|
|
JavaFile javaFile = new JavaFile();
|
|
parser.parse(result, javaFile);
|
|
|
|
}
|
|
|
|
assertTrue((System.currentTimeMillis()-time) < 30000);
|
|
}
|
|
|
|
private List<File> load(File config) throws Exception{
|
|
System.out.println("loading "+config.getAbsolutePath());
|
|
BufferedReader reader = new BufferedReader(new FileReader(config));
|
|
List<File> workspaces = new ArrayList<>();
|
|
String line;
|
|
while((line = reader.readLine()) != null) workspaces.add(new File(line));
|
|
reader.close();
|
|
System.out.println("loaded "+workspaces.size()+" workspaces");
|
|
List<File> result = new ArrayList<>();
|
|
for(File workspace : workspaces){
|
|
result.addAll(files(workspace));
|
|
System.out.println("Loaded["+result.size()+"] "+workspace.getAbsolutePath());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private List<File> files(File dir){
|
|
List<File> result = new ArrayList<>();
|
|
if(dir.isDirectory()){
|
|
for(File file : dir.listFiles()) result.addAll(files(file));
|
|
}else result.add(dir);
|
|
return result;
|
|
}
|
|
}
|