diff --git a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/requestmapping/test/RequestMappingSymbolProviderTest.java b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/requestmapping/test/RequestMappingSymbolProviderTest.java index 953f19dad..c1a64f8f0 100644 --- a/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/requestmapping/test/RequestMappingSymbolProviderTest.java +++ b/headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/requestmapping/test/RequestMappingSymbolProviderTest.java @@ -249,6 +249,14 @@ public class RequestMappingSymbolProviderTest { assertTrue(containsSymbol(symbols, "@/path/from/constant/", docUri, 6, 1, 6, 21)); } + @Test + void testMappingPathFromSuperclassWithStringConcatenation() throws Exception { + String docUri = directory.toPath().resolve("src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithStringConcatenation.java").toUri().toString(); + List symbols = indexer.getSymbols(docUri); + assertEquals(1, symbols.size()); + assertTrue(containsSymbol(symbols, "@/superpath/subclass", docUri, 6, 1, 6, 34)); + } + @Test void testMappingPathFromSuperclassWithMethodsAndPathAttribute() throws Exception { String docUri = directory.toPath().resolve("src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithMethods.java").toUri().toString(); diff --git a/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithStringConcatenation.java b/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithStringConcatenation.java new file mode 100644 index 000000000..8b6724bcb --- /dev/null +++ b/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithStringConcatenation.java @@ -0,0 +1,12 @@ +package org.test.inheritance; + +import org.springframework.web.bind.annotation.RequestMapping; + +public class SubclassWithMappingFromParentWithStringConcatenation extends SuperclassWithMappingPathWithStringConcatenation { + + @RequestMapping("/sub" + "class") + public String hello() { + return "Hello"; + } + +} diff --git a/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SuperclassWithMappingPathWithStringConcatenation.java b/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SuperclassWithMappingPathWithStringConcatenation.java new file mode 100644 index 000000000..16aa94a2f --- /dev/null +++ b/headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SuperclassWithMappingPathWithStringConcatenation.java @@ -0,0 +1,7 @@ +package org.test.inheritance; + +import org.springframework.web.bind.annotation.RequestMapping; + +@RequestMapping("/super" + "path") +public class SuperclassWithMappingPathWithStringConcatenation { +}