public void testXmlInTagLiteral() { myFixture.configureByText("a.go", "package main; type foo struct { a int `<caret>` }"); myFixture.type("xml\t"); myFixture.checkResult("package main; type foo struct { a int `xml:\"a\"` }"); }
public void testSimple() { myFixture.configureByText("a.go", "package main; func main() { const fo<caret>o int = 2 }"); applySingleQuickFix("Delete const 'foo'"); myFixture.checkResult("package main; func main() {}"); }
public void testRemoveSingleQuote() { myFixture.configureByText("t.go", "package main; const _ = '\\n''<caret>'"); myFixture.type('\b'); myFixture.checkResult("package main; const _ = '\\n'<caret>"); }
public void testAddSingleQuote() { myFixture.configureByText("t.go", "package main; const _ = '\\n'<caret>"); myFixture.type('\''); myFixture.checkResult("package main; const _ = '\\n''<caret>'"); }
public void testSimple() { myFixture.configureByText("a.go", "package main; func main() <caret>int {}"); applySingleQuickFix(GoEmptySignatureQuickFix.QUICK_FIX_NAME); myFixture.checkResult("package main; func main() {}"); } }
public void testSimple() { myFixture.configureByText("a.go", "package main; func main() { var vari<caret>able int = 2 }"); applySingleQuickFix("Delete variable 'variable'"); myFixture.checkResult("package main; func main() {}"); }
private void doTestExcluded(@NotNull String initial, @NotNull String after, String... excludedPaths) { GoExcludedPathsSettings.getInstance(getProject()).setExcludedPackages(excludedPaths); myFixture.configureByText("a.go", initial); myFixture.completeBasic(); myFixture.checkResult(after); }
public void testInSamePackage() { myFixture.configureByText("a.go", "package foo; type MyType int; func createMyType() MyType { return MyType{}};"); myFixture.configureByText("b.go", "package foo; func _() { asd<caret>(createMyType());};"); myFixture.doHighlighting(); applySingleQuickFix(QUICK_FIX_NAME); myFixture.checkResult("package foo; func _() { asd(createMyType());}\nfunc asd(myType MyType) {\n\t<caret>\n};"); }
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 testImportVendoringPackageWithDisabledVendoring() { disableVendoring(); myFixture.addFileToProject("vendor/a/b/c.go", "package b"); myFixture.configureByText("a.go", "package a; func a() { b<caret>.Println() }"); myFixture.launchAction(myFixture.findSingleIntention("Import vendor/a/b?")); myFixture.checkResult("package a;\n\nimport \"vendor/a/b\"\n\nfunc a() { b<caret>.Println() }"); }
public void testInOtherPackageWithStruct() { myFixture.addFileToProject("a/a.go", "package a; type MyType int; func CreateChanOfMyType() struct{ ch chan chan MyType} { return nil};"); PsiFile file = myFixture.addFileToProject("b/b.go", "package b; import alias \"a\"; func _() { asd<caret>(alias.CreateChanOfMyType());};"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); applySingleQuickFix(QUICK_FIX_NAME); myFixture.checkResult("package b; import alias \"a\"; " + "func _() { asd(alias.CreateChanOfMyType());}\nfunc asd(myType struct {ch chan chan alias.MyType}) {\n\t<caret>\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 testDoNotAutoImportWithTheSameImportPath() throws IOException { myFixture.addFileToProject("pack1/file2.go", "package pack1; func MyFunctionFromSamePath() {}"); myFixture.addFileToProject("pack2/file2.go", "package pack1; func MyFunctionFromOtherPath() {}"); PsiFile file = myFixture.addFileToProject("pack1/file1.go", "package pack1; func test() { pack1.MyFunc<caret> }"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); myFixture.completeBasic(); myFixture.checkResult("package pack1;\n\nimport \"pack2\"\n\nfunc test() { pack1.MyFunctionFromOtherPath() }"); }
public void testReplaceImportWithVendoredPath() { myFixture.addFileToProject("vendor/foo/a.go", "package foo"); myFixture.configureByText("a.go", "package pack\n" + "import _ `pack/vendor/unresolved`\n" + "import <error descr=\"Must be imported as 'foo'\">_ `vend<caret>or/foo`</error>"); myFixture.checkHighlighting(); assertContainsElements(getIntentionNames(), "Disable vendoring experiment support in module 'light_idea_test_case'", "Delete import"); myFixture.launchAction(myFixture.findSingleIntention("Replace with 'foo'")); myFixture.checkResult("package pack\n" + "import _ `pack/vendor/unresolved`\n" + "import _ `foo`"); }
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 "); }