001 /* 002 * Copyright 2006-2012 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017 package edu.samplu.krad.compview; 018 019 import com.thoughtworks.selenium.Selenium; 020 import com.thoughtworks.selenium.SeleneseTestCase; 021 import junit.framework.Assert; 022 import org.openqa.selenium.firefox.FirefoxDriver; 023 import org.openqa.selenium.WebDriver; 024 import org.openqa.selenium.WebDriverBackedSelenium; 025 import org.junit.After; 026 import org.junit.Before; 027 import org.junit.Test; 028 import java.util.regex.Pattern; 029 030 public class ValidCharsConstraintIT{ 031 private Selenium selenium; 032 @Before 033 public void setUp() throws Exception { 034 WebDriver driver = new FirefoxDriver(); 035 selenium = new WebDriverBackedSelenium(driver, 036 "http://localhost:8080/kr-dev/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&pageId=UifCompView-Page4"); 037 038 // Login 039 selenium.open("http://localhost:8080/kr-dev/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&pageId=UifCompView-Page4"); 040 Assert.assertEquals("Login", selenium.getTitle()); 041 selenium.type("__login_user", "admin"); 042 selenium.click("//input[@value='Login']"); 043 selenium.waitForPageToLoad("30000"); 044 } 045 046 @Test 047 public void testValidCharsConstraintIT() throws Exception { 048 selenium.focus("name=field50"); 049 selenium.type("name=field50", "12.333"); 050 selenium.fireEvent("name=field50", "blur"); 051 Assert.assertTrue(selenium.getAttribute("name=field50@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 052 selenium.focus("name=field50"); 053 selenium.type("name=field50", "123.33"); 054 selenium.fireEvent("name=field50", "blur"); 055 Assert.assertTrue(selenium.getAttribute("name=field50@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 056 selenium.focus("name=field51"); 057 selenium.type("name=field51", "A"); 058 selenium.fireEvent("name=field51", "blur"); 059 Assert.assertTrue(selenium.getAttribute("name=field51@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 060 selenium.focus("name=field51"); 061 selenium.type("name=field51", "-123.33"); 062 selenium.fireEvent("name=field51", "blur"); 063 Assert.assertTrue(selenium.getAttribute("name=field51@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 064 selenium.focus("name=field77"); 065 selenium.type("name=field77", "1.1"); 066 selenium.fireEvent("name=field77", "blur"); 067 Assert.assertTrue(selenium.getAttribute("name=field77@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 068 selenium.focus("name=field77"); 069 selenium.type("name=field77", "12"); 070 selenium.fireEvent("name=field77", "blur"); 071 Assert.assertTrue(selenium.getAttribute("name=field77@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 072 selenium.focus("name=field52"); 073 selenium.type("name=field52", "5551112222"); 074 selenium.fireEvent("name=field52", "blur"); 075 Assert.assertTrue(selenium.getAttribute("name=field52@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 076 selenium.focus("name=field52"); 077 selenium.type("name=field52", "555-111-1111"); 078 selenium.fireEvent("name=field52", "blur"); 079 Assert.assertTrue(selenium.getAttribute("name=field52@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 080 selenium.focus("name=field53"); 081 selenium.type("name=field53", "1ClassName.java"); 082 selenium.fireEvent("name=field53", "blur"); 083 Assert.assertTrue(selenium.getAttribute("name=field53@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 084 selenium.focus("name=field53"); 085 selenium.type("name=field53", "ClassName.java"); 086 selenium.fireEvent("name=field53", "blur"); 087 Assert.assertTrue(selenium.getAttribute("name=field53@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 088 selenium.focus("name=field54"); 089 selenium.type("name=field54", "aaaaa"); 090 selenium.fireEvent("name=field54", "blur"); 091 Assert.assertTrue(selenium.getAttribute("name=field54@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 092 selenium.focus("name=field54"); 093 selenium.type("name=field54", "aaaaa@kuali.org"); 094 selenium.fireEvent("name=field54", "blur"); 095 Assert.assertTrue(selenium.getAttribute("name=field54@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 096 selenium.focus("name=field84"); 097 selenium.type("name=field84", "aaaaa"); 098 selenium.fireEvent("name=field84", "blur"); 099 Assert.assertTrue(selenium.getAttribute("name=field84@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 100 selenium.focus("name=field84"); 101 selenium.type("name=field84", "http://www.kuali.org"); 102 selenium.fireEvent("name=field84", "blur"); 103 Assert.assertTrue(selenium.getAttribute("name=field84@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 104 selenium.focus("name=field55"); 105 selenium.type("name=field55", "023512"); 106 selenium.fireEvent("name=field55", "blur"); 107 Assert.assertTrue(selenium.getAttribute("name=field55@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 108 selenium.focus("name=field55"); 109 selenium.type("name=field55", "022812"); 110 selenium.fireEvent("name=field55", "blur"); 111 Assert.assertTrue(selenium.getAttribute("name=field55@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 112 selenium.focus("name=field75"); 113 selenium.type("name=field75", "02/35/12"); 114 selenium.fireEvent("name=field75", "blur"); 115 Assert.assertTrue(selenium.getAttribute("name=field75@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 116 selenium.focus("name=field75"); 117 selenium.type("name=field75", "02/28/12"); 118 selenium.fireEvent("name=field75", "blur"); 119 Assert.assertTrue(selenium.getAttribute("name=field75@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 120 selenium.focus("name=field82"); 121 selenium.type("name=field82", "13:22"); 122 selenium.fireEvent("name=field82", "blur"); 123 Assert.assertTrue(selenium.getAttribute("name=field82@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 124 selenium.focus("name=field82"); 125 selenium.type("name=field82", "02:33"); 126 selenium.fireEvent("name=field82", "blur"); 127 Assert.assertTrue(selenium.getAttribute("name=field82@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 128 selenium.focus("name=field83"); 129 selenium.type("name=field83", "25:22"); 130 selenium.fireEvent("name=field83", "blur"); 131 Assert.assertTrue(selenium.getAttribute("name=field83@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 132 selenium.focus("name=field83"); 133 selenium.type("name=field83", "14:33"); 134 selenium.fireEvent("name=field83", "blur"); 135 Assert.assertTrue(selenium.getAttribute("name=field83@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 136 selenium.focus("name=field57"); 137 selenium.type("name=field57", "0"); 138 selenium.fireEvent("name=field57", "blur"); 139 Assert.assertTrue(selenium.getAttribute("name=field57@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 140 selenium.focus("name=field57"); 141 selenium.type("name=field57", "2020"); 142 selenium.fireEvent("name=field57", "blur"); 143 Assert.assertTrue(selenium.getAttribute("name=field57@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 144 selenium.focus("name=field58"); 145 selenium.type("name=field58", "13"); 146 selenium.fireEvent("name=field58", "blur"); 147 Assert.assertTrue(selenium.getAttribute("name=field58@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 148 selenium.focus("name=field58"); 149 selenium.type("name=field58", "12"); 150 selenium.fireEvent("name=field58", "blur"); 151 Assert.assertTrue(selenium.getAttribute("name=field58@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 152 selenium.focus("name=field61"); 153 selenium.type("name=field61", "5555-444"); 154 selenium.fireEvent("name=field61", "blur"); 155 Assert.assertTrue(selenium.getAttribute("name=field61@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 156 selenium.focus("name=field61"); 157 selenium.type("name=field61", "55555-4444"); 158 selenium.fireEvent("name=field61", "blur"); 159 Assert.assertTrue(selenium.getAttribute("name=field61@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 160 selenium.focus("name=field62"); 161 selenium.type("name=field62", "aa5bb6_a"); 162 selenium.fireEvent("name=field62", "blur"); 163 Assert.assertTrue(selenium.getAttribute("name=field62@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 164 selenium.focus("name=field62"); 165 selenium.type("name=field62", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"); 166 selenium.fireEvent("name=field62", "blur"); 167 Assert.assertTrue(selenium.getAttribute("name=field62@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 168 selenium.focus("name=field63"); 169 selenium.type("name=field63", "fff555$"); 170 selenium.fireEvent("name=field63", "blur"); 171 Assert.assertTrue(selenium.getAttribute("name=field63@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 172 selenium.focus("name=field63"); 173 selenium.type("name=field63", "aa22 _/"); 174 selenium.fireEvent("name=field63", "blur"); 175 Assert.assertTrue(selenium.getAttribute("name=field63@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 176 selenium.focus("name=field64"); 177 selenium.type("name=field64", "AABB55"); 178 selenium.fireEvent("name=field64", "blur"); 179 Assert.assertTrue(selenium.getAttribute("name=field64@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 180 selenium.focus("name=field64"); 181 selenium.type("name=field64", "ABCDEFGHIJKLMNOPQRSTUVWXY,Z abcdefghijklmnopqrstuvwxy,z"); 182 selenium.fireEvent("name=field64", "blur"); 183 Assert.assertTrue(selenium.getAttribute("name=field64@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 184 selenium.focus("name=field76"); 185 selenium.type("name=field76", "AA~BB%"); 186 selenium.fireEvent("name=field76", "blur"); 187 Assert.assertTrue(selenium.getAttribute("name=field76@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 188 selenium.focus("name=field76"); 189 selenium.type("name=field76", "abcABC %$#@&<>\\{}[]*-+!=.()/\"\"',:;?"); 190 selenium.fireEvent("name=field76", "blur"); 191 Assert.assertTrue(selenium.getAttribute("name=field76@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 192 selenium.focus("name=field65"); 193 selenium.type("name=field65", "sdfs$#$# dsffs"); 194 selenium.fireEvent("name=field65", "blur"); 195 Assert.assertTrue(selenium.getAttribute("name=field65@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 196 selenium.focus("name=field65"); 197 selenium.type("name=field65", "sdfs$#$#sffs"); 198 selenium.fireEvent("name=field65", "blur"); 199 Assert.assertTrue(selenium.getAttribute("name=field65@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 200 selenium.focus("name=field66"); 201 selenium.type("name=field66", "abcABCD"); 202 selenium.fireEvent("name=field66", "blur"); 203 Assert.assertTrue(selenium.getAttribute("name=field66@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 204 selenium.focus("name=field66"); 205 selenium.type("name=field66", "ABCabc"); 206 selenium.fireEvent("name=field66", "blur"); 207 Assert.assertTrue(selenium.getAttribute("name=field66@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 208 selenium.focus("name=field67"); 209 selenium.type("name=field67", "(111)B-(222)A"); 210 selenium.fireEvent("name=field67", "blur"); 211 Assert.assertTrue(selenium.getAttribute("name=field67@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 212 selenium.focus("name=field67"); 213 selenium.type("name=field67", "(12345)-(67890)"); 214 selenium.fireEvent("name=field67", "blur"); 215 Assert.assertTrue(selenium.getAttribute("name=field67@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 216 selenium.focus("name=field68"); 217 selenium.type("name=field68", "A.66"); 218 selenium.fireEvent("name=field68", "blur"); 219 Assert.assertTrue(selenium.getAttribute("name=field68@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 220 selenium.focus("name=field68"); 221 selenium.type("name=field68", "a.4"); 222 selenium.fireEvent("name=field68", "blur"); 223 Assert.assertTrue(selenium.getAttribute("name=field68@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 224 selenium.focus("name=field56"); 225 selenium.type("name=field56", "2020-06-02"); 226 selenium.fireEvent("name=field56", "blur"); 227 Assert.assertTrue(selenium.getAttribute("name=field56@class").matches("^[\\s\\S]*error[\\s\\S]*$")); 228 selenium.focus("name=field56"); 229 selenium.type("name=field56", "2020-06-02 03:30:30.22"); 230 selenium.fireEvent("name=field56", "blur"); 231 Assert.assertTrue(selenium.getAttribute("name=field56@class").matches("^[\\s\\S]*valid[\\s\\S]*$")); 232 } 233 234 @After 235 public void tearDown() throws Exception { 236 selenium.stop(); 237 } 238 }