Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/internal/services/FieldValidatorImplTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/internal/services/FieldValidatorImplTest.java?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/internal/services/FieldValidatorImplTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/internal/services/FieldValidatorImplTest.java Sun Feb 4 06:08:34 2007 @@ -16,9 +16,12 @@ import org.apache.tapestry.Field; import org.apache.tapestry.FieldValidator; +import org.apache.tapestry.ValidationException; import org.apache.tapestry.Validator; import org.apache.tapestry.internal.test.InternalBaseTestCase; import org.apache.tapestry.ioc.MessageFormatter; +import org.apache.tapestry.validator.Max; +import org.apache.tapestry.validator.Min; import org.testng.annotations.Test; /** @@ -26,83 +29,200 @@ */ public class FieldValidatorImplTest extends InternalBaseTestCase { - @SuppressWarnings("unchecked") + @SuppressWarnings("serial") @Test public void null_value_skipped() throws Exception { - Field field = newField(); - MessageFormatter formatter = newMessageFormatter(); - Validator validator = newValidator(); + Field field = null; + FieldValidatorMessages messages = new FieldValidatorMessages() + { + public MessageFormatter get(Field field, Validator validator) + { + return null; + } + + }; + Validator<Object> validator = new NoOpValidator<Object>() + { + + @Override + public void validate(Field field, MessageFormatter formatter, Object value) + throws ValidationException + { + fail(); + } + }; - train_invokeIfBlank(validator, false); - - replay(); - - FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator); + FieldValidator<Object> fv = new FieldValidatorImpl<Object>(field, messages, validator); fv.validate(null); - - verify(); } - @SuppressWarnings("unchecked") + @SuppressWarnings("serial") @Test public void blank_value_skipped() throws Exception { - Field field = newField(); - MessageFormatter formatter = newMessageFormatter(); - Validator validator = newValidator(); - - train_invokeIfBlank(validator, false); - - replay(); + Field field = null; + FieldValidatorMessages messages = new FieldValidatorMessages() + { + public MessageFormatter get(Field field, Validator validator) + { + return null; + } + + }; + Validator<Object> validator = new NoOpValidator<Object>() + { + + @Override + public void validate(Field field, MessageFormatter formatter, Object value) + throws ValidationException + { + fail(); + } + }; - FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator); + FieldValidator<Object> fv = new FieldValidatorImpl<Object>(field, messages, validator); fv.validate(""); - verify(); } - @SuppressWarnings("unchecked") @Test - public void nonmatching_value_type_skipped() throws Exception + public void single_validator() throws Exception { - Field field = newField(); - MessageFormatter formatter = newMessageFormatter(); - Validator validator = newValidator(); - Integer value = 15; - - train_invokeIfBlank(validator, true); - train_getValueType(validator, String.class); - - replay(); - - FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator); - - fv.validate(value); + final Field field = new NoOpField() + { - verify(); + @Override + public String getLabel() + { + return "foo"; + } + + }; + final Min min = new Min(10); + FieldValidatorMessages messages = new FieldValidatorMessages() + { + public MessageFormatter get(Field field2, Validator validator) + { + assertSame(field2, field); + assertSame(validator, min); + return new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("%2$s must be at least %1$s", args); + } + + }; + } + + }; + FieldValidator<Number> fv = new FieldValidatorImpl<Number>(field, messages, min); + fv.validate(10); + fv.validate(11); + try + { + fv.validate(9); + unreachable(); + } + catch (ValidationException ex) + { + assertEquals(ex.getMessage(), "foo must be at least 10"); + } } - @SuppressWarnings("unchecked") @Test - public void value_type_check_skipped_for_null_values() throws Exception + public void two_validators() throws Exception { - Field field = newField(); - MessageFormatter formatter = newMessageFormatter(); - Validator validator = newValidator(); + final Field field = new NoOpField() + { - train_invokeIfBlank(validator, true); - - validator.validate(field, null, formatter, null); - - replay(); - - FieldValidator fv = new FieldValidatorImpl(field, null, formatter, validator); + @Override + public String getLabel() + { + return "foo"; + } + + }; + final Min min = new Min(10); + final Max max = new Max(12); + FieldValidatorMessages messages = new FieldValidatorMessages() + { + public MessageFormatter get(Field field2, Validator validator) + { + assertSame(field2, field); + if (validator == min) + { + return null; + } + return validator == max ? new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("%2$s must be at most %1$s", args); + } + + } : null; + } + + }; + FieldValidator<Number> fv = new FieldValidatorImpl<Number>(field, messages, min, max); + fv.validate(10); + fv.validate(11); + fv.validate(12); + try + { + fv.validate(13); + unreachable(); + } + catch (ValidationException ex) + { + assertEquals(ex.getMessage(), "foo must be at most 12"); + } + FieldValidator<Number> fv2 = new FieldValidatorImpl<Number>(field, messages, max, min); + fv2.validate(10); + fv2.validate(11); + fv2.validate(12); + try + { + fv2.validate(13); + unreachable(); + } + catch (ValidationException ex) + { + assertEquals(ex.getMessage(), "foo must be at most 12"); + } + } - fv.validate(null); + @Test + public void null_validators() throws Exception + { + final Field field = new NoOpField() + { - verify(); + @Override + public String getLabel() + { + return "foo"; + } + + }; + FieldValidatorMessages messages = new FieldValidatorMessages() + { + public MessageFormatter get(Field field2, Validator validator) + { + return null; + } + + }; + FieldValidator<Number> fv = new FieldValidatorImpl<Number>(field, messages, + (Validator<? super Number>[]) null); + fv.validate(10); + fv.validate(11); } + }
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxLengthTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxLengthTest.java?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxLengthTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxLengthTest.java Sun Feb 4 06:08:34 2007 @@ -16,6 +16,7 @@ import org.apache.tapestry.Field; import org.apache.tapestry.ValidationException; +import org.apache.tapestry.internal.services.NoOpField; import org.apache.tapestry.internal.test.InternalBaseTestCase; import org.apache.tapestry.ioc.MessageFormatter; import org.testng.annotations.Test; @@ -31,9 +32,9 @@ replay(); - MaxLength validator = new MaxLength(); + MaxLength validator = new MaxLength(value.length()); - validator.validate(field, value.length(), formatter, value); + validator.validate(field, formatter, value); verify(); } @@ -41,29 +42,35 @@ @Test public void long_value() throws Exception { - String label = "My Field"; - Field field = newFieldWithLabel(label); - MessageFormatter formatter = newMessageFormatter(); - String value = "Now the student has become the master."; - String message = "{message}"; - Integer constraint = value.length() - 1; - - train_format(formatter, message, constraint, label); - - replay(); - - MaxLength validator = new MaxLength(); + Field field = new NoOpField() + { + + @Override + public String getLabel() + { + return "foo"; + } + + }; + MessageFormatter formatter = new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("aaa %1$s %2$s bbb", args); + } + + }; + MaxLength validator = new MaxLength(5); try { - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, "abcdef"); unreachable(); } catch (ValidationException ex) { - assertEquals(ex.getMessage(), message); + assertEquals(ex.getMessage(), "aaa 5 foo bbb"); } - - verify(); } } Copied: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxTest.java (from r503165, tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/validator/MaxTest.java) URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxTest.java?view=diff&rev=503410&p1=tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/validator/MaxTest.java&r1=503165&p2=tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxTest.java&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/validator/MaxTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MaxTest.java Sun Feb 4 06:08:34 2007 @@ -16,6 +16,7 @@ import org.apache.tapestry.Field; import org.apache.tapestry.ValidationException; +import org.apache.tapestry.internal.services.NoOpField; import org.apache.tapestry.internal.test.InternalBaseTestCase; import org.apache.tapestry.ioc.MessageFormatter; import org.testng.annotations.Test; @@ -27,14 +28,13 @@ { Field field = newField(); MessageFormatter formatter = newMessageFormatter(); - Long constraint = 50l; replay(); - Max validator = new Max(); + Max validator = new Max(501L); for (int value = 48; value <= 50; value++) - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, value); verify(); } @@ -42,29 +42,35 @@ @Test public void value_too_large() throws Exception { - String label = "My Field"; - Field field = newFieldWithLabel(label); - MessageFormatter formatter = newMessageFormatter(); - String message = "{message}"; - Long constraint = 100l; - Number value = 101; - - train_format(formatter, message, constraint, label); - - replay(); - - Max validator = new Max(); + Field field = new NoOpField() + { + + @Override + public String getLabel() + { + return "foo"; + } + + }; + MessageFormatter formatter = new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("aaa %1$s %2$s bbb", args); + } + + }; + Max validator = new Max(100L); try { - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, 101); unreachable(); } catch (ValidationException ex) { - assertEquals(ex.getMessage(), message); + assertEquals(ex.getMessage(), "aaa 100 foo bbb"); } - - verify(); } } Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinLengthTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinLengthTest.java?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinLengthTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinLengthTest.java Sun Feb 4 06:08:34 2007 @@ -16,6 +16,7 @@ import org.apache.tapestry.Field; import org.apache.tapestry.ValidationException; +import org.apache.tapestry.internal.services.NoOpField; import org.apache.tapestry.internal.test.InternalBaseTestCase; import org.apache.tapestry.ioc.MessageFormatter; import org.testng.annotations.Test; @@ -32,9 +33,9 @@ replay(); - MinLength validator = new MinLength(); + MinLength validator = new MinLength(value.length()); - validator.validate(field, value.length(), formatter, value); + validator.validate(field, formatter, value); verify(); } @@ -42,29 +43,35 @@ @Test public void short_value() throws Exception { - String label = "My Field"; - Field field = newFieldWithLabel(label); - MessageFormatter formatter = newMessageFormatter(); - String value = "Now the student has become the master."; - String message = "{message}"; - Integer constraint = value.length() + 1; - - train_format(formatter, message, constraint, label); - - replay(); - - MinLength validator = new MinLength(); + Field field = new NoOpField() + { + + @Override + public String getLabel() + { + return "foo"; + } + + }; + MessageFormatter formatter = new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("aaa %1$s %2$s bbb", args); + } + + }; + MinLength validator = new MinLength(5); try { - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, "abcd"); unreachable(); } catch (ValidationException ex) { - assertEquals(ex.getMessage(), message); + assertEquals(ex.getMessage(), "aaa 5 foo bbb"); } - - verify(); } } Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinTest.java?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/MinTest.java Sun Feb 4 06:08:34 2007 @@ -16,6 +16,7 @@ import org.apache.tapestry.Field; import org.apache.tapestry.ValidationException; +import org.apache.tapestry.internal.services.NoOpField; import org.apache.tapestry.internal.test.InternalBaseTestCase; import org.apache.tapestry.ioc.MessageFormatter; import org.testng.annotations.Test; @@ -27,14 +28,13 @@ { Field field = newField(); MessageFormatter formatter = newMessageFormatter(); - Long constraint = 50l; replay(); - Min validator = new Min(); + Min validator = new Min(50l); for (int value = 50; value < 52; value++) - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, value); verify(); } @@ -42,29 +42,35 @@ @Test public void value_too_small() throws Exception { - String label = "My Field"; - Field field = newFieldWithLabel(label); - MessageFormatter formatter = newMessageFormatter(); - String message = "{message}"; - Long constraint = 100l; - Number value = 99; - - train_format(formatter, message, constraint, label); - - replay(); - - Min validator = new Min(); + Field field = new NoOpField() + { + + @Override + public String getLabel() + { + return "foo"; + } + + }; + MessageFormatter formatter = new MessageFormatter() + { + + public String format(Object... args) + { + return String.format("aaa %1$s %2$s bbb", args); + } + + }; + Min validator = new Min(100L); try { - validator.validate(field, constraint, formatter, value); + validator.validate(field, formatter, 99); unreachable(); } catch (ValidationException ex) { - assertEquals(ex.getMessage(), message); + assertEquals(ex.getMessage(), "aaa 100 foo bbb"); } - - verify(); } } Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/RequiredTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/RequiredTest.java?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/RequiredTest.java (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/java/org/apache/tapestry/validator/RequiredTest.java Sun Feb 4 06:08:34 2007 @@ -34,7 +34,7 @@ try { - new Required().validate(field, null, formatter, null); + new Required().validate(field, formatter, null); unreachable(); } catch (ValidationException ex) @@ -57,7 +57,7 @@ try { - new Required().validate(field, null, formatter, ""); + new Required().validate(field, formatter, ""); unreachable(); } catch (ValidationException ex) @@ -76,7 +76,7 @@ replay(); - new Required().validate(field, null, formatter, "not null"); + new Required().validate(field, formatter, "not null"); verify(); } Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.html URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.html?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.html (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.html Sun Feb 4 06:08:34 2007 @@ -8,17 +8,17 @@ <t:comp type="Errors"/> <label t:type="Label" for="email">This isn't used</label>: <input - t:type="TextField" t:id="email" value="incident.email" size="50" t:validate="required"/> + t:id="email" size="50"/> <br/> - <label t:type="Label" for="message"/>: <textarea t:type="TextArea" t:id="message" t:label="Incident Message" - value="incident.message" cols="50" rows="10"> You can put text here, but it isn't used. </textarea> + <label t:type="Label" for="message"/>: <textarea t:id="message" + cols="50" rows="10"> You can put text here, but it isn't used. </textarea> <br/> - <input t:type="Checkbox" t:id="urgent" value="incident.urgent"/> + <input t:id="urgent" /> <label t:type="Label" for="urgent"/> <br/> <label t:type="Label" for="hours"/>: - <input t:type="TextField" t:id="hours" value="incident.hours" size="10" t:validate="required"/> + <input t:id="hours" size="10"/> <br/> Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.html URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.html?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.html (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.html Sun Feb 4 06:08:34 2007 @@ -1,6 +1,6 @@ <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <p><t:comp id="form1" type="Form"> - <t:comp type="TextField" id="t1" value="value" size="50"/> + <t:comp id="t1" size="50"/> </t:comp></p> <p> You entered: ${value}. Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.html URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.html?view=diff&rev=503410&r1=503165&r2=503410 ============================================================================== --- tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.html (original) +++ tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.html Sun Feb 4 06:08:34 2007 @@ -1,12 +1,12 @@ <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <p> <form t:id="form1"> - <t:comp id="t1" type="TextField"/> + <t:comp id="t1"/> <t:comp id="capitalize1"/> </form> <form t:id="form2"> <t:comp id="capitalize2"/> - <t:comp id="t2" type="TextField"/> + <t:comp id="t2"/> </form></p> <input type="submit" id="orphanedSubmit"/> <p>
