Skip to content

Commit 0ac99de

Browse files
Fixed self references
1 parent 707cb21 commit 0ac99de

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ public PsiReference[] getReferencesByElement(
9191
final PsiManager psiManager = PsiManager.getInstance(element.getProject());
9292

9393
for (final VirtualFile virtualFile : files) {
94+
if (virtualFile.equals(element.getContainingFile().getVirtualFile())) {
95+
continue;
96+
}
9497
final XmlDocument xmlDocument = ((XmlFile) Objects.requireNonNull(
9598
psiManager.findFile(virtualFile))
9699
).getDocument();

tests/com/magento/idea/magento2plugin/reference/BaseReferenceTestCase.java

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.intellij.psi.PsiReference;
1111
import com.intellij.psi.ResolveResult;
1212
import com.intellij.psi.xml.XmlAttributeValue;
13+
import com.intellij.psi.xml.XmlFile;
1314
import com.intellij.psi.xml.XmlTag;
1415
import com.jetbrains.php.lang.psi.elements.PhpClass;
1516
import com.magento.idea.magento2plugin.inspections.BaseInspectionsTestCase;
@@ -80,7 +81,7 @@ protected void assertHasReferenceToXmlTag(final String tagName) {
8081

8182
protected void assertHasReferenceToFile(final String reference) {
8283
final PsiElement element = getElementFromCaret();
83-
for (final PsiReference psiReference: element.getReferences()) {
84+
for (final PsiReference psiReference : element.getReferences()) {
8485
final PsiElement resolved = psiReference.resolve();
8586
if (!(resolved instanceof PsiFile)) {
8687
continue;
@@ -94,13 +95,34 @@ protected void assertHasReferenceToFile(final String reference) {
9495
fail(String.format(referenceNotFound, reference));
9596
}
9697

98+
protected void assertHasReferenceToXmlFile(final String fileName) {
99+
final PsiElement element = getElementFromCaret();
100+
for (final PsiReference psiReference : element.getReferences()) {
101+
final PsiElement resolved = psiReference.resolve();
102+
if (!(resolved instanceof XmlFile)) {
103+
continue;
104+
}
105+
106+
if (((XmlFile) resolved).getName().equals(fileName)) {
107+
return;
108+
}
109+
}
110+
final String referenceNotFound
111+
= "Failed that element contains reference to the XML tag `%s`";
112+
113+
fail(String.format(referenceNotFound, fileName));
114+
}
115+
116+
@SuppressWarnings("PMD")
97117
protected void assertHasReferencePhpClass(final String phpClassFqn) {
98118
final PsiElement element = getElementFromCaret();
99119
final PsiReference[] references = element.getReferences();
100-
assertEquals(//NOPMD
120+
String result = ((PhpClass) references[references.length - 1]
121+
.resolve())
122+
.getPresentableFQN();
123+
assertEquals(
101124
phpClassFqn,
102-
((PhpClass) references[references.length - 1].resolve())
103-
.getPresentableFQN()
125+
result
104126
);
105127
}
106128

0 commit comments

Comments
 (0)