aboutsummaryrefslogtreecommitdiff
path: root/src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy
diff options
context:
space:
mode:
authorDierk König <dierk.koenig@canoo.com>2015-11-22 10:17:13 +0100
committerDierk König <dierk.koenig@canoo.com>2015-11-22 10:17:13 +0100
commite2575d292ef1158dcc7a5421b12fd0ad6be20820 (patch)
tree9f6561b11f660941da3dd304b64d5d5a484a7c19 /src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy
parentf0807811f48c50b6a5fe7816ef48c148be9f9903 (diff)
parent61196dfe58d3fd38f09c3ddfbcc8cb932d240c1e (diff)
downloadfrege-gradle-plugin-e2575d292ef1158dcc7a5421b12fd0ad6be20820.tar.gz
frege-gradle-plugin-e2575d292ef1158dcc7a5421b12fd0ad6be20820.tar.bz2
frege-gradle-plugin-e2575d292ef1158dcc7a5421b12fd0ad6be20820.zip
Merge pull request #29 from breskeby/with-java
some more basic cleanup and fixing
Diffstat (limited to 'src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy')
-rw-r--r--src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy b/src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy
new file mode 100644
index 0000000..3845e23
--- /dev/null
+++ b/src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy
@@ -0,0 +1,74 @@
+package frege.gradle.tasks
+import frege.gradle.integtest.fixtures.AbstractFregeIntegrationSpec
+
+import static org.gradle.testkit.runner.TaskOutcome.FAILED
+
+class FregeCompileIntegTest extends AbstractFregeIntegrationSpec {
+
+ List<File> pluginClasspath
+
+ def setup() {
+ buildFile << """
+ plugins {
+ id 'org.frege-lang.base'
+ }
+
+ import frege.gradle.tasks.FregeCompile
+
+ repositories { jcenter() }
+
+ configurations { frege {} }
+
+ dependencies {
+ frege "org.frege-lang:frege:$DEFAULT_FREGE_VERSION"
+ }
+
+ task compile(type: FregeCompile) {
+ destinationDir = file("frege-output")
+ source("frege-src")
+ module = "frege-src"
+ classpath = configurations.frege
+ fregepath = configurations.frege
+ }
+ """
+
+ testProjectDir.newFolder("frege-src")
+ }
+
+ def "shows compile errors"() {
+ given:
+ simpleFrege()
+ failingFrege()
+ when:
+ def result = fail("compile")
+
+ then:
+ result.task(":compile").outcome == FAILED
+ result.output.contains("Failing.fr:6: can't resolve `Hello`")
+ }
+
+ def failingFrege() {
+ def failingFrege = testProjectDir.newFile("frege-src/Failing.fr")
+ failingFrege << """
+
+ module Failing where
+
+ failingFun _ = do
+ println(Hello)
+ """
+ }
+
+ def simpleFrege() {
+
+ def helloFrege = testProjectDir.newFile("frege-src/Hello.fr")
+ helloFrege << """
+
+ module Hello where
+
+ import frege.prelude.PreludeBase
+
+ main _ = do
+ println("Hello From Frege")
+ """
+ }
+}