diff --git a/initializr/src/main/groovy/io/spring/initializr/util/UserAgentWrapper.groovy b/initializr/src/main/groovy/io/spring/initializr/util/UserAgentWrapper.groovy index 5c947169..32bdfa8b 100644 --- a/initializr/src/main/groovy/io/spring/initializr/util/UserAgentWrapper.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/util/UserAgentWrapper.groovy @@ -26,7 +26,7 @@ import org.springframework.util.Assert */ class UserAgentWrapper { - private static final TOOL_REGEX = '(.*)\\/(.*)' + private static final TOOL_REGEX = '([^\\/]*)\\/([^ ]*).*' private static final STS_REGEX = 'STS (.*)' diff --git a/initializr/src/test/groovy/io/spring/initializr/util/UserAgentWrapperTests.groovy b/initializr/src/test/groovy/io/spring/initializr/util/UserAgentWrapperTests.groovy index 4362a295..c0297723 100644 --- a/initializr/src/test/groovy/io/spring/initializr/util/UserAgentWrapperTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/util/UserAgentWrapperTests.groovy @@ -83,6 +83,17 @@ class UserAgentWrapperTests { assertThat(information.version, is(nullValue())) } + @Test + void checkIntelliJIDEAWithVersion() { + UserAgentWrapper userAgent = new UserAgentWrapper('IntelliJ IDEA/144.2 (Community edition; en-us)') + assertThat(userAgent.isCurl(), is(false)) + assertThat(userAgent.isHttpie(), is(false)) + assertThat(userAgent.isSpringBootCli(), is(false)) + def information = userAgent.extractAgentInformation() + assertThat(information.id, equalTo(UserAgentWrapper.AgentId.INTELLIJ_IDEA)) + assertThat(information.version, is('144.2')) + } + @Test void checkGenericBrowser() { UserAgentWrapper userAgent =