aboutsummaryrefslogtreecommitdiff
path: root/src/functionalTest
diff options
context:
space:
mode:
authorThibault Gagnaux <tgagnaux@gmail.com>2021-12-10 09:31:44 +0100
committerThibault Gagnaux <tgagnaux@gmail.com>2021-12-10 09:31:44 +0100
commit815cc93c870a2a857de8c5dd1dcc8c9aa5b4f2a8 (patch)
treef0d59e556be038c22caada3d93bc4006d438d413 /src/functionalTest
parent401e4b8752d873465ac197ff1cc7ae3484608ddf (diff)
downloadfrege-gradle-plugin-815cc93c870a2a857de8c5dd1dcc8c9aa5b4f2a8.tar.gz
frege-gradle-plugin-815cc93c870a2a857de8c5dd1dcc8c9aa5b4f2a8.tar.bz2
frege-gradle-plugin-815cc93c870a2a857de8c5dd1dcc8c9aa5b4f2a8.zip
refactor: adds an internal `depsFrege` task and simplifes `replFrege`
- `depsFregeTask`: only internal use for the vscode plugin to automate the repl code lens. - `replFregeTask`: simplified to only print the command to start the repl because starting and interacting through a console is not gradle's core strength. See https://github.com/tricktron/frege-gradle-plugin/issues/11.
Diffstat (limited to 'src/functionalTest')
-rw-r--r--src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java33
1 files changed, 27 insertions, 6 deletions
diff --git a/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java b/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
index cf6dc70..f94469c 100644
--- a/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
+++ b/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
@@ -4,9 +4,10 @@ import static ch.fhnw.thga.gradleplugins.FregeExtension.DEFAULT_DOWNLOAD_DIRECTO
import static ch.fhnw.thga.gradleplugins.FregePlugin.COMPILE_FREGE_TASK_NAME;
import static ch.fhnw.thga.gradleplugins.FregePlugin.FREGE_EXTENSION_NAME;
import static ch.fhnw.thga.gradleplugins.FregePlugin.FREGE_PLUGIN_ID;
-import static ch.fhnw.thga.gradleplugins.FregePlugin.REPL_FREGE_TASK_NAME;
+import static ch.fhnw.thga.gradleplugins.FregePlugin.DEPS_FREGE_TASK_NAME;
import static ch.fhnw.thga.gradleplugins.FregePlugin.RUN_FREGE_TASK_NAME;
import static ch.fhnw.thga.gradleplugins.FregePlugin.SETUP_FREGE_TASK_NAME;
+import static ch.fhnw.thga.gradleplugins.FregePlugin.REPL_FREGE_TASK_NAME;
import static ch.fhnw.thga.gradleplugins.GradleBuildFileConversionTest.createPluginsSection;
import static org.gradle.testkit.runner.TaskOutcome.FAILED;
import static org.gradle.testkit.runner.TaskOutcome.FROM_CACHE;
@@ -39,6 +40,8 @@ import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
import org.junit.jupiter.api.io.TempDir;
+import ch.fhnw.thga.gradleplugins.internal.DependencyFregeTask;
+
@TestInstance(Lifecycle.PER_CLASS)
public class FregePluginFunctionalTest {
private static final String NEW_LINE = System.lineSeparator();
@@ -394,16 +397,16 @@ public class FregePluginFunctionalTest {
@Nested
@TestInstance(Lifecycle.PER_CLASS)
@IndicativeSentencesGeneration(separator = " -> ", generator = DisplayNameGenerator.ReplaceUnderscores.class)
- class Repl_frege_task_works {
+ class Deps_frege_task_works {
@Test
void given_minimal_build_file_config() throws Exception {
String minimalBuildFileConfig = createFregeSection(
fregeBuilder.version("'3.25.84'").release("'3.25alpha'").build());
appendToFile(buildFile, minimalBuildFileConfig);
- BuildResult result = runGradleTask(REPL_FREGE_TASK_NAME, "-q");
- assertTrue(project.getTasks().getByName(REPL_FREGE_TASK_NAME) instanceof ReplFregeTask);
- assertEquals(SUCCESS, result.task(":" + REPL_FREGE_TASK_NAME).getOutcome());
+ BuildResult result = runGradleTask(DEPS_FREGE_TASK_NAME, "-q");
+ assertTrue(project.getTasks().getByName(DEPS_FREGE_TASK_NAME) instanceof DependencyFregeTask);
+ assertEquals(SUCCESS, result.task(":" + DEPS_FREGE_TASK_NAME).getOutcome());
assertTrue(result.getOutput().contains("frege3.25.84.jar"));
}
@@ -415,11 +418,29 @@ public class FregePluginFunctionalTest {
appendToFile(buildFile, String.join("\n", "repositories {", "mavenCentral()", "}"));
appendToFile(buildFile, String.join("\n", "dependencies {",
"implementation group: 'org.json', name: 'json', version: '20211205'", "}"));
+ BuildResult result = runGradleTask(DEPS_FREGE_TASK_NAME, "-q");
+ assertTrue(project.getTasks().getByName(DEPS_FREGE_TASK_NAME) instanceof DependencyFregeTask);
+ assertEquals(SUCCESS, result.task(":" + DEPS_FREGE_TASK_NAME).getOutcome());
+ assertTrue(result.getOutput().contains("frege3.25.84.jar"));
+ assertTrue(result.getOutput().contains("org.json"));
+ }
+ }
+
+ @Nested
+ @TestInstance(Lifecycle.PER_CLASS)
+ @IndicativeSentencesGeneration(separator = " -> ", generator = DisplayNameGenerator.ReplaceUnderscores.class)
+ class Repl_frege_task_works {
+ @Test
+ void given_minimal_build_file_config() throws Exception {
+ String minimalBuildFileConfig = createFregeSection(
+ fregeBuilder.version("'3.25.84'").release("'3.25alpha'").build());
+ appendToFile(buildFile, minimalBuildFileConfig);
+
BuildResult result = runGradleTask(REPL_FREGE_TASK_NAME, "-q");
assertTrue(project.getTasks().getByName(REPL_FREGE_TASK_NAME) instanceof ReplFregeTask);
assertEquals(SUCCESS, result.task(":" + REPL_FREGE_TASK_NAME).getOutcome());
+ assertTrue(result.getOutput().contains("java -cp"));
assertTrue(result.getOutput().contains("frege3.25.84.jar"));
- assertTrue(result.getOutput().contains("org.json"));
}
}
} \ No newline at end of file