aboutsummaryrefslogtreecommitdiff
path: root/src/test/groovy/frege/gradle/plugins/FregePluginTest.groovy
blob: adf1598180dd1f2ff1678ea1b59971beecab2165 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package frege.gradle.plugins
import org.gradle.api.Project
import org.gradle.testfixtures.ProjectBuilder
import spock.lang.Specification
import spock.lang.Unroll

class FregePluginTest extends Specification {

    Project project = ProjectBuilder.builder().build()

    def setup(){
        when:
        project.plugins.apply(FregePlugin)
    }

    def "adds frege extension"(){
        expect:
        project.getExtensions().getByName(FregeBasePlugin.EXTENSION_NAME) != null
    }

    def "applies frege base plugin"() {
        expect:
        project.pluginManager.findPlugin("org.frege-lang.base") != null
    }

    def "can be identified by id"(){
        expect:
        project.pluginManager.hasPlugin("org.frege-lang")
    }

    @Unroll
    def "adds #fregeTaskName task"(){
        when:
        def fregeTask = project.tasks.findByName(fregeTaskName)
        then:
        fregeTask != null
        fregeTask.group == "frege"
        where:
        fregeTaskName << ["fregeRepl", "fregeDoc", "fregeQuickCheck", "fregeNativeGen"]
    }
}