diff --git a/src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java b/src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java index b1c598112..47e1c1218 100644 --- a/src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java +++ b/src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java @@ -91,6 +91,9 @@ public PsiReference[] getReferencesByElement( final PsiManager psiManager = PsiManager.getInstance(element.getProject()); for (final VirtualFile virtualFile : files) { + if (virtualFile.equals(element.getContainingFile().getVirtualFile())) { + continue; + } final XmlDocument xmlDocument = ((XmlFile) Objects.requireNonNull( psiManager.findFile(virtualFile)) ).getDocument(); diff --git a/tests/com/magento/idea/magento2plugin/reference/BaseReferenceTestCase.java b/tests/com/magento/idea/magento2plugin/reference/BaseReferenceTestCase.java index 21c97c528..94f8b20b4 100644 --- a/tests/com/magento/idea/magento2plugin/reference/BaseReferenceTestCase.java +++ b/tests/com/magento/idea/magento2plugin/reference/BaseReferenceTestCase.java @@ -10,6 +10,7 @@ import com.intellij.psi.PsiReference; import com.intellij.psi.ResolveResult; import com.intellij.psi.xml.XmlAttributeValue; +import com.intellij.psi.xml.XmlFile; import com.intellij.psi.xml.XmlTag; import com.jetbrains.php.lang.psi.elements.PhpClass; import com.magento.idea.magento2plugin.inspections.BaseInspectionsTestCase; @@ -80,7 +81,7 @@ protected void assertHasReferenceToXmlTag(final String tagName) { protected void assertHasReferenceToFile(final String reference) { final PsiElement element = getElementFromCaret(); - for (final PsiReference psiReference: element.getReferences()) { + for (final PsiReference psiReference : element.getReferences()) { final PsiElement resolved = psiReference.resolve(); if (!(resolved instanceof PsiFile)) { continue; @@ -94,13 +95,34 @@ protected void assertHasReferenceToFile(final String reference) { fail(String.format(referenceNotFound, reference)); } + protected void assertHasReferenceToXmlFile(final String fileName) { + final PsiElement element = getElementFromCaret(); + for (final PsiReference psiReference : element.getReferences()) { + final PsiElement resolved = psiReference.resolve(); + if (!(resolved instanceof XmlFile)) { + continue; + } + + if (((XmlFile) resolved).getName().equals(fileName)) { + return; + } + } + final String referenceNotFound + = "Failed that element contains reference to the XML tag `%s`"; + + fail(String.format(referenceNotFound, fileName)); + } + + @SuppressWarnings("PMD") protected void assertHasReferencePhpClass(final String phpClassFqn) { final PsiElement element = getElementFromCaret(); final PsiReference[] references = element.getReferences(); - assertEquals(//NOPMD + String result = ((PhpClass) references[references.length - 1] + .resolve()) + .getPresentableFQN(); + assertEquals( phpClassFqn, - ((PhpClass) references[references.length - 1].resolve()) - .getPresentableFQN() + result ); }