use of com.google.idea.blaze.base.model.primitives.WorkspacePath in project intellij by bazelbuild.
the class RenameRefactoringTest method testRenameLocalVariable.
@Test
public void testRenameLocalVariable() {
BuildFile file = createBuildFile(new WorkspacePath("java/com/google/BUILD"), "a = 1", "c = a");
TargetExpression target = PsiUtils.findFirstChildOfClassRecursive(file, TargetExpression.class);
assertThat(target.getText()).isEqualTo("a");
testFixture.renameElement(target, "b");
assertFileContents(file, "b = 1", "c = b");
}
use of com.google.idea.blaze.base.model.primitives.WorkspacePath in project intellij by bazelbuild.
the class RenameRefactoringTest method testRenameFunctionParameter.
@Test
public void testRenameFunctionParameter() {
BuildFile extFile = createBuildFile(new WorkspacePath("java/com/google/tools/build_defs.bzl"), "def function(name, deps)");
BuildFile buildFile = createBuildFile(new WorkspacePath("java/com/google/BUILD"), "load(", "\"//java/com/google/tools:build_defs.bzl\",", "\"function\"", ")", "function(name = \"name\", deps = []");
FunctionStatement fn = extFile.findChildByClass(FunctionStatement.class);
Parameter param = fn.getParameterList().findParameterByName("deps");
testFixture.renameElement(param, "exports");
assertFileContents(extFile, "def function(name, exports)");
assertFileContents(buildFile, "load(", "\"//java/com/google/tools:build_defs.bzl\",", "\"function\"", ")", "function(name = \"name\", exports = []");
}
use of com.google.idea.blaze.base.model.primitives.WorkspacePath in project intellij by bazelbuild.
the class ExternalWorkspaceReferenceTest method testReferenceToWorkspaceFileContents.
@Test
public void testReferenceToWorkspaceFileContents() {
BuildFile workspaceFile = createBuildFile(new WorkspacePath("WORKSPACE"), "maven_jar(", " name = 'w3c_css_sac',", " artifact = 'org.w3c.css:sac:1.3',", " sha1 = 'cdb2dcb4e22b83d6b32b93095f644c3462739e82',", ")");
BuildFile referencingFile = createBuildFile(new WorkspacePath("java/com/google/pkg/BUILD"), "rule(", " name = 'other',", " dep = '@w3c_css_sac//jar'", ")");
FuncallExpression target = workspaceFile.findRule("w3c_css_sac");
assertThat(target).isNotNull();
FuncallExpression other = referencingFile.findRule("other");
StringLiteral label = PsiUtils.findFirstChildOfClassRecursive(other.getKeywordArgument("dep"), StringLiteral.class);
assertThat(label.getReferencedElement()).isEqualTo(target);
}
use of com.google.idea.blaze.base.model.primitives.WorkspacePath in project intellij by bazelbuild.
the class ExternalWorkspaceReferenceTest method testFileReferenceWithinExternalWorkspaceResolves.
@Test
public void testFileReferenceWithinExternalWorkspaceResolves() {
BuildFile externalFile = (BuildFile) createFileInExternalWorkspace("junit", new WorkspacePath("BUILD"), "java_import(", " name = 'target',", " jars = ['junit-4.11.jar'],", ")");
PsiFile jarFile = createFileInExternalWorkspace("junit", new WorkspacePath("junit-4.11.jar"));
FuncallExpression target = externalFile.findRule("target");
StringLiteral label = PsiUtils.findFirstChildOfClassRecursive(target.getKeywordArgument("jars"), StringLiteral.class);
assertThat(label.getReferencedElement()).isEqualTo(jarFile);
}
use of com.google.idea.blaze.base.model.primitives.WorkspacePath in project intellij by bazelbuild.
the class ExternalWorkspaceReferenceTest method testExternalWorkspaceTargetReference.
@Test
public void testExternalWorkspaceTargetReference() {
BuildFile workspaceBuildFile = createBuildFile(new WorkspacePath("BUILD"), "java_library(", " name = 'lib',", " exports = ['@junit//:jar'],", ")");
BuildFile externalBuildFile = (BuildFile) createFileInExternalWorkspace("junit", new WorkspacePath("BUILD"), "java_import(", " name = 'jar',", " jars = ['junit-4.11.jar'],", ")");
FuncallExpression target = externalBuildFile.findRule("jar");
assertThat(target).isNotNull();
Argument.Keyword arg = workspaceBuildFile.findRule("lib").getKeywordArgument("exports");
StringLiteral label = PsiUtils.findFirstChildOfClassRecursive(arg, StringLiteral.class);
assertThat(label.getReferencedElement()).isEqualTo(target);
}
Aggregations