diff options
author | George Fraser <george@fivetran.com> | 2017-08-06 12:38:50 -0500 |
---|---|---|
committer | George Fraser <george@fivetran.com> | 2017-08-06 12:38:50 -0500 |
commit | 400f03af164fe3628c04611626b8852c91e0297f (patch) | |
tree | c0b532a09e440df9580143b3e1b135978d040171 /src/test | |
parent | 78291d58436733612aab41e1a4f83ce86eebf065 (diff) | |
download | java-language-server-400f03af164fe3628c04611626b8852c91e0297f.zip |
Eliminate ParseResult
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/org/javacs/RefactorFileTest.java | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/src/test/java/org/javacs/RefactorFileTest.java b/src/test/java/org/javacs/RefactorFileTest.java index dc090b0..957ff15 100644 --- a/src/test/java/org/javacs/RefactorFileTest.java +++ b/src/test/java/org/javacs/RefactorFileTest.java @@ -3,14 +3,18 @@ package org.javacs; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.util.JavacTask; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import java.net.URI; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.function.BiConsumer; import java.util.logging.Logger; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.TextEdit; @@ -25,7 +29,7 @@ public class RefactorFileTest { @Test public void addImportToEmpty() { String before = "package org.javacs;\n" + "\n" + "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "org.javacs", "Foo"); + List<TextEdit> edits = addImport(before, "org.javacs", "Foo"); String after = applyEdits(before, edits); assertThat( @@ -46,7 +50,7 @@ public class RefactorFileTest { + "import java.util.List;\n" + "\n" + "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "org.javacs", "Foo"); + List<TextEdit> edits = addImport(before, "org.javacs", "Foo"); String after = applyEdits(before, edits); assertThat( @@ -68,7 +72,7 @@ public class RefactorFileTest { + "import org.javacs.Foo;\n" + "\n" + "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "java.util", "List"); + List<TextEdit> edits = addImport(before, "java.util", "List"); String after = applyEdits(before, edits); assertThat( @@ -90,7 +94,7 @@ public class RefactorFileTest { + "import java.util.List;\n" + "\n" + "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "java.util", "List"); + List<TextEdit> edits = addImport(before, "java.util", "List"); String after = applyEdits(before, edits); assertThat( @@ -107,7 +111,7 @@ public class RefactorFileTest { public void noPackage() { String before = "import java.util.List;\n" + "\n" + "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "org.javacs", "Foo"); + List<TextEdit> edits = addImport(before, "org.javacs", "Foo"); String after = applyEdits(before, edits); assertThat( @@ -122,7 +126,7 @@ public class RefactorFileTest { @Test public void noPackageNoImports() { String before = "public class Example { void main() { } }"; - List<TextEdit> edits = addImport(file(before), "org.javacs", "Foo"); + List<TextEdit> edits = addImport(before, "org.javacs", "Foo"); String after = applyEdits(before, edits); assertThat( @@ -133,8 +137,24 @@ public class RefactorFileTest { + "public class Example { void main() { } }")); } - private List<TextEdit> addImport(ParseResult parse, String packageName, String className) { - return new RefactorFile(parse.task, parse.tree).addImport(packageName, className); + private List<TextEdit> addImport(String content, String packageName, String className) { + List<TextEdit> result = new ArrayList<>(); + JavacHolder compiler = + JavacHolder.create( + Collections.singleton(Paths.get("src/test/test-project/workspace/src")), + Collections.emptySet()); + BiConsumer<JavacTask, CompilationUnitTree> doRefactor = + (task, tree) -> { + List<TextEdit> edits = + new RefactorFile(task, tree).addImport(packageName, className); + + result.addAll(edits); + }; + + compiler.compileBatch( + Collections.singletonMap(FAKE_FILE, Optional.of(content)), doRefactor); + + return result; } private String applyEdits(String before, List<TextEdit> edits) { @@ -200,14 +220,4 @@ public class RefactorFileTest { throw ShowMessageException.error(e.getMessage(), e); } } - - private ParseResult file(String content) { - JavacHolder compiler = - JavacHolder.create( - Collections.singleton(Paths.get("src/test/test-project/workspace/src")), - Collections.emptySet()); - - return compiler.parse( - FAKE_FILE, Optional.of(content), error -> LOG.warning(error.toString())); - } } |