1 /*
2 * $Header: /home/cvs/jakarta-commons/validator/src/test/org/apache/commons/validator/LocaleTest.java,v 1.13 2004/02/21 17:10:30 rleland Exp $
3 * $Revision: 1.13 $
4 * $Date: 2004/02/21 17:10:30 $
5 *
6 * ====================================================================
7 * Copyright 2001-2004 The Apache Software Foundation
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 */
21
22
23 package org.apache.commons.validator;
24
25 import java.io.IOException;
26 import java.util.Locale;
27
28 import junit.framework.Test;
29 import junit.framework.TestSuite;
30
31 import org.xml.sax.SAXException;
32
33 /***
34 * Performs Validation Test for <code>long</code> validations.
35 */
36 public class LocaleTest extends TestCommon {
37
38 /***
39 * The key used to retrieve the set of validation
40 * rules from the xml file.
41 */
42 protected static String FORM_KEY = "nameForm";
43
44 /***
45 * The key used to retrieve the validator action.
46 */
47 protected static String ACTION = "required";
48
49
50 public LocaleTest(String name) {
51 super(name);
52 }
53
54 /***
55 * Start the tests.
56 *
57 * @param theArgs the arguments. Not used
58 */
59 public static void main(String[] theArgs) {
60 junit.awtui.TestRunner.main(new String[] {LocaleTest.class.getName()});
61 }
62
63 /***
64 * @return a test suite (<code>TestSuite</code>) that includes all methods
65 * starting with "test"
66 */
67 public static Test suite() {
68 // All methods starting with "test" will be executed in the test suite.
69 return new TestSuite(LocaleTest.class);
70 }
71
72 /***
73 * Load <code>ValidatorResources</code> from
74 * validator-locale.xml.
75 */
76 protected void setUp() throws IOException, SAXException {
77 // Load resources
78 loadResources("validator-locale.xml");
79 }
80
81 protected void tearDown() {
82 }
83
84 /***
85 * See what happens when we try to validate with a Locale, Country and variant
86 */
87 public void testLocale1() throws ValidatorException {
88 // Create bean to run test on.
89 NameBean name = new NameBean();
90 name.setFirstName("");
91 name.setLastName("");
92
93 valueTest(name, new Locale("en", "US", "TEST1"), false, false);
94 }
95
96 /***
97 * See what happens when we try to validate with a Locale, Country and variant
98 */
99 public void testLocale2() throws ValidatorException {
100 // Create bean to run test on.
101 NameBean name = new NameBean();
102 name.setFirstName("");
103 name.setLastName("");
104
105 valueTest(name, new Locale("en", "US", "TEST2"), true, false);
106 }
107
108 /***
109 * See what happens when we try to validate with a Locale, Country and variant
110 */
111 public void testLocale3() throws ValidatorException {
112 // Create bean to run test on.
113 NameBean name = new NameBean();
114 name.setFirstName("");
115 name.setLastName("");
116
117 valueTest(name, new Locale("en", "UK"), false, true);
118 }
119
120 /***
121 * Utlity class to run a test on a value.
122 *
123 * @param info Value to run test on.
124 * @param passed Whether or not the test is expected to pass.
125 */
126 private void valueTest(Object name, Locale loc, boolean firstGood, boolean lastGood)
127 throws ValidatorException {
128
129 // Construct validator based on the loaded resources
130 // and the form key
131 Validator validator = new Validator(resources, FORM_KEY);
132 // add the name bean to the validator as a resource
133 // for the validations to be performed on.
134 validator.setParameter(Validator.BEAN_PARAM, name);
135 validator.setParameter(Validator.LOCALE_PARAM, loc);
136 // Get results of the validation.
137 ValidatorResults results = null;
138
139 // throws ValidatorException,
140 // but we aren't catching for testing
141 // since no validation methods we use
142 // throw this
143 results = validator.validate();
144
145 assertNotNull("Results are null.", results);
146
147 ValidatorResult resultlast = results.getValidatorResult("lastName");
148 ValidatorResult resultfirst = results.getValidatorResult("firstName");
149
150 if (firstGood) {
151 assertNull(resultfirst);
152 } else {
153 assertNotNull(resultfirst);
154 }
155
156 if (lastGood) {
157 assertNull(resultlast);
158 } else {
159 assertNotNull(resultlast);
160 }
161 }
162 }
This page was automatically generated by Maven