⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultactionvalidatormanagertest.java

📁 在Struts2中的jar包xwork的源代码.版本为2.0.7
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2.validator;import com.opensymphony.xwork2.SimpleAction;import com.opensymphony.xwork2.TestBean;import com.opensymphony.xwork2.ValidationOrderAction;import com.opensymphony.xwork2.XWorkTestCase;import com.opensymphony.xwork2.XWorkException;import com.opensymphony.xwork2.test.DataAware2;import com.opensymphony.xwork2.test.SimpleAction2;import com.opensymphony.xwork2.test.SimpleAction3;import com.opensymphony.xwork2.test.User;import com.opensymphony.xwork2.validator.validators.*;import java.util.Iterator;import java.util.List;import java.util.Map;/** * DefaultActionValidatorManagerTest * * @author Jason Carreira * @author tm_jee  * @version $Date: 2006-07-10 02:30:29 +0200 (Mo, 10 Jul 2006) $ $Id: DefaultActionValidatorManagerTest.java 1063 2006-07-10 00:30:29Z mrdon $ */public class DefaultActionValidatorManagerTest extends XWorkTestCase {    protected final String alias = "validationAlias";    ActionValidatorManager actionValidatorManager;    protected void setUp() throws Exception {        actionValidatorManager = new DefaultActionValidatorManager();        super.setUp();    }    protected void tearDown() throws Exception {        actionValidatorManager = null;        super.tearDown();    }    public void testBuildValidatorKey() {        String validatorKey = DefaultActionValidatorManager.buildValidatorKey(SimpleAction.class, alias);        assertEquals(SimpleAction.class.getName() + "/" + alias, validatorKey);    }    public void testBuildsValidatorsForAlias() {        List validatorList = actionValidatorManager.getValidators(SimpleAction.class, alias);        // 6 in the class level + 2 in the alias        assertEquals(9, validatorList.size());    }    public void testBuildsValidatorsForAliasError() {        boolean pass = false;        try {            List validatorList = actionValidatorManager.getValidators(TestBean.class, "badtest");        } catch (XWorkException ex) {            pass = true;        }        assertTrue("Didn't throw exception on load failure", pass);    }    public void testDefaultMessageInterpolation() {        // get validators        List validatorList = actionValidatorManager.getValidators(TestBean.class, "beanMessageBundle");        assertEquals(3, validatorList.size());        try {            TestBean bean = new TestBean();            bean.setName("foo");            bean.setCount(99);            ValidatorContext context = new GenericValidatorContext(bean);            actionValidatorManager.validate(bean, "beanMessageBundle", context);            assertTrue(context.hasErrors());            assertTrue(context.hasFieldErrors());            List l = (List) context.getFieldErrors().get("count");            assertNotNull(l);            assertEquals(1, l.size());            assertEquals("Smaller Invalid Count: 99", l.get(0));        } catch (ValidationException ex) {            ex.printStackTrace();            fail("Validation error: " + ex.getMessage());        }    }    public void testGetValidatorsForInterface() {        List validatorList = actionValidatorManager.getValidators(DataAware2.class, alias);        // 3 in interface hierarchy, 2 from parent interface (1 default + 1 context)        assertEquals(3, validatorList.size());        final FieldValidator dataValidator1 = (FieldValidator) validatorList.get(0);        assertEquals("data", dataValidator1.getFieldName());        assertTrue(dataValidator1 instanceof RequiredFieldValidator);        final FieldValidator dataValidator2 = (FieldValidator) validatorList.get(1);        assertEquals("data", dataValidator2.getFieldName());        assertTrue(dataValidator2 instanceof RequiredStringValidator);        final FieldValidator blingValidator = (FieldValidator) validatorList.get(2);        assertEquals("bling", blingValidator.getFieldName());        assertTrue(blingValidator instanceof RequiredStringValidator);    }    public void testGetValidatorsFromInterface() {        List validatorList = actionValidatorManager.getValidators(SimpleAction3.class, alias);                               // 9 in the class hierarchy + 1 in the interface + 1 in interface alias        assertEquals(11, validatorList.size());        // action-level validator comes first        final Validator expressionValidator = (Validator) validatorList.get(0);        assertTrue(expressionValidator instanceof ExpressionValidator);                final FieldValidator barValidator1 = (FieldValidator) validatorList.get(1);        assertEquals("bar", barValidator1.getFieldName());        assertTrue(barValidator1 instanceof RequiredFieldValidator);        final FieldValidator barValidator2 = (FieldValidator) validatorList.get(2);        assertEquals("bar", barValidator2.getFieldName());        assertTrue(barValidator2 instanceof IntRangeFieldValidator);        final FieldValidator doubleValidator = (FieldValidator) validatorList.get(3);        assertEquals("percentage", doubleValidator.getFieldName());        assertTrue(doubleValidator instanceof DoubleRangeFieldValidator);        final FieldValidator dateValidator = (FieldValidator) validatorList.get(4);        assertEquals("date", dateValidator.getFieldName());        assertTrue(dateValidator instanceof DateRangeFieldValidator);        final FieldValidator fooValidator = (FieldValidator) validatorList.get(5);        assertEquals("foo", fooValidator.getFieldName());        assertTrue(fooValidator instanceof IntRangeFieldValidator);        final FieldValidator bazValidator = (FieldValidator) validatorList.get(6);        assertEquals("baz", bazValidator.getFieldName());        assertTrue(bazValidator instanceof IntRangeFieldValidator);        final FieldValidator bazValidator1 = (FieldValidator) validatorList.get(7);        assertEquals("baz", bazValidator1.getFieldName());        assertTrue(bazValidator1 instanceof RequiredFieldValidator);        final FieldValidator bazValidator2 = (FieldValidator) validatorList.get(8);        assertEquals("baz", bazValidator2.getFieldName());        assertTrue(bazValidator2 instanceof IntRangeFieldValidator);        final FieldValidator dataValidator1 = (FieldValidator) validatorList.get(9);        assertEquals("data", dataValidator1.getFieldName());        assertTrue(dataValidator1 instanceof RequiredFieldValidator);        final FieldValidator dataValidator2 = (FieldValidator) validatorList.get(10);        assertEquals("data", dataValidator2.getFieldName());        assertTrue(dataValidator2 instanceof RequiredStringValidator);    }    public void testMessageInterpolation() {        // get validators        List validatorList = actionValidatorManager.getValidators(TestBean.class, "beanMessageBundle");        assertEquals(3, validatorList.size());        try {            TestBean bean = new TestBean();            bean.setName("foo");            bean.setCount(150);            ValidatorContext context = new GenericValidatorContext(bean);            actionValidatorManager.validate(bean, "beanMessageBundle", context);            assertTrue(context.hasErrors());            assertTrue(context.hasFieldErrors());            List l = (List) context.getFieldErrors().get("count");            assertNotNull(l);            assertEquals(1, l.size());            assertEquals("Count must be between 1 and 100, current value is 150.", l.get(0));        } catch (ValidationException ex) {            ex.printStackTrace();            fail("Validation error: " + ex.getMessage());        }    }    public void testSameAliasWithDifferentClass() {        List validatorList = actionValidatorManager.getValidators(SimpleAction.class, alias);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -