22 * Copyright © Magento, Inc. All rights reserved.
33 * See COPYING.txt for license details.
44 */
5+
56package com .magento .idea .magento2plugin .reference ;
67
78import com .intellij .psi .PsiElement ;
89import com .intellij .psi .PsiFile ;
910import com .intellij .psi .PsiReference ;
1011import com .intellij .psi .xml .XmlAttributeValue ;
12+ import com .intellij .psi .xml .XmlFile ;
1113import com .intellij .psi .xml .XmlTag ;
1214import com .jetbrains .php .lang .psi .elements .PhpClass ;
1315import com .magento .idea .magento2plugin .inspections .BaseInspectionsTestCase ;
1416import com .magento .idea .magento2plugin .magento .packages .File ;
1517
16- abstract public class BaseReferenceTestCase extends BaseInspectionsTestCase {
18+ public abstract class BaseReferenceTestCase extends BaseInspectionsTestCase {
1719
18- private static final String testDataFolderPath = "testData" + File .separator + "reference" + File .separator ;
20+ private static final String testDataFolderPath = "testData" //NOPMD
21+ + File .separator
22+ + "reference"
23+ + File .separator ;
1924
2025 @ Override
2126 protected void setUp () throws Exception {
2227 super .setUp ();
2328 myFixture .setTestDataPath (testDataFolderPath );
2429 }
2530
26- protected void assertHasReferenceToXmlAttributeValue (String reference ) {
27- String referenceNotFound = "Failed that element contains reference to the attribute value `%s`" ;
31+ protected void assertHasReferenceToXmlAttributeValue (final String reference ) {
32+ final String referenceNotFound //NOPMD
33+ = "Failed that element contains reference to the attribute value `%s`" ;
2834
29- PsiElement element = getElementFromCaret ();
30- for (PsiReference psiReference : element .getReferences ()) {
31- PsiElement resolved = psiReference .resolve ();
35+ final PsiElement element = getElementFromCaret ();
36+ for (final PsiReference psiReference : element .getReferences ()) {
37+ final PsiElement resolved = psiReference .resolve ();
3238 if (!(resolved instanceof XmlAttributeValue )) {
3339 continue ;
3440 }
@@ -41,12 +47,13 @@ protected void assertHasReferenceToXmlAttributeValue(String reference) {
4147 fail (String .format (referenceNotFound , reference ));
4248 }
4349
44- protected void assertHasReferenceToXmlTag (String tagName ) {
45- String referenceNotFound = "Failed that element contains reference to the XML tag `%s`" ;
50+ protected void assertHasReferenceToXmlTag (final String tagName ) {
51+ final String referenceNotFound //NOPMD
52+ = "Failed that element contains reference to the XML tag `%s`" ;
4653
47- PsiElement element = getElementFromCaret ();
48- for (PsiReference psiReference : element .getReferences ()) {
49- PsiElement resolved = psiReference .resolve ();
54+ final PsiElement element = getElementFromCaret ();
55+ for (final PsiReference psiReference : element .getReferences ()) {
56+ final PsiElement resolved = psiReference .resolve ();
5057 if (!(resolved instanceof XmlTag )) {
5158 continue ;
5259 }
@@ -59,12 +66,32 @@ protected void assertHasReferenceToXmlTag(String tagName) {
5966 fail (String .format (referenceNotFound , tagName ));
6067 }
6168
62- protected void assertHasReferenceToFile (String reference ) {
63- String referenceNotFound = "Failed that element contains reference to the file `%s`" ;
69+ protected void assertHasReferenceToXmlFile (final String fileName ) {
70+ final String referenceNotFound //NOPMD
71+ = "Failed that element contains reference to the XML tag `%s`" ;
72+
73+ final PsiElement element = getElementFromCaret ();
74+ for (final PsiReference psiReference : element .getReferences ()) {
75+ final PsiElement resolved = psiReference .resolve ();
76+ if (!(resolved instanceof XmlFile )) {
77+ continue ;
78+ }
79+
80+ if (((XmlFile ) resolved ).getName ().equals (fileName )) {
81+ return ;
82+ }
83+ }
84+
85+ fail (String .format (referenceNotFound , fileName ));
86+ }
87+
88+ protected void assertHasReferenceToFile (final String reference ) {
89+ final String referenceNotFound //NOPMD
90+ = "Failed that element contains reference to the file `%s`" ;
6491
65- PsiElement element = getElementFromCaret ();
66- for (PsiReference psiReference : element .getReferences ()) {
67- PsiElement resolved = psiReference .resolve ();
92+ final PsiElement element = getElementFromCaret ();
93+ for (final PsiReference psiReference : element .getReferences ()) {
94+ final PsiElement resolved = psiReference .resolve ();
6895 if (!(resolved instanceof PsiFile )) {
6996 continue ;
7097 }
@@ -76,18 +103,21 @@ protected void assertHasReferenceToFile(String reference) {
76103 fail (String .format (referenceNotFound , reference ));
77104 }
78105
79- protected void assertHasReferencePhpClass (String phpClassFqn ) {
80- PsiElement element = getElementFromCaret ();
81- PsiReference [] references = element .getReferences ();
106+ @ SuppressWarnings ("PMD" )
107+ protected void assertHasReferencePhpClass (final String phpClassFqn ) {
108+ final PsiElement element = getElementFromCaret ();
109+ final PsiReference [] references = element .getReferences ();
110+ String result = ((PhpClass ) references [references .length - 1 ]
111+ .resolve ())
112+ .getPresentableFQN ();
82113 assertEquals (
83- phpClassFqn ,
84- ((PhpClass ) references [references .length -1 ].resolve ())
85- .getPresentableFQN ()
114+ phpClassFqn ,
115+ result
86116 );
87117 }
88118
89119 protected void assertEmptyReference () {
90- PsiElement element = getElementFromCaret ();
120+ final PsiElement element = getElementFromCaret ();
91121 assertEmpty (element .getReferences ());
92122 }
93123
0 commit comments