|
60 | 60 | saveButton = $( "#saveButton" ); |
61 | 61 | } ); |
62 | 62 |
|
63 | | - function saveReport( xml ) { |
64 | | - var uriContent = "data:application/octet-stream," + encodeURIComponent( report ); |
65 | | - } |
66 | | - |
67 | 63 | function resetEventFlags() { |
68 | 64 | log( "resetting event flags" ); |
69 | 65 |
|
|
72 | 68 | validationSuccessEvent = false; |
73 | 69 | } |
74 | 70 |
|
75 | | - function initField( title, fieldType, ignore ) { |
76 | | - log( "test: " + title ); |
77 | | - log( "initField: fieldType[" + fieldType + "], ignore[" + ignore + "]" ); |
78 | | - |
79 | | - field.restrictedTextField( { type : fieldType, |
80 | | - preventInvalidInput : ignore, |
81 | | - logger : log } ); |
82 | | - |
| 71 | + function setEventListeners() { |
83 | 72 | field.on( "inputIgnored", function() { |
84 | 73 | log( "inputIgnored event captured" ); |
85 | 74 | inputIgnoredEvent = true; |
|
96 | 85 | } ); |
97 | 86 | } |
98 | 87 |
|
| 88 | + function initField( title, fieldType, ignore ) { |
| 89 | + log( "test: " + title ); |
| 90 | + log( "initField: fieldType[" + fieldType + "], ignore[" + ignore + "]" ); |
| 91 | + |
| 92 | + field.restrictedTextField( { type : fieldType, |
| 93 | + preventInvalidInput : ignore, |
| 94 | + logger : log, |
| 95 | + usePatternAttr : false } ); |
| 96 | + } |
| 97 | + |
99 | 98 | function simulateInput( input ) { |
100 | 99 | for( var i = 0; i < input.length; i++ ) { |
101 | 100 | field.trigger( "keydown" ); |
|
182 | 181 | } ).appendTo( fieldContainer ); |
183 | 182 |
|
184 | 183 | field = $( fieldSelector ); |
| 184 | + setEventListeners(); |
185 | 185 | resetEventFlags(); |
186 | 186 | } ); |
187 | 187 |
|
|
219 | 219 | $( "#saveContainer" ).css( "visibility", "visible" ); |
220 | 220 | } ); |
221 | 221 |
|
222 | | - QUnit.cases( testCases ).test( "Test", function(params) { |
| 222 | + // Run the tests in testCases.js (pattern mode disabled) |
| 223 | + |
| 224 | + QUnit.cases( testCases ).test( "noPatternMode", function(params) { |
223 | 225 | initField( params.title, params.fieldType[0], params.preventInvalidInput ); |
224 | 226 | writeCurrentTest( params.title, testNum, testCases.length ); |
225 | 227 |
|
|
232 | 234 | field.blur(); |
233 | 235 | validatePostBlur( params ); |
234 | 236 | } ); |
| 237 | + |
| 238 | + // Run the second set of tests (pattern mode enabled) - just need to verify that no RestrictedTextField events fire |
| 239 | + |
| 240 | + QUnit.test( "patternMode_correctInput_noEventsFired", function() { |
| 241 | + field.restrictedTextField( { type : "int", |
| 242 | + preventInvalidInput : false, |
| 243 | + logger : log, |
| 244 | + usePatternAttr : true } ); |
| 245 | + |
| 246 | + writeCurrentTest( "patternMode_correctInput_noEventsFired", testNum, testNum + 1 ); |
| 247 | + |
| 248 | + simulateInput( "123" ); |
| 249 | + field.blur(); |
| 250 | + |
| 251 | + equal( field.val(), "123", "Field has correct value" ); |
| 252 | + notOk( inputIgnoredEvent, "inputIgnoredEvent should never fire when pattern mode is enabled" ); |
| 253 | + notOk( validationFailedEvent, "validationFailedEvent should never fire when pattern mode is enabled" ); |
| 254 | + notOk( validationSuccessEvent, "validationSuccessEvent should never fire when pattern mode is enabled" ); |
| 255 | + } ); |
| 256 | + |
| 257 | + QUnit.test( "patternMode_incorrectInput_noEventsFired", function() { |
| 258 | + field.restrictedTextField( { type : "int", |
| 259 | + preventInvalidInput : false, |
| 260 | + logger : log, |
| 261 | + usePatternAttr : true } ); |
| 262 | + |
| 263 | + writeCurrentTest( "patternMode_incorrectInput_noEventsFired", testNum, testNum + 1 ); |
| 264 | + |
| 265 | + simulateInput( "1a23" ); |
| 266 | + field.blur(); |
| 267 | + |
| 268 | + equal( field.val(), "1a23", "Field has correct value" ); |
| 269 | + notOk( inputIgnoredEvent, "inputIgnoredEvent should never fire when pattern mode is enabled" ); |
| 270 | + notOk( validationFailedEvent, "validationFailedEvent should never fire when pattern mode is enabled" ); |
| 271 | + notOk( validationSuccessEvent, "validationSuccessEvent should never fire when pattern mode is enabled" ); |
| 272 | + } ); |
| 273 | + |
| 274 | + QUnit.test( "patternMode_rejectInvalidConfiguration", function() { |
| 275 | + writeCurrentTest( "patternMode_rejectInvalidConfiguration", testNum, testNum ); |
| 276 | + |
| 277 | + throws( |
| 278 | + function() { |
| 279 | + field.restrictedTextField( { type : "int", |
| 280 | + preventInvalidInput : true, |
| 281 | + logger : log, |
| 282 | + usePatternAttr : true } ); |
| 283 | + }, |
| 284 | + |
| 285 | + function( err ) { |
| 286 | + return err.toString() === "Invalid configuration: preventInvalidInput and usePatternAttr cannot both be true"; |
| 287 | + }, |
| 288 | + |
| 289 | + "Exception thrown during initilization with incorrect options" |
| 290 | + ); |
| 291 | + } ); |
235 | 292 | } |
236 | 293 | } )(); |
0 commit comments