KotlinLanguageInjector: support for nested annotations (#KT-21753)

This commit is contained in:
Nicolay Mitropolsky
2018-02-27 15:11:38 +03:00
parent 5c04264218
commit fd4f4ef853
2 changed files with 47 additions and 4 deletions
@@ -519,6 +519,39 @@ class KotlinInjectionTest : AbstractInjectionTest() {
""")
}
fun testInjectionInJavaNestedAnnotation() {
myFixture.addClass(
"""
package myinjection;
public @interface InHtml {
String html();
}
"""
)
myFixture.addClass(
"""
package myinjection;
public @interface InHtmls {
InHtml[] htmls();
}
"""
)
doAnnotationInjectionTest(
injectedLanguage = HTMLLanguage.INSTANCE.id,
pattern = """psiMethod().withName("html").withParameters().definedInClass("myinjection.InHtml")""",
kotlinCode = """
import myinjection.InHtml
import myinjection.InHtmls
@InHtmls(htmls = [InHtml(html = "<htm<caret>l></html>")])
fun foo() {
}
"""
)
}
fun testInjectionInAliasedJavaAnnotation() {
myFixture.addClass("""
@interface InHtml {