test for injected code inside application statement

This commit is contained in:
Max Medvedev
2015-01-27 20:37:30 +03:00
parent 55e07132e9
commit 2bc709c99f
@@ -83,4 +83,22 @@ def abc = null
}
public void testResolveAnnotationsInInjectedCodeInMethodCall() {
myFixture.addClass("package foo; @interface Bar{}")
myFixture.addClass("package groovy.lang; public class GroovyShell { public void evaluate(String s) { }}");
final PsiFile psiFile = myFixture.configureByText("script.groovy", """
new groovy.lang.GroovyShell().evaluate '''
import foo.Bar
@Ba<caret>r
def abc = null
'''
""");
assertNotNull(psiFile);
PsiReference ref = psiFile.findReferenceAt(myFixture.editor.caretModel.offset)
assert ref.resolve() instanceof PsiClass
assert ref.resolve().qualifiedName == 'foo.Bar'
}
}