aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/ch/fhnw/thga/gradleplugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/ch/fhnw/thga/gradleplugins')
-rw-r--r--src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
index 4f22bc2..31f8d21 100644
--- a/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
+++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java
@@ -6,6 +6,7 @@ import static ch.fhnw.thga.gradleplugins.FregeExtension.FREGE_VERSION_BUILD_FILE
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.SETUP_FREGE_COMPILER_TASK_NAME;
+import static ch.fhnw.thga.gradleplugins.FregePlugin.FREGE_COMPILE_TASK_NAME;
import static org.gradle.testkit.runner.TaskOutcome.SUCCESS;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -151,4 +152,24 @@ public class FregePluginFunctionalTest {
assertSetupFregeCompilerTask(fregeConfig);
assertTrue(new File(testProjectDir.getAbsolutePath() + "/build/dist/frege3.25.84.jar").exists());
}
+
+ @Test
+ void frege_compile_task_is_correctly_executed()
+ throws Exception {
+ String fregeConfig = buildFileFregeExtension("'3.25.84'", "'3.25alpha'", Optional.of("layout.buildDirectory.dir('dist')"));
+ String fregeCode = "module ch.fhnw.thga.Completion where\n\n" +
+ "complete :: Int -> (Int, String)\n" +
+ "complete i = (i, \"Frege rocks\")\n";
+ File completionFr = new File(testProjectDir, "Completion.fr");
+ writeToFile(completionFr, fregeCode);
+ System.out.println(fregeConfig);
+ appendToFile(buildFile, fregeConfig);
+ assertTrue(project.getTasks().getByName(FREGE_COMPILE_TASK_NAME) instanceof FregeCompileTask);
+ BuildResult result = GradleRunner.create().withProjectDir(testProjectDir).withPluginClasspath()
+ .withArguments(FREGE_COMPILE_TASK_NAME).build();
+ System.out.println(result.getOutput());
+ assertEquals(SUCCESS, result.task(":" + FREGE_COMPILE_TASK_NAME).getOutcome());
+ assertTrue(new File(testProjectDir.getAbsolutePath() + "/build/classes/main/frege/ch/fhnw/thga/Completion.java").exists());
+ assertTrue(new File(testProjectDir.getAbsolutePath() + "/build/classes/main/frege/ch/fhnw/thga/Completion.class").exists());
+ }
} \ No newline at end of file