2
2
* Copyright © Magento, Inc. All rights reserved.
3
3
* See COPYING.txt for license details.
4
4
*/
5
+
5
6
package com .magento .idea .magento2plugin .reference ;
6
7
7
8
import com .intellij .psi .PsiElement ;
8
9
import com .intellij .psi .PsiFile ;
9
10
import com .intellij .psi .PsiReference ;
10
11
import com .intellij .psi .xml .XmlAttributeValue ;
12
+ import com .intellij .psi .xml .XmlFile ;
11
13
import com .intellij .psi .xml .XmlTag ;
12
14
import com .jetbrains .php .lang .psi .elements .PhpClass ;
13
15
import com .magento .idea .magento2plugin .inspections .BaseInspectionsTestCase ;
14
16
import com .magento .idea .magento2plugin .magento .packages .File ;
15
17
16
- abstract public class BaseReferenceTestCase extends BaseInspectionsTestCase {
18
+ public abstract class BaseReferenceTestCase extends BaseInspectionsTestCase {
17
19
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 ;
19
24
20
25
@ Override
21
26
protected void setUp () throws Exception {
22
27
super .setUp ();
23
28
myFixture .setTestDataPath (testDataFolderPath );
24
29
}
25
30
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`" ;
28
34
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 ();
32
38
if (!(resolved instanceof XmlAttributeValue )) {
33
39
continue ;
34
40
}
@@ -41,12 +47,13 @@ protected void assertHasReferenceToXmlAttributeValue(String reference) {
41
47
fail (String .format (referenceNotFound , reference ));
42
48
}
43
49
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`" ;
46
53
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 ();
50
57
if (!(resolved instanceof XmlTag )) {
51
58
continue ;
52
59
}
@@ -59,12 +66,32 @@ protected void assertHasReferenceToXmlTag(String tagName) {
59
66
fail (String .format (referenceNotFound , tagName ));
60
67
}
61
68
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`" ;
64
91
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 ();
68
95
if (!(resolved instanceof PsiFile )) {
69
96
continue ;
70
97
}
@@ -76,18 +103,21 @@ protected void assertHasReferenceToFile(String reference) {
76
103
fail (String .format (referenceNotFound , reference ));
77
104
}
78
105
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 ();
82
113
assertEquals (
83
- phpClassFqn ,
84
- ((PhpClass ) references [references .length -1 ].resolve ())
85
- .getPresentableFQN ()
114
+ phpClassFqn ,
115
+ result
86
116
);
87
117
}
88
118
89
119
protected void assertEmptyReference () {
90
- PsiElement element = getElementFromCaret ();
120
+ final PsiElement element = getElementFromCaret ();
91
121
assertEmpty (element .getReferences ());
92
122
}
93
123
0 commit comments