diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedDeserializer.java b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedDeserializer.java index 4fa6d4e3..0f77c62d 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedDeserializer.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedDeserializer.java @@ -10,7 +10,7 @@ @Slf4j public abstract class InterpolatedDeserializer extends JsonDeserializer { - private static final Pattern PATTERN = Pattern.compile("(?\\$\\{(?[\\w.]+)(:-(?[\\w~\\s-.:/\\\\]*))?})"); + private static final Pattern PATTERN = Pattern.compile("(?\\$\\{(?[\\w.]+)(:-(?[\\w~\\s-.:/\\\\=]*))?})"); private final Vars vars = Vars.getInstance(); diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializer.java b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializer.java index f414e2a6..b094be22 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializer.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializer.java @@ -25,7 +25,7 @@ public class InterpolatedObjectDeserializer extends JsonDeserializer { private static final InterpolatedObjectDeserializer INSTANCE = new InterpolatedObjectDeserializer(); - private static final Pattern INT_PATTERN = Pattern.compile("(?\\$<(?[\\w.]+)(:-(?[\\w~.:/\\\\]*))?>)"); + private static final Pattern INT_PATTERN = Pattern.compile("(?\\$<(?[\\w.]+)(:-(?[\\w~\\s-.:/\\\\=]*))?>)"); private static final Pattern NUMBER = Pattern.compile("-?\\d+(.\\d+|,\\d+)?"); private final Vars vars = Vars.getInstance(); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializerTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializerTest.java index 372034a3..41dcc4a8 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializerTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedObjectDeserializerTest.java @@ -261,7 +261,7 @@ static Stream valuesProvider() { arguments("$", 0), arguments("$", 0), arguments("$", 0), - arguments("$", 0), + arguments("$", 0), arguments("$", Integer.parseInt(VAR_IN_ENV)), arguments("$", Integer.parseInt(VAR_IN_ENV)) ); diff --git a/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedStringDeserializerTest.java b/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedStringDeserializerTest.java index 582f91c6..79c16b18 100644 --- a/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedStringDeserializerTest.java +++ b/spectrum/src/test/java/io/github/giulong/spectrum/internals/jackson/deserializers/InterpolatedStringDeserializerTest.java @@ -73,6 +73,7 @@ static Stream valuesProvider() { arguments("${notSet:-${varInEnv:-local}}-nested", VAR_IN_ENV + "-nested"), arguments("${notSet:-${varInEnv:-local}}-nested-${varInEnv}", VAR_IN_ENV + "-nested-" + VAR_IN_ENV), arguments("${notSet:-local.dots}", "local.dots"), + arguments("${notSet:---key=value}", "--key=value"), arguments("${notSet:-}", ""), arguments("${varInEnv:-local}", VAR_IN_ENV), arguments("${varInEnv}", VAR_IN_ENV),