Search in sources :

Example 11 with Validator

use of org.apache.tapestry5.Validator in project tapestry-5 by apache.

the class FieldValidatorImplTest method blank_value_skipped.

@SuppressWarnings("unchecked")
@Test
public void blank_value_skipped() throws Exception {
    Field field = mockField();
    MessageFormatter formatter = mockMessageFormatter();
    Validator validator = mockValidator();
    train_isRequired(validator, false);
    replay();
    FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator, null);
    fv.validate("");
    verify();
}
Also used : Field(org.apache.tapestry5.Field) FieldValidator(org.apache.tapestry5.FieldValidator) MessageFormatter(org.apache.tapestry5.commons.MessageFormatter) FieldValidator(org.apache.tapestry5.FieldValidator) Validator(org.apache.tapestry5.Validator) Test(org.testng.annotations.Test)

Example 12 with Validator

use of org.apache.tapestry5.Validator in project tapestry-5 by apache.

the class FieldValidatorImplTest method value_type_check_skipped_for_null_values.

@SuppressWarnings("unchecked")
@Test
public void value_type_check_skipped_for_null_values() throws Exception {
    Field field = mockField();
    MessageFormatter formatter = mockMessageFormatter();
    Validator validator = mockValidator();
    train_isRequired(validator, true);
    validator.validate(field, null, formatter, null);
    replay();
    FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator, null);
    fv.validate(null);
    verify();
}
Also used : Field(org.apache.tapestry5.Field) FieldValidator(org.apache.tapestry5.FieldValidator) MessageFormatter(org.apache.tapestry5.commons.MessageFormatter) FieldValidator(org.apache.tapestry5.FieldValidator) Validator(org.apache.tapestry5.Validator) Test(org.testng.annotations.Test)

Example 13 with Validator

use of org.apache.tapestry5.Validator in project tapestry-5 by apache.

the class FieldValidatorSourceImplTest method multiple_validators_via_specification.

@SuppressWarnings("unchecked")
@Test
public void multiple_validators_via_specification() throws Exception {
    Validator required = mockValidator();
    Validator minLength = mockValidator();
    TypeCoercer coercer = mockTypeCoercer();
    FieldComponent field = newFieldComponent();
    Messages messages = mockMessages();
    MessageFormatter requiredFormatter = mockMessageFormatter();
    MessageFormatter minLengthFormatter = mockMessageFormatter();
    Object inputValue = "input value";
    ComponentResources resources = mockComponentResources();
    Messages containerMessages = mockMessages();
    Integer fifteen = 15;
    FormSupport fs = mockFormSupport();
    Messages globalMessages = mockMessages();
    Map<String, Validator> map = newMap();
    map.put("required", required);
    map.put("minLength", minLength);
    train_getFormValidationId(fs, "myform");
    train_getConstraintType(required, null);
    train_getConstraintType(minLength, Integer.class);
    train_getComponentResources(field, resources);
    train_getId(resources, "fred");
    train_getContainerMessages(resources, containerMessages);
    train_contains(containerMessages, "myform-fred-required-message", false);
    train_contains(containerMessages, "fred-required-message", false);
    train_getMessageKey(required, "required");
    train_getMessageFormatter(globalMessages, "required", requiredFormatter);
    train_contains(containerMessages, "myform-fred-minLength-message", false);
    train_contains(containerMessages, "fred-minLength-message", false);
    train_getMessageKey(minLength, "min-length");
    train_getMessageFormatter(globalMessages, "min-length", minLengthFormatter);
    train_coerce(coercer, "15", Integer.class, fifteen);
    train_isRequired(required, true);
    train_getValueType(required, Object.class);
    required.validate(field, null, requiredFormatter, inputValue);
    train_isRequired(minLength, false);
    train_getValueType(minLength, String.class);
    minLength.validate(field, fifteen, minLengthFormatter, inputValue);
    ValidatorMacro macro = mockValidatorMacro();
    train_alwaysNull(macro);
    replay();
    FieldValidatorSource source = new FieldValidatorSourceImpl(globalMessages, coercer, fs, map, macro);
    FieldValidator fieldValidator = source.createValidators(field, "required,minLength=15");
    fieldValidator.validate(inputValue);
    verify();
}
Also used : Messages(org.apache.tapestry5.commons.Messages) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) FieldValidator(org.apache.tapestry5.FieldValidator) ValidatorMacro(org.apache.tapestry5.validator.ValidatorMacro) MessageFormatter(org.apache.tapestry5.commons.MessageFormatter) FormSupport(org.apache.tapestry5.services.FormSupport) ComponentResources(org.apache.tapestry5.ComponentResources) FieldValidatorSource(org.apache.tapestry5.services.FieldValidatorSource) FieldValidator(org.apache.tapestry5.FieldValidator) Validator(org.apache.tapestry5.Validator) Test(org.testng.annotations.Test)

Example 14 with Validator

use of org.apache.tapestry5.Validator in project tapestry-5 by apache.

the class FieldValidatorSourceImplTest method validator_with_constraint_and_macro.

