1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package edu.sampleu.travel;
17
18 import org.kuali.rice.testtools.common.JiraAwareFailable;
19 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
20
21
22
23
24
25
26 public abstract class UifComponentValidationRegexPatternAftBase extends WebDriverLegacyITBase {
27
28
29
30
31 public static final String BOOKMARK_URL = "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91";
32
33 @Override
34 protected String getBookmarkUrl() {
35 return BOOKMARK_URL;
36 }
37
38 protected void navigation() throws InterruptedException {
39 waitAndClickKRAD();
40 waitAndClickByXpath(KITCHEN_SINK_XPATH);
41 switchToWindow(KUALI_UIF_COMPONENTS_WINDOW_XPATH);
42 }
43
44 protected void testValidCharacterConstraintNav(JiraAwareFailable failable) throws Exception {
45 navigation();
46 testValidCharacterConstraint();
47 passed();
48 }
49
50 protected void testValidCharacterConstraintBookmark(JiraAwareFailable failable) throws Exception {
51 testValidCharacterConstraint();
52 passed();
53 }
54
55 protected void testValidCharacterConstraint() throws Exception {
56
57 waitAndClickById("UifCompView-Navigation4");
58
59
60 waitAndTypeByName("field50", "123.12");
61 fireEvent("field50", "blur");
62 try {
63 validateErrorImage(true);
64 fail("Framework error validateErrorImage(true) should have thrown an AssertionExcpetion");
65 } catch (AssertionError ae) {
66 jGrowl("validateErrorImage(true) when not expected okay.");
67
68 }
69 validateErrorImage(false);
70
71 clearTextByName("field50");
72 waitAndTypeByName("field50", "123.123");
73 fireEvent("field50", "blur");
74 try {
75 validateErrorImage(false);
76 fail("Framework error validateErrorImage(false) should have thrown an AssertionExcpetion");
77 } catch (AssertionError ae) {
78 jGrowl("validateErrorImage(false) when expected okay.");
79 }
80 validateErrorImage(true);
81
82 clearTextByName("field50");
83 waitAndTypeByXpath("//input[@name='field50']", "1234.4");
84 fireEvent("field50", "blur");
85 validateErrorImage(true);
86 clearTextByName("field50");
87 waitAndTypeByXpath("//input[@name='field50']", "1234.434");
88 fireEvent("field50", "blur");
89 validateErrorImage(true);
90 clearTextByName("field50");
91 waitAndTypeByXpath("//input[@name='field50']", "123.67");
92 fireEvent("field50", "blur");
93 validateErrorImage(false);
94 clearTextByName("field50");
95
96
97 waitAndTypeByXpath("//input[@name='field51']", "127.");
98 fireEvent("field51", "blur");
99 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
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
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
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
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
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
233
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
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
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
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
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
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
394
395
396
397
398
399
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
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
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
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
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
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
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
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
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
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
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
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 }