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

📄 regexfieldvalidatortest.java

📁 在Struts2中的jar包xwork的源代码.版本为2.0.7
💻 JAVA
字号:
/* * Copyright (c) 2002-2006 by OpenSymphony * All rights reserved.*/package com.opensymphony.xwork2.validator;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.util.ValueStack;import com.opensymphony.xwork2.util.ValueStackFactory;import com.opensymphony.xwork2.validator.validators.RegexFieldValidator;import junit.framework.TestCase;import java.util.List;/** * Unit test for RegexFieldValidator. * <p/> * This unit test is only to test that the regex field validator works, not to * unit test the build in reg.exp from JDK. That is why the expressions are so simple. * * @author Claus Ibsen */public class RegexFieldValidatorTest extends TestCase {    public void testMatch() throws Exception {        MyTestPerson testPerson = new MyTestPerson();        testPerson.setUsername("Secret");        ValueStack stack = ValueStackFactory.getFactory().createValueStack();        ActionContext.getContext().setValueStack(stack);        RegexFieldValidator validator = new RegexFieldValidator();        validator.setExpression("^Sec.*");        validator.setValidatorContext(new GenericValidatorContext(new Object()));        validator.setFieldName("username");        validator.validate(testPerson);        assertFalse(validator.getValidatorContext().hasErrors());        assertFalse(validator.getValidatorContext().hasActionErrors());        assertFalse(validator.getValidatorContext().hasActionMessages());        assertFalse(validator.getValidatorContext().hasFieldErrors());    }    public void testFail() throws Exception {        MyTestPerson testPerson = new MyTestPerson();        testPerson.setUsername("Superman");        ValueStack stack = ValueStackFactory.getFactory().createValueStack();        ActionContext.getContext().setValueStack(stack);        RegexFieldValidator validator = new RegexFieldValidator();        validator.setExpression("^Sec.*");        validator.setValidatorContext(new GenericValidatorContext(new Object()));        validator.setFieldName("username");        validator.validate(testPerson);        assertTrue(validator.getValidatorContext().hasErrors());        assertTrue(validator.getValidatorContext().hasFieldErrors());        List msgs = (List) validator.getValidatorContext().getFieldErrors().get("username");        assertNotNull(msgs);        assertTrue(msgs.size() == 1); // should contain 1 error message        // when failing the validator will not add action errors/msg        assertFalse(validator.getValidatorContext().hasActionErrors());        assertFalse(validator.getValidatorContext().hasActionMessages());    }    public void testNoFieldName() throws Exception {        MyTestPerson testPerson = new MyTestPerson();        testPerson.setUsername("NoExpression");        ValueStack stack = ValueStackFactory.getFactory().createValueStack();        ActionContext.getContext().setValueStack(stack);        RegexFieldValidator validator = new RegexFieldValidator();        validator.setExpression("^Sec.*");        validator.setValidatorContext(new GenericValidatorContext(new Object()));        validator.setFieldName(null);        validator.validate(testPerson);        assertFalse(validator.getValidatorContext().hasErrors());        assertFalse(validator.getValidatorContext().hasActionErrors());        assertFalse(validator.getValidatorContext().hasActionMessages());        assertFalse(validator.getValidatorContext().hasFieldErrors());    }    public void testGetExpression() throws Exception {        RegexFieldValidator validator = new RegexFieldValidator();        validator.setExpression("^Hello.*");        assertEquals("^Hello.*", validator.getExpression());    }    private class MyTestPerson {        private String username;        public String getUsername() {            return username;        }        public void setUsername(String username) {            this.username = username;        }    }}

⌨️ 快捷键说明

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