diff options
author | Dierk König <dierk.koenig@canoo.com> | 2015-11-22 10:17:13 +0100 |
---|---|---|
committer | Dierk König <dierk.koenig@canoo.com> | 2015-11-22 10:17:13 +0100 |
commit | e2575d292ef1158dcc7a5421b12fd0ad6be20820 (patch) | |
tree | 9f6561b11f660941da3dd304b64d5d5a484a7c19 /src/integTest/groovy/frege/gradle/tasks/FregeCompileIntegTest.groovy | |
parent | f0807811f48c50b6a5fe7816ef48c148be9f9903 (diff) | |
parent | 61196dfe58d3fd38f09c3ddfbcc8cb932d240c1e (diff) | |
download | frege-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.groovy | 74 |
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") + """ + } +} |