@SuppressWarnings("unchecked")
@Test
public void validator_with_constraint_and_macro() throws Exception {
    Validator validator = mockValidator();
    TypeCoercer coercer = mockTypeCoercer();
    FieldComponent field = newFieldComponent();
    MessageFormatter formatter = mockMessageFormatter();
    Object inputValue = new Object();
    ComponentResources resources = mockComponentResources();
    Messages containerMessages = mockMessages();
    Integer five = 5;
    FormSupport fs = mockFormSupport();
    ValidatorMacro macro = mockValidatorMacro();
    Messages globalMessages = mockMessages();
    Map<String, Validator> map = singletonMap("minLength", validator);
    train_getConstraintType(validator, Integer.class);
    train_getFormValidationId(fs, "myform");
    train_coerce(coercer, "77", Integer.class, five);
    train_getComponentResources(field, resources);
    train_getId(resources, "fred");
    train_getContainerMessages(resources, containerMessages);
    expect(macro.valueForMacro("foo-bar-baz")).andReturn("minLength=77");
    expect(macro.valueForMacro("minLength")).andReturn(null);
    train_contains(containerMessages, "myform-fred-minLength-message", false);
    train_contains(containerMessages, "fred-minLength-message", false);
    train_getMessageKey(validator, "key");
    train_getMessageFormatter(globalMessages, "key", formatter);
    train_isRequired(validator, false);
    train_getValueType(validator, Object.class);
    validator.validate(field, five, formatter, inputValue);
    replay();
    FieldValidatorSource source = new FieldValidatorSourceImpl(globalMessages, coercer, fs, map, macro);
    FieldValidator fieldValidator = source.createValidator(field, "foo-bar-baz", null);
    fieldValidator.validate(inputValue);
    verify();
}
Also used : Messages(org.apache.tapestry5.commons.Messages) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) FieldValidator(org.apache.tapestry5.FieldValidator) ValidatorMacro(org.apache.tapestry5.validator.ValidatorMacro) MessageFormatter(org.apache.tapestry5.commons.MessageFormatter) FormSupport(org.apache.tapestry5.services.FormSupport) ComponentResources(org.apache.tapestry5.ComponentResources) FieldValidatorSource(org.apache.tapestry5.services.FieldValidatorSource) FieldValidator(org.apache.tapestry5.FieldValidator) Validator(org.apache.tapestry5.Validator) Test(org.testng.annotations.Test)

Example 15 with Validator

use of org.apache.tapestry5.Validator in project tapestry-5 by apache.

the class FieldValidatorSourceImplTest method component_messages_overrides_validator_messages.

@SuppressWarnings("unchecked")
@Test
public void component_messages_overrides_validator_messages() throws Exception {
    Validator validator = mockValidator();
    TypeCoercer coercer = mockTypeCoercer();
    FieldComponent field = newFieldComponent();
    MessageFormatter formatter = mockMessageFormatter();
    Object inputValue = new Object();
    ComponentResources resources = mockComponentResources();
    Messages containerMessages = mockMessages();
    FormSupport fs = mockFormSupport();
    ValidatorMacro macro = mockValidatorMacro();
    Map<String, Validator> map = singletonMap("required", validator);
    train_getConstraintType(validator, null);
    train_getFormValidationId(fs, "form");
    train_getComponentResources(field, resources);
    train_getId(resources, "fred");
    train_getContainerMessages(resources, containerMessages);
    train_alwaysNull(macro);
    train_contains(containerMessages, "form-fred-required-message", false);
    train_contains(containerMessages, "fred-required-message", true);
    train_getMessageFormatter(containerMessages, "fred-required-message", formatter);
    train_isRequired(validator, false);
    train_getValueType(validator, Object.class);
    validator.validate(field, null, formatter, inputValue);
    replay();
    FieldValidatorSource source = new FieldValidatorSourceImpl(null, coercer, fs, map, macro);
    FieldValidator fieldValidator = source.createValidator(field, "required", null);
    fieldValidator.validate(inputValue);
    verify();
}
Also used : Messages(org.apache.tapestry5.commons.Messages) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) FieldValidator(org.apache.tapestry5.FieldValidator) ValidatorMacro(org.apache.tapestry5.validator.ValidatorMacro) MessageFormatter(org.apache.tapestry5.commons.MessageFormatter) FormSupport(org.apache.tapestry5.services.FormSupport) ComponentResources(org.apache.tapestry5.ComponentResources) FieldValidatorSource(org.apache.tapestry5.services.FieldValidatorSource) FieldValidator(org.apache.tapestry5.FieldValidator) Validator(org.apache.tapestry5.Validator) Test(org.testng.annotations.Test)

Aggregations

Test (org.testng.annotations.Test)32 MessageFormatter (org.apache.tapestry5.commons.MessageFormatter)26 FieldValidator (org.apache.tapestry5.FieldValidator)21 Field (org.apache.tapestry5.Field)16 Validator (org.apache.tapestry5.Validator)16 ValidatorMacro (org.apache.tapestry5.validator.ValidatorMacro)13 ComponentResources (org.apache.tapestry5.ComponentResources)12 FieldValidatorSource (org.apache.tapestry5.services.FieldValidatorSource)12 FormSupport (org.apache.tapestry5.services.FormSupport)12 Messages (org.apache.tapestry5.commons.Messages)11 TypeCoercer (org.apache.tapestry5.commons.services.TypeCoercer)11 ValidationException (org.apache.tapestry5.ValidationException)7 Pattern (java.util.regex.Pattern)2 Validator (javax.validation.Validator)2 PropertyDescriptor (javax.validation.metadata.PropertyDescriptor)2 Request (org.apache.tapestry5.http.services.Request)2 BeanValidationContext (org.apache.tapestry5.internal.BeanValidationContext)2 Html5Support (org.apache.tapestry5.services.Html5Support)2 StringReader (java.io.StringReader)1 StringWriter (java.io.StringWriter)1