KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > validation > ValidationUtilsTests


1 /*
2  * Copyright 2002-2005 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.springframework.validation;
18
19 import junit.framework.TestCase;
20
21 import org.springframework.beans.TestBean;
22
23 /**
24  * @author Juergen Hoeller
25  * @since 08.10.2004
26  */

27 public class ValidationUtilsTests extends TestCase {
28
29     public void testValidationUtilsEmpty() throws Exception JavaDoc {
30         //Test null
31
TestBean tb = new TestBean();
32         Errors errors = new BindException(tb, "tb");
33         Validator testValidator = new EmptyValidator();
34         testValidator.validate(tb, errors);
35         assertTrue(errors.hasFieldErrors("name"));
36         assertEquals("EMPTY", errors.getFieldError("name").getCode());
37
38         //Test empty String
39
tb.setName("");
40         errors = new BindException(tb, "tb");
41         testValidator.validate(tb, errors);
42         assertTrue(errors.hasFieldErrors("name"));
43         assertEquals("EMPTY", errors.getFieldError("name").getCode());
44
45         //Test OK1
46
tb.setName(" ");
47         errors = new BindException(tb, "tb");
48         testValidator.validate(tb, errors);
49         assertFalse(errors.hasFieldErrors("name"));
50
51         //Test OK2
52
tb.setName("Roddy");
53         errors = new BindException(tb, "tb");
54         testValidator.validate(tb, errors);
55         assertFalse(errors.hasFieldErrors("name"));
56     }
57
58     public void testValidationUtilsEmptyOrWhitespace() throws Exception JavaDoc {
59         //Test null
60
TestBean tb = new TestBean();
61         Errors errors = new BindException(tb, "tb");
62         Validator testValidator = new ValidationUtilsEmptyOrWhitespaceValidator();
63         testValidator.validate(tb, errors);
64         assertTrue(errors.hasFieldErrors("name"));
65         assertEquals("EMPTY_OR_WHITESPACE", errors.getFieldError("name").getCode());
66
67         //Test empty String
68
tb.setName("");
69         errors = new BindException(tb, "tb");
70         testValidator.validate(tb, errors);
71         assertTrue(errors.hasFieldErrors("name"));
72         assertEquals("EMPTY_OR_WHITESPACE", errors.getFieldError("name").getCode());
73
74         //Test empty String
75
tb.setName(" ");
76         errors = new BindException(tb, "tb");
77         testValidator.validate(tb, errors);
78         assertTrue(errors.hasFieldErrors("name"));
79         assertEquals("EMPTY_OR_WHITESPACE", errors.getFieldError("name").getCode());
80
81         //Test OK
82
tb.setName("Roddy");
83         errors = new BindException(tb, "tb");
84         testValidator.validate(tb, errors);
85         assertFalse(errors.hasFieldErrors("name"));
86     }
87
88
89     private static class EmptyValidator implements Validator {
90
91         public boolean supports(Class JavaDoc clazz) {
92             return TestBean.class.isAssignableFrom(clazz);
93         }
94
95         public void validate(Object JavaDoc obj, Errors errors) {
96             //TestBean tb = (TestBean) obj;
97
ValidationUtils.rejectIfEmpty(errors, "name", "EMPTY", "You must enter a name!");
98         }
99     }
100
101     private static class ValidationUtilsEmptyOrWhitespaceValidator implements Validator {
102
103         public boolean supports(Class JavaDoc clazz) {
104             return TestBean.class.isAssignableFrom(clazz);
105         }
106
107         public void validate(Object JavaDoc obj, Errors errors) {
108             //TestBean tb = (TestBean) obj;
109
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "EMPTY_OR_WHITESPACE", "You must enter a name!");
110         }
111     }
112
113 }
114
Popular Tags