From 27f4456b440322e0303635abef1e5bca2cc2e200 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Tue, 11 Feb 2025 08:58:59 +0100 Subject: [PATCH] GH-1463: added test case for string concatenation with request mappings from parent classes --- .../test/RequestMappingSymbolProviderTest.java | 8 ++++++++ ...WithMappingFromParentWithStringConcatenation.java | 12 ++++++++++++ ...rclassWithMappingPathWithStringConcatenation.java | 7 +++++++ 3 files changed, 27 insertions(+) create mode 100644 headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SubclassWithMappingFromParentWithStringConcatenation.java create mode 100644 headless-services/spring-boot-language-server/src/test/resources/test-projects/test-request-mapping-symbols/src/main/java/org/test/inheritance/SuperclassWithMappingPathWithStringConcatenation.java 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 953f19dad3..c1a64f8f06 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 @@ void testMappingPathFromSuperclassWithConstant() throws Exception { 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 0000000000..8b6724bcbd --- /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 0000000000..16aa94a2f2 --- /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 { +}