blob: 2729d47c52cec7ad3601deff9c5616b9c1df1366 [file]
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.plugins.gradle.dsl
import com.intellij.testFramework.RunAll
import groovy.transform.CompileStatic
import org.jetbrains.plugins.gradle.highlighting.GradleHighlightingBaseTest
import org.jetbrains.plugins.groovy.util.ResolveTest
import org.junit.Test
import static org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.*
@CompileStatic
class GradleRepositoriesTest extends GradleHighlightingBaseTest implements ResolveTest {
@Test
void repositoriesTest() {
importProject("")
new RunAll().append {
'repositories closure delegate'()
} append {
'maven repository closure delegate'()
} append {
'ivy repository closure delegate'()
} append {
'flat repository closure delegate'()
} append {
'maven repository method setter'()
} append {
'ivy repository method setter'()
} append {
'flat repository method setter'()
} run()
}
@Override
protected List<String> getParentCalls() {
return super.getParentCalls() + 'buildscript'
}
void 'repositories closure delegate'() {
doTest('repositories { <caret> }') {
closureDelegateTest(GRADLE_API_REPOSITORY_HANDLER, 1)
}
}
void 'maven repository closure delegate'() {
doTest('repositories { maven { <caret> } }') {
closureDelegateTest(GRADLE_API_ARTIFACTS_REPOSITORIES_MAVEN_ARTIFACT_REPOSITORY, 1)
}
}
void 'ivy repository closure delegate'() {
doTest('repositories { ivy { <caret> } }') {
closureDelegateTest(GRADLE_API_ARTIFACTS_REPOSITORIES_IVY_ARTIFACT_REPOSITORY, 1)
}
}
void 'flat repository closure delegate'() {
doTest('repositories { flatDir { <caret> } }') {
closureDelegateTest(GRADLE_API_ARTIFACTS_REPOSITORIES_FLAT_DIRECTORY_ARTIFACT_REPOSITORY, 1)
}
}
void 'maven repository method setter'() {
doTest('repositories { maven { <caret>url(42) } }') {
setterMethodTest('url', 'setUrl', GRADLE_API_ARTIFACTS_REPOSITORIES_MAVEN_ARTIFACT_REPOSITORY)
}
}
void 'ivy repository method setter'() {
doTest('repositories { ivy { <caret>url("") } }') {
setterMethodTest('url', 'setUrl', GRADLE_API_ARTIFACTS_REPOSITORIES_IVY_ARTIFACT_REPOSITORY)
}
}
void 'flat repository method setter'() {
doTest('repositories { flatDir { <caret>name("") } }') {
setterMethodTest('name', 'setName', GRADLE_API_ARTIFACTS_REPOSITORIES_ARTIFACT_REPOSITORY)
}
}
}