visitorfieldvalidatormodeltest.java

来自「在Struts2中的jar包xwork的源代码.版本为2.0.7」· Java 代码 · 共 107 行

JAVA
107
字号
/* * 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.test.TestBean2;import com.opensymphony.xwork2.util.ValueStack;import com.opensymphony.xwork2.util.ValueStackFactory;import junit.framework.TestCase;import java.util.*;/** * VisitorFieldValidatorModelTest * * @author Jason Carreira *         Date: Mar 18, 2004 2:51:42 PM */public class VisitorFieldValidatorModelTest extends TestCase {    protected VisitorValidatorModelAction action;    private Locale origLocale;    public void setUp() {        ObjectFactory.setObjectFactory(new ObjectFactory());        origLocale = Locale.getDefault();        Locale.setDefault(Locale.US);        action = new VisitorValidatorModelAction();        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()));    }    public void testModelFieldErrorsAddedWithoutFieldPrefix() throws Exception {        ActionValidatorManagerFactory.getInstance().validate(action, null);        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        // the required string validation inherited from the VisitorValidatorTestAction        assertTrue(fieldErrors.containsKey("context"));        // the bean validation which is now at the top level because we set the appendPrefix to false        assertTrue(fieldErrors.containsKey("name"));        List nameMessages = (List) fieldErrors.get("name");        assertEquals(1, nameMessages.size());        String nameMessage = (String) nameMessages.get(0);        assertEquals("You must enter a name.", nameMessage);    }    public void testModelFieldErrorsAddedWithoutFieldPrefixForInterface() throws Exception {        TestBean origBean = action.getBean();        TestBean2 bean = new TestBean2();        bean.setBirth(origBean.getBirth());        bean.setCount(origBean.getCount());        action.setBean(bean);        assertTrue(action.getBean() instanceof TestBean2);        ActionValidatorManagerFactory.getInstance().validate(action, null);        assertTrue(action.hasFieldErrors());        Map fieldErrors = action.getFieldErrors();        // the required string validation inherited from the VisitorValidatorTestAction        assertTrue(fieldErrors.containsKey("context"));        // the bean validation which is now at the top level because we set the appendPrefix to false        assertTrue(fieldErrors.containsKey("name"));        List nameMessages = (List) fieldErrors.get("name");        assertEquals(1, nameMessages.size());        String nameMessage = (String) nameMessages.get(0);        assertEquals("You must enter a name.", nameMessage);        // should also have picked up validation check for DataAware interface        assertTrue(fieldErrors.containsKey("data"));        List dataMessages = (List) fieldErrors.get("data");        assertEquals(1, dataMessages.size());        String dataMessage = (String) dataMessages.get(0);        assertEquals("You must enter a value for data.", dataMessage);    }    protected void tearDown() throws Exception {        super.tearDown();        ActionContext.setContext(null);        Locale.setDefault(origLocale);    }}

⌨️ 快捷键说明

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