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

📄 visitorfieldvalidatortest.java

📁 在Struts2中的jar包xwork的源代码.版本为2.0.7
💻 JAVA
字号:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2.validator;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ObjectFactory;import com.opensymphony.xwork2.TestBean;import com.opensymphony.xwork2.util.ValueStack;import com.opensymphony.xwork2.util.ValueStackFactory;import junit.framework.TestCase;import java.util.*;/** * VisitorFieldValidatorTest * * @author Jason Carreira *         Created Aug 4, 2003 1:26:01 AM */public class VisitorFieldValidatorTest extends TestCase {    protected VisitorValidatorTestAction action;    private Locale origLocale;    public void setUp() {        origLocale = Locale.getDefault();        Locale.setDefault(Locale.US);        action = new VisitorValidatorTestAction();        TestBean bean = action.getBean();        Calendar cal = new GregorianCalendar(1900, 01, 01);        bean.setBirth(cal.getTime());        bean.setCount(-1);        ValueStack stack = ValueStackFactory.getFactory().createValueStack();        ActionContext.setContext(new ActionContext(stack.getContext()));        ObjectFactory.setObjectFactory(new ObjectFactory());    }    public void testArrayValidation() throws Exception {        TestBean[] beanArray = action.getTestBeanArray();        TestBean testBean = beanArray[0];        testBean.setName("foo");        validate("validateArray");        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        //4 errors for the array, one for context        assertEquals(5, fieldErrors.size());        assertTrue(fieldErrors.containsKey("testBeanArray[1].name"));        //the error from the action should be there too        assertTrue(fieldErrors.containsKey("context"));        List errors = (List) fieldErrors.get("testBeanArray[1].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanArray[2].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanArray[3].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanArray[4].name");        assertEquals(1, errors.size());    }    public void testBeanMessagesUseBeanResourceBundle() throws Exception {        validate("beanMessageBundle");        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        assertTrue(fieldErrors.containsKey("bean.count"));        List beanCountMessages = (List) fieldErrors.get("bean.count");        assertEquals(1, beanCountMessages.size());        String beanCountMessage = (String) beanCountMessages.get(0);        assertEquals("bean: Count must be between 1 and 100, current value is -1.", beanCountMessage);    }    public void testCollectionValidation() throws Exception {        List testBeanList = action.getTestBeanList();        TestBean testBean = (TestBean) testBeanList.get(0);        testBean.setName("foo");        validate("validateList");        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        //4 for the list, 1 for context        assertEquals(5, fieldErrors.size());        assertTrue(fieldErrors.containsKey("testBeanList[1].name"));        //the error from the action should be there too        assertTrue(fieldErrors.containsKey("context"));        List errors = (List) fieldErrors.get("testBeanList[1].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanList[2].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanList[3].name");        assertEquals(1, errors.size());        errors = (List) fieldErrors.get("testBeanList[4].name");        assertEquals(1, errors.size());    }    public void testContextIsOverriddenByContextParamInValidationXML() throws Exception {        validate("visitorValidationAlias");        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        assertEquals(3, fieldErrors.size());        assertTrue(fieldErrors.containsKey("bean.count"));        assertTrue(fieldErrors.containsKey("bean.name"));        assertTrue(!fieldErrors.containsKey("bean.birth"));        //the error from the action should be there too        assertTrue(fieldErrors.containsKey("context"));    }    public void testContextIsPropagated() throws Exception {        validate("visitorValidation");        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        assertEquals(3, fieldErrors.size());        assertTrue(!fieldErrors.containsKey("bean.count"));        assertTrue(fieldErrors.containsKey("bean.name"));        assertTrue(fieldErrors.containsKey("bean.birth"));        //the error from the action should be there too        assertTrue(fieldErrors.containsKey("context"));    }    protected void tearDown() throws Exception {        super.tearDown();        ActionContext.setContext(null);        Locale.setDefault(origLocale);    }    private void validate(String context) throws ValidationException {        ActionContext actionContext = ActionContext.getContext();        actionContext.setName(context);        ActionValidatorManagerFactory.getInstance().validate(action, context);    }}

⌨️ 快捷键说明

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