@Override public void tryClosure() { try { myFixture.findUsages(myFixture.getElementAtCaret()); } catch (AssertionError e) { String message = e.getMessage(); assertTrue(message.contains("Access to tree elements not allowed in tests")); assertTrue(message.contains("bar_test.go")); throw e; } } });
@Override public void tryClosure() { try { assertSize(1, myFixture.findUsages(myFixture.getElementAtCaret())); } catch (AssertionError e) { String message = e.getMessage(); assertTrue(message.contains("Access to tree elements not allowed in tests")); assertTrue(message.contains("bar.go")); throw e; } } });
@Override public void tryClosure() { try { assertSize(5, myFixture.findUsages(myFixture.getElementAtCaret())); } catch (AssertionError e) { String message = e.getMessage(); assertTrue(message.contains("Access to tree elements not allowed in tests")); assertTrue(message.contains("io.go")); throw e; } } });
private void doTestDoNotFind(@NotNull String text) { myFixture.configureByText("a.go", text); PsiElement atCaret = myFixture.getElementAtCaret(); try { myFixture.findUsages(atCaret); fail("Shouldn't be performed"); } catch (AssertionError e) { assertEquals("Cannot find handler for: IMPORT_SPEC", e.getMessage()); } }
public void testBuiltinHighlighting() { myFixture.configureByText("a.go", "package main; func bar() i<caret>nt {}"); assertSize(1, myFixture.findUsages(myFixture.getElementAtCaret())); }
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 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())); }
private void doTest(@NotNull String text) { List<Integer> offsets = allOccurrences(StringUtil.replace(text, "<caret>", ""), USAGE); String replace = StringUtil.replace(text, USAGE, ""); myFixture.configureByText("a.go", replace); PsiElement atCaret = myFixture.getElementAtCaret(); List<Integer> actual = ContainerUtil.map(myFixture.findUsages(atCaret), UsageInfo::getNavigationOffset); assertSameElements(actual, offsets); }
public void testCheckImportInWholePackageWithRelativeImports() { myFixture.addFileToProject("bar/bar1.go", "package bar; func Bar() { b := bar{}; b.f.Method() }"); myFixture.addFileToProject("bar/bar.go", "package bar; import \"..\"; type bar struct { f *foo.Foo }"); myFixture.configureByText("foo.go", "package foo; type Foo struct{}; func (*Foo) M<caret>ethod() {}"); assertSize(1, myFixture.findUsages(myFixture.getElementAtCaret())); }
public void testDoNoLoadUnreachableVendorDirectory() { myFixture.addFileToProject("a.go", "package a; import `foo/vendor/foo`; func _() { println(CONST_NAME) }"); PsiFile declarationFile = myFixture.addFileToProject("foo/vendor/foo/foo.go", "package foo; const CON<caret>ST_NAME = 1;"); myFixture.configureFromExistingVirtualFile(declarationFile.getVirtualFile()); failOnFileLoading(); myFixture.findUsages(myFixture.getElementAtCaret()); }
public void testDoNoLoadNotImportedDirectory() { myFixture.addFileToProject("bar/bar.go", "package bar; func _() { println(CONST_NAME) }"); PsiFile declarationFile = myFixture.addFileToProject("foo/foo.go", "package foo; const CON<caret>ST_NAME = 1;"); myFixture.configureFromExistingVirtualFile(declarationFile.getVirtualFile()); failOnFileLoading(); myFixture.findUsages(myFixture.getElementAtCaret()); }
public void testDoNoLoadTestDirectoryFromTestFileWithDifferentPackage() { myFixture.addFileToProject("bar/bar_test.go", "package bar; import `foo`; func _() { println(CONST_NAME) }"); PsiFile declarationFile = myFixture.addFileToProject("foo/foo_test.go", "package foo; const CON<caret>ST_NAME = 1;"); myFixture.configureFromExistingVirtualFile(declarationFile.getVirtualFile()); failOnFileLoading(); myFixture.findUsages(myFixture.getElementAtCaret()); }
public void testDoNoLoadTestDirectoryFromProductionFile() { myFixture.addFileToProject("bar/bar.go", "package bar; import `foo`; func _() { println(CONST_NAME) }"); PsiFile declarationFile = myFixture.addFileToProject("foo/foo_test.go", "package foo; const CON<caret>ST_NAME = 1;"); myFixture.configureFromExistingVirtualFile(declarationFile.getVirtualFile()); failOnFileLoading(); myFixture.findUsages(myFixture.getElementAtCaret()); }
public void testCheckImportInWholePackage() { myFixture.addFileToProject("bar/bar1.go", "package bar; func Bar() { b := bar{}; b.f.Method() }"); myFixture.addFileToProject("bar/bar.go", "package bar; import \"foo\"; type bar struct { f *foo.Foo }"); PsiFile file = myFixture.addFileToProject("foo/foo.go", "package foo; type Foo struct{}; func (*Foo) M<caret>ethod() {}"); myFixture.configureFromExistingVirtualFile(file.getVirtualFile()); Collection<UsageInfo> usages = myFixture.findUsages(myFixture.getElementAtCaret()); assertSize(1, usages); UsageInfo first = usages.iterator().next(); PsiElement e = first.getElement(); GoStatement statement = PsiTreeUtil.getParentOfType(e, GoStatement.class); assertNotNull(statement); assertEquals("b.f.Method()", statement.getText()); }
public void testDoNoLoadUnreachableInternalDirectory() { GoSdkService.setTestingSdkVersion("1.5", getTestRootDisposable()); myFixture.addFileToProject("a.go", "package a; import `foo/internal/foo`; func _() { println(CONST_NAME) }"); PsiFile declarationFile = myFixture.addFileToProject("foo/internal/foo/foo.go", "package foo; const CON<caret>ST_NAME = 1;"); myFixture.configureFromExistingVirtualFile(declarationFile.getVirtualFile()); failOnFileLoading(); myFixture.findUsages(myFixture.getElementAtCaret()); }
public void testSdkTestDataDirectory() { myFixture.configureByText("a.go", "package a; import `doc/testdata`; func _() { println(pkg.ExportedConst<caret>ant) } "); PsiReference reference = myFixture.getFile().findReferenceAt(myFixture.getCaretOffset()); PsiElement resolve = reference != null ? reference.resolve() : null; assertNotNull(resolve); assertEquals("pkg.go", resolve.getContainingFile().getName()); assertEmpty(myFixture.findUsages(resolve)); }
@Test public void testFileUsage() throws Exception { PsiElement file = configurePsiAtCaret().getContainingFile(); Collection<UsageInfo> usages = myFixture.findUsages(file); Assert.assertEquals(1, usages.size()); Assert.assertEquals("Bash file", typeNameFor(file)); Assert.assertEquals("fileUsage.bash", descriptiveNameFor(file)); }
@Test public void testFunctionNameUsage() throws Exception { configurePsiAtCaret(); //getElementAtCaret to get the reference target instead of the word element inside of a reference PsiElement element = myFixture.getElementAtCaret(); Collection<UsageInfo> usages = myFixture.findUsages(element); Assert.assertEquals(2, usages.size()); Assert.assertEquals("function", typeNameFor(element)); Assert.assertEquals("x", descriptiveNameFor(element)); }
@Test public void testFunctionUsage() throws Exception { configurePsiAtCaret(); //getElementAtCaret to get the reference target instead of the word element inside of a reference PsiElement element = myFixture.getElementAtCaret(); Collection<UsageInfo> usages = myFixture.findUsages(element); Assert.assertEquals(2, usages.size()); Assert.assertEquals("function", typeNameFor(element)); Assert.assertEquals("x", descriptiveNameFor(element)); }
@Test public void testVarUsage() throws Exception { PsiElement element = configurePsiAtCaret(); PsiElement varDef = element.getReference().resolve(); Collection<UsageInfo> usages = myFixture.findUsages(varDef); Assert.assertEquals(7, usages.size()); Assert.assertEquals("variable", typeNameFor(element)); Assert.assertEquals("a", descriptiveNameFor(element)); }