/** * Try to create a sensible default for validation pattern, in the case where the java type * of the parameter is an enum type or a primitive or primitive wrapper type * @param javaType * @return */ private Optional<Pattern> getDefaultValidationPattern(Class javaType) { return javaType.isEnum() ? Optional.of(createValidationPatternFromEnumType(javaType)) : getDefaultPatternIfPrimitive(javaType); }
@Test public void testEnumWithPermittedCharacters() { Pattern actual = ConfigPropertyUtils.createValidationPatternFromEnumType(Scope.class); assertEquals("(?i)SCENARIO|FEATURE", actual.pattern()); }
@Test public void testEnumWithBadCharacters() { Pattern actual = ConfigPropertyUtils.createValidationPatternFromEnumType(BadBadEnum.class); assertEquals("(?i)This_Enum_Val_Cointains_Really_\\$_BAD_CHARS_£", actual.pattern()); assertTrue(actual.matcher(BadBadEnum.This_Enum_Val_Cointains_Really_$_BAD_CHARS_£.name()).matches()); }