diff --git a/src/test/java/com/github/cameltooling/lsp/internal/completion/eip/EIPChoiceCompletionTest.java b/src/test/java/com/github/cameltooling/lsp/internal/completion/eip/EIPChoiceCompletionTest.java index ed2ba58d0..0fd8d761e 100644 --- a/src/test/java/com/github/cameltooling/lsp/internal/completion/eip/EIPChoiceCompletionTest.java +++ b/src/test/java/com/github/cameltooling/lsp/internal/completion/eip/EIPChoiceCompletionTest.java @@ -22,7 +22,10 @@ public class EIPChoiceCompletionTest extends AbstractCamelLanguageServerTest { private static final String FROM_ROUTE = "from(\"timer:foo?period={{timer.period}}\")"; private static final String FROM_ROUTE_WITH_LINE_BREAKS_AND_TABS - = "from(\"timer:foo?period={{timer.period}}\")\n\t.bean()\n.d"; + = "from(\"timer:foo?period={{timer.period}}\")\n\t.bean()\n"; + + private static final String FROM_ROUTE_WITH_CHOICE_EIP_MID_WRITTEN + = "from(\"timer:foo?period={{timer.period}}\")\n\t.ch\n"; @Test @@ -93,6 +96,20 @@ void testProvideInsertionAfterFromOnCamelRouteWithLineBreaks() throws Exception assertThat(completionItems).hasSize(1); } + @Test + void testProvideInsertionMidWritingChoice() throws Exception { + RouteTextBuilder.BlueprintContentWithPosition blueprint = + RouteTextBuilder.createJavaBlueprintCamelRoute(FROM_ROUTE_WITH_CHOICE_EIP_MID_WRITTEN); + + List completionItems = getCompletionsFor(blueprint.content, blueprint.position); + completionItems = completionItems.stream().filter( + completionItem -> completionItem.getLabel().startsWith("Content Based Router") + ).collect(Collectors.toList()); + + + assertThat(completionItems).hasSize(1); + } + private List getCompletionsFor(String contents, Position position) throws Exception { CamelLanguageServer camelLanguageServer = initializeLanguageServer(contents, ".java");