aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorThibault Gagnaux <thibault.gagnaux@bit.admin.ch>2021-07-02 12:52:16 +0200
committerThibault Gagnaux <thibault.gagnaux@bit.admin.ch>2021-07-02 12:52:16 +0200
commit587d0943327c7bf26a6378c1a710b3b971102ea2 (patch)
tree0d467753e8f8a2176fd87c1d75463b2a7a000de1 /src/test
parent5ad88075e8e67ece6673999ffd06260c2b5d298d (diff)
downloadfrege-gradle-plugin-587d0943327c7bf26a6378c1a710b3b971102ea2.tar.gz
frege-gradle-plugin-587d0943327c7bf26a6378c1a710b3b971102ea2.tar.bz2
frege-gradle-plugin-587d0943327c7bf26a6378c1a710b3b971102ea2.zip
Adds `fregeCompile` task with some tests
Upgrades gradle-wrapper to version `7.1`.
Diffstat (limited to 'src/test')
-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