public void testDeleteLastMultipleVarDefinitionWithoutValue() { myFixture.configureByText("a.go", "package main\n\n var foo, b<caret>ar int = 1"); GoVarDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDefinition.class); assertNotNull(definition); GoVarSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n var foo int = 1"); }
public void testDeleteSingleConstDefinition() { myFixture.configureByText("a.go", "package main\n\n const b<caret>ar int = 1, 2"); GoConstDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDefinition.class); assertNotNull(definition); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n "); }
public void testDeleteFirstMultipleConstDefinitionWithValue() { myFixture.configureByText("a.go", "package main\n\n const fo<caret>o, bar int = 1, 2"); GoConstDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDefinition.class); assertNotNull(definition); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n const bar int = 2"); }
public void testDeleteLastMultipleConstDefinitionWithValue() { myFixture.configureByText("a.go", "package main\n\n const foo, b<caret>ar int = 1, 2"); GoConstDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDefinition.class); assertNotNull(definition); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n const foo int = 1 "); }
public void testDeleteMiddleMultipleVarDefinitionWithValue() { myFixture.configureByText("a.go", "package main\n\n var buzz, fo<caret>o, bar int = 1, 2, 3"); GoVarDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDefinition.class); assertNotNull(definition); GoVarSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n var buzz , bar int = 1 , 3"); }
public void testDeleteFirstMultipleVarDefinitionWithoutValue() { myFixture.configureByText("a.go", "package main\n\n var f<caret>oo, bar int = 1"); GoVarDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDefinition.class); assertNotNull(definition); GoVarSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarSpec.class); assertNotNull(spec); spec.deleteDefinition(definition); myFixture.checkResult("package main\n\n var bar int "); }
public void testMethodWithTransitiveImport() { myFixture.addFileToProject("a.go", "package main; import `middle`; func main() { fmt.Println(middle.A.Method()) }"); myFixture.addFileToProject("middle/middle.go", "package middle; import `declaration`; var A *declaration.D = nil"); PsiFile file = myFixture.addFileToProject("declaration/declaration.go", "package declaration; type D struct {}; func (D) Met<caret>hod() {}"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); Collection<UsageInfo> usages = myFixture.findUsages(myFixture.getElementAtCaret()); assertEquals(1, usages.size()); //noinspection ConstantConditions assertEquals("a.go", usages.iterator().next().getFile().getName()); }
public void testAddVarSpec() { myFixture.configureByText("a.go", "package main\n\nvar (\n" + " fo<caret>o int\n" + ")"); GoVarDeclaration declaration = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDeclaration.class); assertNotNull(declaration); declaration.addSpec("bar", "string", "`1`", null); myFixture.checkResult("package main\n\nvar (\n foo int\nbar string = `1`\n)"); }
public void testAddVarSpecNoNewLines() { myFixture.configureByText("a.go", "package main\n\nvar (fo<caret>o int\n)"); GoVarDeclaration declaration = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDeclaration.class); assertNotNull(declaration); declaration.addSpec("bar", "string", "`1`", null); myFixture.checkResult("package main\n\nvar (foo int\nbar string = `1`\n)"); }
public void testAddVarSpecWithoutParens() { myFixture.configureByText("a.go", "package main\n\nvar fo<caret>o int\n"); GoVarDeclaration declaration = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDeclaration.class); assertNotNull(declaration); declaration.addSpec("bar", "string", "`1`", null); myFixture.checkResult("package main\n\nvar (foo int\nbar string = `1`\n)\n"); }
public void testDoNotLoadSdkUsagesForProjectDeclarations() { myFixture.configureByText("foo.go", "package foo; func _() { Println() }"); myFixture.configureByText("bar.go", "package foo; func Pri<caret>ntln() {}"); failOnFileLoading(); assertSize(1, myFixture.findUsages(myFixture.getElementAtCaret())); }
public void testAddConstSpecNoNewLines() { myFixture.configureByText("a.go", "package main\n\nconst (fo<caret>o int\n)"); GoConstDeclaration declaration = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDeclaration.class); assertNotNull(declaration); declaration.addSpec("bar", "string", "`1`", null); myFixture.checkResult("package main\n\nconst (foo int\nbar string = `1`\n)"); }
public void testAddVarSpecWithoutParensWithAnchor() { myFixture.configureByText("a.go", "package main\n\nvar fo<caret>o int\n"); GoVarSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarSpec.class); assertNotNull(spec); GoVarDeclaration declaration = (GoVarDeclaration)spec.getParent(); declaration.addSpec("bar", "string", "`1`", spec); myFixture.checkResult("package main\n\nvar (\nbar string = `1`\nfoo int)\n"); }
public void testAddConstSpecWithoutParensWithAnchor() { myFixture.configureByText("a.go", "package main\n\nconst fo<caret>o int\n"); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); GoConstDeclaration declaration = (GoConstDeclaration)spec.getParent(); declaration.addSpec("bar", "string", "`1`", spec); myFixture.checkResult("package main\n\nconst (\nbar string = `1`\nfoo int)\n"); }
public void testAddConstSpecWithAnchor() { myFixture.configureByText("a.go", "package main\n\nconst (\n" + " fo<caret>o int\n" + ")"); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); GoConstDeclaration declaration = (GoConstDeclaration)spec.getParent(); declaration.addSpec("bar", "string", "`1`", spec); myFixture.checkResult("package main\n\nconst (\n bar string = `1`\nfoo int\n)"); }
public void testAddConstSpecNoNewLinesWithAnchor() { myFixture.configureByText("a.go", "package main\n\nconst (fo<caret>o int\n)"); GoConstSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstSpec.class); assertNotNull(spec); GoConstDeclaration declaration = (GoConstDeclaration)spec.getParent(); declaration.addSpec("bar", "string", "`1`", spec); myFixture.checkResult("package main\n\nconst (\nbar string = `1`\nfoo int\n)"); }
public void testAddVarSpecNoNewLinesWithAnchor() { myFixture.configureByText("a.go", "package main\n\nvar (fo<caret>o int\n)"); GoVarSpec spec = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarSpec.class); assertNotNull(spec); GoVarDeclaration declaration = (GoVarDeclaration)spec.getParent(); declaration.addSpec("bar", "string", "`1`", spec); myFixture.checkResult("package main\n\nvar (\nbar string = `1`\nfoo int\n)"); }
public void testGetTypeOfSingleVarDefinition() { myFixture.configureByText("a.go", "package main\n\n var f<caret>oo int"); GoVarDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoVarDefinition.class); assertNotNull(definition); GoType type = definition.findSiblingType(); assertNotNull(type); assertEquals("int", type.getText()); }
public void testGetTypeOfSingleConstDefinition() { myFixture.configureByText("a.go", "package main\n\n const fo<caret>o int = 1"); GoConstDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDefinition.class); assertNotNull(definition); GoType type = definition.findSiblingType(); assertNotNull(type); assertEquals("int", type.getText()); }
public void testGetValueOfMultipleConstDefinition_1() { myFixture.configureByText("a.go", "package main\n\n const fo<caret>o, bar int = 1, 2"); GoConstDefinition definition = PsiTreeUtil.getNonStrictParentOfType(myFixture.getElementAtCaret(), GoConstDefinition.class); assertNotNull(definition); GoExpression value = definition.getValue(); assertNotNull(value); assertEquals("1", value.getText()); }