You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by fr...@apache.org on 2007/02/04 15:08:37 UTC
svn commit: r503410 [3/3] - in
/tapestry/tapestry5/tapestry-core/branches/kt-20070204-IDE-support/tapestry-core:
./ src/main/java/org/apache/tapestry/
src/main/java/org/apache/tapestry/corelib/base/
src/main/java/org/apache/tapestry/corelib/components/...
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>