001 /**
002 * Copyright 2005-2013 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 package edu.sampleu.travel;
017
018 import org.kuali.rice.testtools.common.JiraAwareFailable;
019 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
020
021 /**
022 * Tests the Component section in Rice.
023 *
024 * @author Kuali Rice Team (rice.collab@kuali.org)
025 */
026 public abstract class UifComponentValidationRegexPatternAftBase extends WebDriverLegacyITBase {
027
028 /**
029 * "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91"
030 */
031 public static final String BOOKMARK_URL = "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91";
032
033 @Override
034 protected String getBookmarkUrl() {
035 return BOOKMARK_URL;
036 }
037
038 protected void navigation() throws InterruptedException {
039 waitAndClickKRAD();
040 waitAndClickByXpath(KITCHEN_SINK_XPATH);
041 switchToWindow(KUALI_UIF_COMPONENTS_WINDOW_XPATH);
042 }
043
044 protected void testValidCharacterConstraintNav(JiraAwareFailable failable) throws Exception {
045 navigation();
046 testValidCharacterConstraint();
047 passed();
048 }
049
050 protected void testValidCharacterConstraintBookmark(JiraAwareFailable failable) throws Exception {
051 testValidCharacterConstraint();
052 passed();
053 }
054
055 protected void testValidCharacterConstraint() throws Exception {
056 // waitAndClickByXpath("//a[contains(text(),'Validation - Regex')][2]");
057 waitAndClickById("UifCompView-Navigation4");
058
059 //---------------------------------------------Fixed Point------------------------------//
060 waitAndTypeByName("field50", "123.12");
061 fireEvent("field50", "blur");
062 try {
063 validateErrorImage(true);
064 fail("Framework error validateErrorImage(true) should have thrown an AssertionExcpetion");
065 } catch (AssertionError ae) {
066 jGrowl("validateErrorImage(true) when not expected okay.");
067 // expected
068 }
069 validateErrorImage(false);
070
071 clearTextByName("field50");
072 waitAndTypeByName("field50", "123.123");
073 fireEvent("field50", "blur");
074 try {
075 validateErrorImage(false);
076 fail("Framework error validateErrorImage(false) should have thrown an AssertionExcpetion");
077 } catch (AssertionError ae) {
078 jGrowl("validateErrorImage(false) when expected okay.");
079 }
080 validateErrorImage(true);
081
082 clearTextByName("field50");
083 waitAndTypeByXpath("//input[@name='field50']", "1234.4");
084 fireEvent("field50", "blur");
085 validateErrorImage(true);
086 clearTextByName("field50");
087 waitAndTypeByXpath("//input[@name='field50']", "1234.434");
088 fireEvent("field50", "blur");
089 validateErrorImage(true);
090 clearTextByName("field50");
091 waitAndTypeByXpath("//input[@name='field50']", "123.67");
092 fireEvent("field50", "blur");
093 validateErrorImage(false);
094 clearTextByName("field50");
095
096 //---------------------------------------------Floating Point------------------------------//
097 waitAndTypeByXpath("//input[@name='field51']", "127.");
098 fireEvent("field51", "blur");
099 validateErrorImage(true);
100 clearTextByName("field51");
101 waitAndTypeByXpath("//input[@name='field51']", "1234()98");
102 fireEvent("field51", "blur");
103 validateErrorImage(true);
104 clearTextByName("field51");
105 waitAndTypeByXpath("//input[@name='field51']", "-123.67");
106 fireEvent("field51", "blur");
107 validateErrorImage(false);
108 clearTextByName("field51");
109
110 //---------------------------------------------Integer Pattern constraint------------------------------//
111 waitAndTypeByXpath("//input[@name='field77']", "127.");
112 fireEvent("field77", "blur");
113 validateErrorImage(true);
114 clearTextByName("field77");
115 waitAndTypeByXpath("//input[@name='field77']", "1234.4123");
116 fireEvent("field77", "blur");
117 validateErrorImage(true);
118 clearTextByName("field77");
119 waitAndTypeByXpath("//input[@name='field77']", "123E123");
120 fireEvent("field77", "blur");
121 validateErrorImage(true);
122 clearTextByName("field77");
123 waitAndTypeByXpath("//input[@name='field77']", "-123");
124 fireEvent("field77", "blur");
125 validateErrorImage(false);
126 clearTextByName("field77");
127
128 //---------------------------------------------Phone Text------------------------------//
129 waitAndTypeByXpath("//input[@name='field52']", "1271231234");
130 fireEvent("field52", "blur");
131 validateErrorImage(true);
132 clearTextByName("field52");
133 waitAndTypeByXpath("//input[@name='field52']", "123-123-123");
134 fireEvent("field52", "blur");
135 validateErrorImage(true);
136 clearTextByName("field52");
137 waitAndTypeByXpath("//input[@name='field52']", "12-12-123445");
138 fireEvent("field52", "blur");
139 validateErrorImage(true);
140 clearTextByName("field52");
141 waitAndTypeByXpath("//input[@name='field52']", "1234-12-1234");
142 fireEvent("field52", "blur");
143 validateErrorImage(true);
144 clearTextByName("field52");
145 waitAndTypeByXpath("//input[@name='field52']", "123.123.1234");
146 fireEvent("field52", "blur");
147 validateErrorImage(true);
148 clearTextByName("field52");
149 waitAndTypeByXpath("//input[@name='field52']", "123-123-12345");
150 fireEvent("field52", "blur");
151 validateErrorImage(true);
152 clearTextByName("field52");
153 waitAndTypeByXpath("//input[@name='field52']", "123-123-1234");
154 fireEvent("field52", "blur");
155 validateErrorImage(false);
156 clearTextByName("field52");
157
158 //---------------------------------------------JavaClass Text------------------------------//
159 waitAndTypeByXpath("//input[@name='field53']", "127");
160 fireEvent("field53", "blur");
161 validateErrorImage(true);
162 clearTextByName("field53");
163 waitAndTypeByXpath("//input[@name='field53']", "TestJava!@#Class");
164 fireEvent("field53", "blur");
165 validateErrorImage(true);
166 clearTextByName("field53");
167 waitAndTypeByXpath("//input[@name='field53']", "Test JavaClass");
168 fireEvent("field53", "blur");
169 validateErrorImage(true);
170 clearTextByName("field53");
171 waitAndTypeByXpath("//input[@name='field53']", "Test JavaClass");
172 fireEvent("field53", "blur");
173 validateErrorImage(true);
174 clearTextByName("field53");
175 waitAndTypeByXpath("//input[@name='field53']", "TestJavaClass");
176 fireEvent("field53", "blur");
177 validateErrorImage(false);
178 clearTextByName("field53");
179
180 //---------------------------------------------Email Text------------------------------//
181 waitAndTypeByXpath("//input[@name='field54']", "123@123.123");
182 fireEvent("field54", "blur");
183 validateErrorImage(true);
184 clearTextByName("field54");
185 waitAndTypeByXpath("//input[@name='field54']", "email.com@emailServer");
186 fireEvent("field54", "blur");
187 validateErrorImage(true);
188 clearTextByName("field54");
189 waitAndTypeByXpath("//input[@name='field54']", "emailemailServer@.com");
190 fireEvent("field54", "blur");
191 validateErrorImage(true);
192 clearTextByName("field54");
193 waitAndTypeByXpath("//input[@name='field54']", "email@emailServercom");
194 fireEvent("field54", "blur");
195 validateErrorImage(true);
196 clearTextByName("field54");
197 waitAndTypeByXpath("//input[@name='field54']", "email@emailServer.com");
198 fireEvent("field54", "blur");
199 validateErrorImage(false);
200 clearTextByName("field54");
201
202 //---------------------------------------------URL pattern Text------------------------------//
203 waitAndTypeByXpath("//input[@name='field84']", "www.google.com");
204 fireEvent("field84", "blur");
205 validateErrorImage(true);
206 clearTextByName("field84");
207 waitAndTypeByXpath("//input[@name='field84']", "https:www.google.com");
208 fireEvent("field84", "blur");
209 validateErrorImage(true);
210 clearTextByName("field84");
211 waitAndTypeByXpath("//input[@name='field84']", "ftp://www.google.comsdfa123!#@");
212 fireEvent("field84", "blur");
213 validateErrorImage(true);
214 clearTextByName("field84");
215 waitAndTypeByXpath("//input[@name='field84']", "ftp:/www.google.coms");
216 fireEvent("field84", "blur");
217 validateErrorImage(true);
218 clearTextByName("field84");
219 waitAndTypeByXpath("//input[@name='field84']", "ftp://www.google.com");
220 fireEvent("field84", "blur");
221 validateErrorImage(false);
222 clearTextByName("field84");
223 waitAndTypeByXpath("//input[@name='field84']", "https://www.google.com");
224 fireEvent("field84", "blur");
225 validateErrorImage(false);
226 clearTextByName("field84");
227 waitAndTypeByXpath("//input[@name='field84']", "http://www.google.com");
228 fireEvent("field84", "blur");
229 validateErrorImage(false);
230 clearTextByName("field84");
231
232 //---------------------------------------------Date pattern Text------------------------------//
233 //-------------invalid formats
234 waitAndTypeByXpath("//input[@name='field55']", "12/12/2112 12:12:87 am");
235 fireEvent("field55", "blur");
236 validateErrorImage(true);
237 clearTextByName("field55");
238 waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12 am");
239 fireEvent("field55", "blur");
240 validateErrorImage(true);
241 clearTextByName("field55");
242 waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12");
243 fireEvent("field55", "blur");
244 validateErrorImage(true);
245 clearTextByName("field55");
246 waitAndTypeByXpath("//input[@name='field55']", "12/12/2112 12:12");
247 fireEvent("field55", "blur");
248 validateErrorImage(true);
249 clearTextByName("field55");
250 waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12:78");
251 fireEvent("field55", "blur");
252 validateErrorImage(true);
253 clearTextByName("field55");
254 waitAndTypeByXpath("//input[@name='field55']", "12 Sept");
255 fireEvent("field55", "blur");
256 validateErrorImage(true);
257 clearTextByName("field55");
258 waitAndTypeByXpath("//input[@name='field55']", "Sept 12 12:12");
259 fireEvent("field55", "blur");
260 validateErrorImage(true);
261 clearTextByName("field55");
262 waitAndTypeByXpath("//input[@name='field55']", "221299 12:12:13");
263 fireEvent("field55", "blur");
264 validateErrorImage(true);
265 clearTextByName("field55");
266 waitAndTypeByXpath("//input[@name='field55']", "111222 12:12");
267 fireEvent("field55", "blur");
268 validateErrorImage(true);
269 clearTextByName("field55");
270 waitAndTypeByXpath("//input[@name='field55']", "9/9/2012 12:12 am");
271 fireEvent("field55", "blur");
272 validateErrorImage(true);
273 clearTextByName("field55");
274
275 //-------------valid formats
276 waitAndTypeByXpath("//input[@name='field55']", "09/09/2012 12:12 pm");
277 fireEvent("field55", "blur");
278 validateErrorImage(false);
279 clearTextByName("field55");
280 waitAndTypeByXpath("//input[@name='field55']", "090923");
281 fireEvent("field55", "blur");
282 validateErrorImage(false);
283 clearTextByName("field55");
284 waitAndTypeByXpath("//input[@name='field55']", "Sept 12");
285 fireEvent("field55", "blur");
286 validateErrorImage(false);
287 clearTextByName("field55");
288 waitAndTypeByXpath("//input[@name='field55']", "2034");
289 fireEvent("field55", "blur");
290 validateErrorImage(false);
291 clearTextByName("field55");
292 waitAndTypeByXpath("//input[@name='field55']", "12/12/2012 23:12:59");
293 fireEvent("field55", "blur");
294 validateErrorImage(false);
295 clearTextByName("field55");
296 waitAndTypeByXpath("//input[@name='field55']", "12-12-12 23:12:59");
297 fireEvent("field55", "blur");
298 validateErrorImage(false);
299 clearTextByName("field55");
300 waitAndTypeByXpath("//input[@name='field55']", "121212 23:12:32");
301 fireEvent("field55", "blur");
302 validateErrorImage(false);
303 clearTextByName("field55");
304 waitAndTypeByXpath("//input[@name='field55']", "Sept 12 23:45:50");
305 fireEvent("field55", "blur");
306 validateErrorImage(false);
307 clearTextByName("field55");
308 waitAndTypeByXpath("//input[@name='field55']", "2011 12:23:32");
309 fireEvent("field55", "blur");
310 validateErrorImage(false);
311 clearTextByName("field55");
312
313 //---------------------------------------------BasicDate pattern Text------------------------------//
314 waitAndTypeByXpath("//input[@name='field75']", "12122012");
315 fireEvent("field75", "blur");
316 validateErrorImage(true);
317 clearTextByName("field75");
318 waitAndTypeByXpath("//input[@name='field75']", "13-12-34");
319 fireEvent("field75", "blur");
320 validateErrorImage(true);
321 clearTextByName("field75");
322 waitAndTypeByXpath("//input[@name='field75']", "12:12:2034");
323 fireEvent("field75", "blur");
324 validateErrorImage(true);
325 clearTextByName("field75");
326 waitAndTypeByXpath("//input[@name='field75']", "12-12-2034");
327 fireEvent("field75", "blur");
328 validateErrorImage(false);
329 clearTextByName("field75");
330
331 //---------------------------------------------Time12H Pattern Text------------------------------//
332 waitAndTypeByXpath("//input[@name='field82']", "13:00:12");
333 fireEvent("field82", "blur");
334 validateErrorImage(true);
335 clearTextByName("field82");
336 waitAndTypeByXpath("//input[@name='field82']", "09:00:");
337 fireEvent("field82", "blur");
338 validateErrorImage(true);
339 clearTextByName("field82");
340 waitAndTypeByXpath("//input[@name='field82']", "3-00:12");
341 fireEvent("field82", "blur");
342 validateErrorImage(true);
343 clearTextByName("field82");
344 waitAndTypeByXpath("//input[@name='field82']", "3:00:34");
345 fireEvent("field82", "blur");
346 validateErrorImage(false);
347 clearTextByName("field82");
348 waitAndTypeByXpath("//input[@name='field82']", "3:00");
349 fireEvent("field82", "blur");
350 validateErrorImage(false);
351 clearTextByName("field82");
352
353 //---------------------------------------------Time24H Pattern Text------------------------------//
354 waitAndTypeByXpath("//input[@name='field83']", "24:00:12");
355 fireEvent("field83", "blur");
356 validateErrorImage(true);
357 clearTextByName("field83");
358 waitAndTypeByXpath("//input[@name='field83']", "14:00:");
359 fireEvent("field83", "blur");
360 validateErrorImage(true);
361 clearTextByName("field83");
362 waitAndTypeByXpath("//input[@name='field83']", "13:00:76");
363 fireEvent("field83", "blur");
364 validateErrorImage(true);
365 clearTextByName("field83");
366 waitAndTypeByXpath("//input[@name='field83']", "13:00:23");
367 fireEvent("field83", "blur");
368 validateErrorImage(false);
369 clearTextByName("field83");
370 waitAndTypeByXpath("//input[@name='field83']", "23:00:12");
371 fireEvent("field83", "blur");
372 validateErrorImage(false);
373 clearTextByName("field83");
374
375 //---------------------------------------------Timestamp pattern Text------------------------------//
376 waitAndTypeByXpath("//input[@name='field56']", "1000-12-12 12:12:12.103");
377 fireEvent("field56", "blur");
378 validateErrorImage(true);
379 clearTextByName("field56");
380 waitAndTypeByXpath("//input[@name='field56']", "2000/12/12 12-12-12.87");
381 fireEvent("field56", "blur");
382 validateErrorImage(true);
383 clearTextByName("field56");
384 waitAndTypeByXpath("//input[@name='field56']", "2000/12/12 12-12-12.87");
385 fireEvent("field56", "blur");
386 validateErrorImage(true);
387 clearTextByName("field56");
388 waitAndTypeByXpath("//input[@name='field56']", "2011-08-12 12:12:12");
389 fireEvent("field56", "blur");
390 validateErrorImage(true);
391 clearTextByName("field56");
392
393 //--------this should not be allowed
394 /*
395 clearTimeStampText();
396 waitAndType("//input[@name='field56']", "2999-12-12 12:12:12.103");
397 focus("//input[@name='field57']");
398 Thread.sleep(100);
399 assertTrue(isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
400 */
401 waitAndTypeByXpath("//input[@name='field56']", "2099-12-12 12:12:12.103");
402 fireEvent("field56", "blur");
403 validateErrorImage(false);
404 clearTextByName("field56");
405
406 //---------------------------------------------Year Pattern Text------------------------------//
407 waitAndTypeByXpath("//input[@name='field57']", "1599");
408 fireEvent("field57", "blur");
409 validateErrorImage(true);
410 clearTextByName("field57");
411 waitAndTypeByXpath("//input[@name='field57']", "2200");
412 fireEvent("field57", "blur");
413 validateErrorImage(true);
414 clearTextByName("field57");
415 waitAndTypeByXpath("//input[@name='field57']", "20000");
416 fireEvent("field57", "blur");
417 validateErrorImage(true);
418 clearTextByName("field57");
419 waitAndTypeByXpath("//input[@name='field57']", "-202");
420 fireEvent("field57", "blur");
421 validateErrorImage(true);
422 clearTextByName("field57");
423 waitAndTypeByXpath("//input[@name='field57']", "2000");
424 fireEvent("field57", "blur");
425 validateErrorImage(false);
426 clearTextByName("field57");
427
428 //---------------------------------------------Month Pattern Text------------------------------//
429 waitAndTypeByXpath("//input[@name='field58']", "0");
430 fireEvent("field58", "blur");
431 validateErrorImage(true);
432 clearTextByName("field58");
433 waitAndTypeByXpath("//input[@name='field58']", "-12");
434 fireEvent("field58", "blur");
435 validateErrorImage(true);
436 clearTextByName("field58");
437 waitAndTypeByXpath("//input[@name='field58']", "100");
438 fireEvent("field58", "blur");
439 validateErrorImage(true);
440 clearTextByName("field58");
441 waitAndTypeByXpath("//input[@name='field58']", "12");
442 fireEvent("field58", "blur");
443 validateErrorImage(false);
444 clearTextByName("field58");
445
446 //---------------------------------------------ZipCode Pattern Text------------------------------//
447 waitAndTypeByXpath("//input[@name='field61']", "123");
448 fireEvent("field61", "blur");
449 validateErrorImage(true);
450 clearTextByName("field61");
451 waitAndTypeByXpath("//input[@name='field61']", "2341 12");
452 fireEvent("field61", "blur");
453 validateErrorImage(true);
454 clearTextByName("field61");
455 waitAndTypeByXpath("//input[@name='field61']", "0-1231");
456 fireEvent("field61", "blur");
457 validateErrorImage(true);
458 clearTextByName("field61");
459 waitAndTypeByXpath("//input[@name='field61']", "12345");
460 fireEvent("field61", "blur");
461 validateErrorImage(false);
462 clearTextByName("field61");
463
464 //---------------------------------------------Alpha Numeric w/o options Text------------------------------//
465 waitAndTypeByXpath("//input[@name='field62']", "123 23 @#");
466 fireEvent("field62", "blur");
467 validateErrorImage(true);
468 clearTextByName("field62");
469 waitAndTypeByXpath("//input[@name='field62']", "-asd123");
470 fireEvent("field62", "blur");
471 validateErrorImage(true);
472 clearTextByName("field62");
473 waitAndTypeByXpath("//input[@name='field62']", "asd/123");
474 fireEvent("field62", "blur");
475 validateErrorImage(true);
476 clearTextByName("field62");
477 waitAndTypeByXpath("//input[@name='field62']", "asd123");
478 fireEvent("field62", "blur");
479 validateErrorImage(false);
480 clearTextByName("field62");
481
482 //---------------------------------------------Alpha Numeric with options Text------------------------------//
483 waitAndTypeByXpath("//input[@name='field63']", "123^we");
484 fireEvent("field63", "blur");
485 validateErrorImage(true);
486 clearTextByName("field63");
487 waitAndTypeByXpath("//input[@name='field63']", "-123_asd");
488 fireEvent("field63", "blur");
489 validateErrorImage(true);
490 clearTextByName("field63");
491 waitAndTypeByXpath("//input[@name='field63']", "123 23 @#");
492 fireEvent("field63", "blur");
493 clearTextByName("field63");
494 waitAndTypeByXpath("//input[@name='field63']", "as_de 456/123");
495 fireEvent("field63", "blur");
496 validateErrorImage(false);
497 clearTextByName("field63");
498
499 //---------------------------------------------Alpha with Whitespace and commas Text------------------------------//
500 waitAndTypeByXpath("//input[@name='field64']", "123^we");
501 fireEvent("field64", "blur");
502 validateErrorImage(true);
503 clearTextByName("field64");
504 waitAndTypeByXpath("//input[@name='field64']", "asd_pqr");
505 fireEvent("field64", "blur");
506 validateErrorImage(true);
507 clearTextByName("field64");
508 waitAndTypeByXpath("//input[@name='field64']", "asd/def");
509 fireEvent("field64", "blur");
510 validateErrorImage(true);
511 clearTextByName("field64");
512 waitAndTypeByXpath("//input[@name='field64']", "asd ,pqr");
513 fireEvent("field64", "blur");
514 validateErrorImage(false);
515 clearTextByName("field64");
516
517 //---------------------------------------------AlphaPatterrn with disallowed charset Text------------------------------//
518 waitAndTypeByXpath("//input[@name='field76']", "123");
519 fireEvent("field76", "blur");
520 validateErrorImage(true);
521 clearTextByName("field76");
522 waitAndTypeByXpath("//input[@name='field76']", "`abcd`");
523 fireEvent("field76", "blur");
524 validateErrorImage(true);
525 clearTextByName("field76");
526 waitAndTypeByXpath("//input[@name='field76']", "|abcd|");
527 fireEvent("field76", "blur");
528 validateErrorImage(true);
529 clearTextByName("field76");
530 waitAndTypeByXpath("//input[@name='field76']", "~abcd~");
531 fireEvent("field76", "blur");
532 validateErrorImage(true);
533 clearTextByName("field76");
534 waitAndTypeByXpath("//input[@name='field76']", " ab_c d_ef ");
535 fireEvent("field76", "blur");
536 validateErrorImage(false);
537 clearTextByName("field76");
538
539 //---------------------------------------------Anything with No Whitespace Text------------------------------//
540 waitAndTypeByXpath("//input[@name='field65']", "123 ^we");
541 fireEvent("field65", "blur");
542 validateErrorImage(true);
543 clearTextByName("field65");
544 waitAndTypeByXpath("//input[@name='field65']", "123^we!@#^&*~:");
545 fireEvent("field65", "blur");
546 validateErrorImage(false);
547 clearTextByName("field65");
548
549 //---------------------------------------------CharacterSet Text------------------------------//
550 waitAndTypeByXpath("//input[@name='field66']", "123 ^we");
551 fireEvent("field66", "blur");
552 validateErrorImage(true);
553 clearTextByName("field66");
554 waitAndTypeByXpath("//input[@name='field66']", "123_^we");
555 fireEvent("field66", "blur");
556 validateErrorImage(true);
557 clearTextByName("field66");
558 waitAndTypeByXpath("//input[@name='field66']", "abc ABC");
559 fireEvent("field66", "blur");
560 validateErrorImage(true);
561 clearTextByName("field66");
562 waitAndTypeByXpath("//input[@name='field66']", "aAbBcC");
563 fireEvent("field66", "blur");
564 validateErrorImage(false);
565 clearTextByName("field66");
566
567 //---------------------------------------------Numeric Character Text------------------------------//
568 waitAndTypeByXpath("//input[@name='field67']", "123 ^we");
569 fireEvent("field67", "blur");
570 validateErrorImage(true);
571 clearTextByName("field67");
572 waitAndTypeByXpath("//input[@name='field67']", "123/10");
573 fireEvent("field67", "blur");
574 validateErrorImage(true);
575 clearTextByName("field67");
576 waitAndTypeByXpath("//input[@name='field67']", "(123.00)");
577 fireEvent("field67", "blur");
578 validateErrorImage(true);
579 clearTextByName("field67");
580 waitAndTypeByXpath("//input[@name='field67']", "(12-3)");
581 fireEvent("field67", "blur");
582 validateErrorImage(false);
583 clearTextByName("field67");
584
585 //---------------------------------------------Valid Chars Custom Text------------------------------//
586 waitAndTypeByXpath("//input[@name='field68']", "123.123");
587 fireEvent("field68", "blur");
588 validateErrorImage(true);
589 clearTextByName("field68");
590 waitAndTypeByXpath("//input[@name='field68']", "a.b");
591 fireEvent("field68", "blur");
592 validateErrorImage(true);
593 clearTextByName("field68");
594 waitAndTypeByXpath("//input[@name='field68']", "123 qwe");
595 fireEvent("field68", "blur");
596 validateErrorImage(true);
597 clearTextByName("field68");
598 waitAndTypeByXpath("//input[@name='field68']", "5.a");
599 fireEvent("field68", "blur");
600 validateErrorImage(true);
601 clearTextByName("field68");
602 waitAndTypeByXpath("//input[@name='field68']", "a.0,b.4");
603 fireEvent("field68", "blur");
604 validateErrorImage(true);
605 clearTextByName("field68");
606 waitAndTypeByXpath("//input[@name='field68']", "a.0");
607 fireEvent("field68", "blur");
608 validateErrorImage(false);
609 clearTextByName("field68");
610 passed();
611 }
612 }