public void testCompleteDifferentPackageFromTest() { myFixture.configureByText("a.go", "package foo; func a() { fmt.Print<caret> }"); assertNotEmpty(myFixture.getLookupElementStrings()); }
public void testDoNotImportOwnPathFromNonTestPackage() throws IOException { PsiFile testFile = myFixture.addFileToProject("fuzz/fuzy_test.go", "package fuzy; import \"<caret>\""); myFixture.configureFromExistingVirtualFile(testFile.getVirtualFile()); myFixture.completeBasic(); List<String> strings = myFixture.getLookupElementStrings(); assertTrue(strings != null && !strings.contains("fuzz")); }
public void testCompleteTestBenchmarkExamplesFromNonTestFiles() throws IOException { myFixture.addFileToProject("pack/pack.go", "package pack; func TestFoo() {} func BenchmarkFoo() {} func ExampleFoo() {}"); myFixture.configureByText("my_test.go", "package a; func main() { _ = Foo<caret>"); myFixture.completeBasic(); //noinspection ConstantConditions assertContainsElements(myFixture.getLookupElementStrings(), "pack.TestFoo", "pack.BenchmarkFoo", "pack.ExampleFoo"); }
@SuppressWarnings("ConstantConditions") public void testPackageNamesInTestFile() { myFixture.configureByText("foo.go", "package foo"); myFixture.configureByText("foo_test.go", "package <caret>"); myFixture.completeBasic(); assertSameElements(myFixture.getLookupElementStrings(), "foo", "foo_test", "main"); }
public void testDoNotCompletePackagesShadowedBySdkDirectories() { myFixture.addFileToProject("fmt/subdir/fmt.go", "package subdir; func Println() {}"); myFixture.addFileToProject("fmt/fmt.go", "package shadowed; func Println() {}"); myFixture.configureByText("a.go", "package src; import `fmt<caret>`"); myFixture.completeBasic(); //noinspection ConstantConditions assertSameElements(myFixture.getLookupElementStrings(), "fmt", "fmt/subdir"); }
@SuppressWarnings("ConstantConditions") public void testPackageNames() { myFixture.configureByText("test_test.go", "package myFromTest_test"); myFixture.configureByText("test_file.go", "package myFromFile"); myFixture.configureByText("test.go", "package m<caret>"); myFixture.completeBasic(); assertSameElements(myFixture.getLookupElementStrings(), "myFromTest", "myFromFile", "main"); }
public void testDoNotCompleteSymbolsFromShadowedPackages() { myFixture.addFileToProject("foo/foo.go", "package foo; func ShadowedFunction() {}"); myFixture.addFileToProject("vendor/foo/foo.go", "package bar; func ShadowedFunction() {}"); myFixture.configureByText("a.go", "package src; func _() { ShadowF<caret> }"); myFixture.completeBasic(); //noinspection ConstantConditions assertSameElements(myFixture.getLookupElementStrings(), "bar.ShadowedFunction"); }
public void testNoFieldNamesInStructLiteralWithValueInitializers() { String source = "package test; " + "type A struct { field_in_a string }; " + "type B struct { A; field_in_b string }; " + "func Test() B { a := A{}; s := \"\"; return B{ A{}, <caret>}; }"; myFixture.configureByText("test.go", source); myFixture.completeBasic(); List<String> variants = myFixture.getLookupElementStrings(); assertNotNull(variants); assertContainsElements(variants, "s"); assertDoesntContain(variants, "field_in_b"); }
public void testImportOwnPathFromTestFile() throws IOException { PsiFile testFile = myFixture.addFileToProject("fuzz/fuzy_test.go", "package fuzy_test; import \"<caret>\""); myFixture.configureFromExistingVirtualFile(testFile.getVirtualFile()); myFixture.completeBasic(); //noinspection ConstantConditions assertContainsElements(myFixture.getLookupElementStrings(), "fuzz"); }
public void testNoDuplicates() { doTestInclude("package foo; type a struct {<caret>", "a"); List<String> stringList = myFixture.getLookupElementStrings(); assertNotNull(stringList); assertSize(1, ContainerUtil.filter(stringList, new TreePrintCondition.Include("a"))); }
public void testDoNotCompleteSymbolsFromUnreachableVendoredPackages() { myFixture.addFileToProject("vendor/foo/foo.go", "package foo; func VendoredFunction() {}"); myFixture.addFileToProject("vendor/foo/vendor/bar/bar.go", "package bar; func VendoredFunction() {}"); myFixture.configureByText("a.go", "package src; func _() { VendorF<caret> }"); myFixture.completeBasic(); //noinspection ConstantConditions assertSameElements(myFixture.getLookupElementStrings(), "foo.VendoredFunction"); }
public void testPackageNamesInEmptyDirectory() { PsiFile file = myFixture.addFileToProject("my-directory-name/test.go", "package m<caret>"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); myFixture.completeBasic(); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull(strings); assertSameElements(strings, "my_directory_name", "main"); }
public void testImportPackages() { myFixture.addFileToProject("package1/pack/test.go", "package foo"); myFixture.addFileToProject("package2/pack/test.go", "package bar"); myFixture.configureByText("test.go", "package foo; import `pack<caret>`"); myFixture.completeBasic(); List<String> lookupElementStrings = myFixture.getLookupElementStrings(); assertNotNull(lookupElementStrings); assertSameElements(lookupElementStrings, "package1/pack", "package2/pack"); }
public void testImportPackagesWithoutClosingQuote() { myFixture.addFileToProject("package1/pack/test.go", "package foo"); myFixture.addFileToProject("package2/pack/test.go", "package bar"); myFixture.configureByText("test.go", "package foo; import `pack<caret>"); myFixture.completeBasic(); List<String> lookupElementStrings = myFixture.getLookupElementStrings(); assertNotNull(lookupElementStrings); assertSameElements(lookupElementStrings, "package1/pack", "package2/pack"); }
public void testImportRelativePackages() { myFixture.addFileToProject("package1/pack/test.go", "package foo"); myFixture.addFileToProject("package2/pack/test.go", "package bar"); myFixture.configureByText("test.go", "package foo; import `./pack<caret>`"); myFixture.completeBasic(); List<String> lookupElementStrings = myFixture.getLookupElementStrings(); assertNotNull(lookupElementStrings); assertSameElements(lookupElementStrings, "package1", "package2"); }
public void testDoNotCompleteFullPackagesForRelativeImports() { myFixture.addFileToProject("package1/pack/test.go", "package foo"); myFixture.addFileToProject("package2/pack/test.go", "package bar"); myFixture.configureByText("test.go", "package foo; import `./pack<caret>`"); myFixture.completeBasic(); List<String> lookupElementStrings = myFixture.getLookupElementStrings(); assertNotNull(lookupElementStrings); assertSameElements(lookupElementStrings, "package1", "package2"); }
public void testCompleteInternalPackageOn1_2_SDK() { myFixture.addFileToProject("internal/internal.go", "package internalPackage; func InternalFunction() {}"); myFixture.addFileToProject("sub/internal/internal.go", "package subInternalPackage; func InternalFunction() {}"); myFixture.configureByText("a.go", "package a; import `inte<caret>`"); myFixture.completeBasic(); List<String> elementStrings = myFixture.getLookupElementStrings(); assertNotNull(elementStrings); assertContainsElements(elementStrings, "internal", "sub/internal", "net/internal"); }
public void testDoNotCompleteFunctionsFromPackagesShadowedBySdkDirectories() { myFixture.addFileToProject("fmt/subdir/fmt.go", "package subdir; func Println() {}"); myFixture.addFileToProject("fmt/fmt.go", "package shadowed; func Println() {}"); myFixture.configureByText("a.go", "package src; func _() { Printl<caret> }"); myFixture.completeBasic(); List<String> elementStrings = myFixture.getLookupElementStrings(); assertNotNull(elementStrings); assertContainsElements(elementStrings, "subdir.Println"); assertDoesntContain(elementStrings, "shadowed.Println"); }
public void testDoNotCompleteSymbolsFromShadowedVendoredPackages() { myFixture.addFileToProject("vendor/foo/foo.go", "package bar; func ShadowedFunction() {}"); myFixture.addFileToProject("vendor/foo/vendor/foo/foo.go", "package bar; func ShadowedFunction() {}"); PsiFile file = myFixture.addFileToProject("vendor/foo/main.go", "package foo; func _() { ShadowF<caret> }"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); myFixture.completeBasic(); //noinspection ConstantConditions assertSameElements(myFixture.getLookupElementStrings(), "bar.ShadowedFunction"); }
public void testCompleteInternalPackageOn1_4_SDK() { GoSdkService.setTestingSdkVersion("1.4", getTestRootDisposable()); myFixture.addFileToProject("internal/internal.go", "package internalPackage; func InternalFunction() {}"); myFixture.addFileToProject("sub/internal/internal.go", "package subInternalPackage; func InternalFunction() {}"); myFixture.configureByText("a.go", "package a; import `inte<caret>`"); myFixture.completeBasic(); List<String> elementStrings = myFixture.getLookupElementStrings(); assertNotNull(elementStrings); assertContainsElements(elementStrings, "internal", "sub/internal"); assertDoesntContain(elementStrings, "net/internal"); }