GH-1463: support for concatenated strings added to qualifier reference provider
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2024 Broadcom
|
||||
* Copyright (c) 2024, 2025 Broadcom
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
@@ -99,6 +99,36 @@ public class QualifierReferencesProviderTest {
|
||||
assertEquals(expectedLocation, foundLocation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQualifierRefersToBeanFromNameAttribute() throws Exception {
|
||||
String tempJavaDocUri = directory.toPath().resolve("src/main/java/org/test/TempClass.java").toUri().toString();
|
||||
|
||||
Editor editor = harness.newEditor(LanguageId.JAVA, """
|
||||
package org.test;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
@Component
|
||||
@Qualifier(value = "be<*>an1")
|
||||
public class TestDependsOnClass {
|
||||
}""", tempJavaDocUri);
|
||||
|
||||
String expectedDefinitionUri = directory.toPath().resolve("src/main/java/org/test/MainClass.java").toUri().toString();
|
||||
|
||||
Bean[] beans = springIndex.getBeansWithName(project.getElementName(), "bean1");
|
||||
assertEquals(1, beans.length);
|
||||
|
||||
Location expectedLocation = new Location(expectedDefinitionUri,
|
||||
beans[0].getLocation().getRange());
|
||||
|
||||
List<? extends Location> references = editor.getReferences();
|
||||
assertEquals(1, references.size());
|
||||
|
||||
Location foundLocation = references.get(0);
|
||||
assertEquals(expectedLocation, foundLocation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQualifierRefersToOtherQualifier() throws Exception {
|
||||
String tempJavaDocUri = directory.toPath().resolve("src/main/java/org/test/TempClass.java").toUri().toString();
|
||||
@@ -126,6 +156,63 @@ public class QualifierReferencesProviderTest {
|
||||
assertEquals(expectedLocation, foundLocation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQualifierWithConcatenatedStrings() throws Exception {
|
||||
String tempJavaDocUri = directory.toPath().resolve("src/main/java/org/test/TempClass.java").toUri().toString();
|
||||
|
||||
Editor editor = harness.newEditor(LanguageId.JAVA, """
|
||||
package org.test;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
@Component
|
||||
@Qualifier("qual" + "if<*>ier")
|
||||
public class TestDependsOnClass {
|
||||
}""", tempJavaDocUri);
|
||||
|
||||
String expectedDefinitionUri = directory.toPath().resolve("src/main/java/org/test/injections/ConfigurationWithInjectionsAndAnnotations.java").toUri().toString();
|
||||
|
||||
Location expectedLocation = new Location(expectedDefinitionUri,
|
||||
new Range(new Position(12, 11), new Position(12, 22)));
|
||||
|
||||
List<? extends Location> references = editor.getReferences();
|
||||
assertEquals(1, references.size());
|
||||
|
||||
Location foundLocation = references.get(0);
|
||||
assertEquals(expectedLocation, foundLocation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQualifierRefersToBeanFromNameAttributeWithConcatenatedStrings() throws Exception {
|
||||
String tempJavaDocUri = directory.toPath().resolve("src/main/java/org/test/TempClass.java").toUri().toString();
|
||||
|
||||
Editor editor = harness.newEditor(LanguageId.JAVA, """
|
||||
package org.test;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
@Component
|
||||
@Qualifier(value = "be" + "<*>an1")
|
||||
public class TestDependsOnClass {
|
||||
}""", tempJavaDocUri);
|
||||
|
||||
String expectedDefinitionUri = directory.toPath().resolve("src/main/java/org/test/MainClass.java").toUri().toString();
|
||||
|
||||
Bean[] beans = springIndex.getBeansWithName(project.getElementName(), "bean1");
|
||||
assertEquals(1, beans.length);
|
||||
|
||||
Location expectedLocation = new Location(expectedDefinitionUri,
|
||||
beans[0].getLocation().getRange());
|
||||
|
||||
List<? extends Location> references = editor.getReferences();
|
||||
assertEquals(1, references.size());
|
||||
|
||||
Location foundLocation = references.get(0);
|
||||
assertEquals(expectedLocation, foundLocation);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQualifierRefersToNothing() throws Exception {
|
||||
String tempJavaDocUri = directory.toPath().resolve("src/main/java/org/test/TempClass.java").toUri().toString();
|
||||
|
||||
Reference in New Issue
Block a user