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 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 testErrAfterIf() { myFixture.configureByText("a.go", "package main; func main() { if <caret> }"); myFixture.type("err\t"); myFixture.checkResult("package main; func main() { if err\t<caret> }"); }
public void testXmlInTagOfAnonymousField() { myFixture.configureByText("a.go", "package main; type foo struct { int <caret> }"); myFixture.type("xml\t"); myFixture.checkResult("package main; type foo struct { int `xml:\"<caret>\"` }"); }
private void doTypeQuoteTest(char q) { myFixture.configureByText("t.go", "package t; const c = <caret>"); myFixture.type(q); myFixture.checkResult("package t; const c = " + q + "<caret>" + q); } }
public void testErrOnStatementBeginning() { myFixture.configureByText("a.go", "package main; func main() { <caret> }"); myFixture.type("err\t"); myFixture.checkResult("package main; func main() {\n" + "\tif err != nil {\n" + "\t\t<caret>\n" + "\t} }"); }
public void testMainAfterPackageClause() { myFixture.configureByText("a.go", "package mai<caret>"); myFixture.type("n\t"); myFixture.checkResult("package main\t<caret>"); } }
public void testNewlineInStringLiteral() { myFixture.configureByText("t.go", "package t; const c = \"const<caret>value\""); myFixture.type('\n'); myFixture.checkResult("package t; const c = \"const\" +\n\t\"<caret>value\""); }
public void testJsonInTag() { myFixture.configureByText("a.go", "package main; type foo struct { MyFieldDeclaration int <caret> }"); myFixture.type("json\t"); myFixture.checkResult("package main; type foo struct { MyFieldDeclaration int `json:\"my_field_declaration\"` }"); }
public void testJsonInTagAfterComplexType() { myFixture.configureByText("a.go", "package main; type foo struct { a []int <caret> }"); myFixture.type("json\t"); myFixture.checkResult("package main; type foo struct { a []int `json:\"a\"` }"); }
public void testForInBlock() { myFixture.configureByText("a.go", "package main; func main() { <caret> }"); myFixture.type("for\t"); myFixture.checkResult("package main; func main() {\n" + "\tfor ; ; {\n" + "\t\t\n" + "\t} }"); }
public void testVarDeclarationInBlock() { myFixture.configureByText("a.go", "package main; func main() { <caret> }"); myFixture.type(":\t"); myFixture.checkResult("package main; func main() {\n\tname := }"); }
public void testCloseParenBeforeOpeningBrace() { myFixture.configureByText(GoFileType.INSTANCE, "package foo; func name<caret>{}"); myFixture.type('('); myFixture.checkResult("package foo; func name(<caret>){}"); } }
public void testForInSignature() { myFixture.configureByText("a.go", "package main; func <caret>"); myFixture.type("for\t"); myFixture.checkResult("package main; func for\t<caret>"); }
public void testVarDeclarationInLabel() { myFixture.configureByText("a.go", "package main; func main() { name <caret> }"); myFixture.type(":\t"); myFixture.checkResult("package main; func main() { name :\t<caret> }"); }
protected void doCheckResult(@NotNull String before, @NotNull String after, @Nullable Character c) { myFixture.configureByText(getDefaultFileName(), before); failOnFileLoading(); myFixture.completeBasic(); if (c != null) myFixture.type(c); myFixture.checkResult(after); }
private String doTest(@Nullable Character c, String testName) { if (c == null) { WriteCommandAction.runWriteCommandAction(myFixture.getProject(), () -> { CodeStyleManager.getInstance(getProject()).reformat(myFixture.getFile()); }); } else { myFixture.type(c); } return String.format("%s-after.go", testName); } }
public void testDuplicateAutoImport() { doCheckResult("package main; \n" + "func test(){Fprintl<caret>}", "package main;\n\n" + "import \"fmt\"\n\n" + "func test(){fmt.Fprintln(<caret>)}", "fmt.Fprintln"); myFixture.type(");Fprintl"); myFixture.completeBasic(); selectLookupItem("fmt.Fprintln"); myFixture.checkResult("package main;\n\n" + "import \"fmt\"\n\n" + "func test(){fmt.Fprintln();fmt.Fprintln()}"); }
public void testDoNotHidePopupOnSlash() { myFixture.addFileToProject("package1/pack/test.go", "package foo"); myFixture.addFileToProject("package2/pack/test.go", "package bar"); myFixture.configureByText("test.go", "package foo; import `<caret>`"); myFixture.completeBasic(); myFixture.type("package1/\n"); myFixture.checkResult("package foo; import `package1/pack<caret>`"); }