@@ -22,14 +22,14 @@ describe('auto-check element', function () {
22
22
} )
23
23
} )
24
24
25
- describe ( 'when only-validate-on- blur is true ' , function ( ) {
25
+ describe ( 'blur event functionality ' , function ( ) {
26
26
let checker
27
27
let input
28
28
29
29
beforeEach ( function ( ) {
30
30
const container = document . createElement ( 'div' )
31
31
container . innerHTML = `
32
- <auto-check csrf="foo" src="/success" only-validate-on-blur >
32
+ <auto-check csrf="foo" src="/success">
33
33
<input>
34
34
</auto-check>`
35
35
document . body . append ( container )
@@ -137,28 +137,32 @@ describe('auto-check element', function () {
137
137
assert . isFalse ( input . checkValidity ( ) )
138
138
} )
139
139
140
- it ( 'invalidates the input element on keypress ' , async function ( ) {
140
+ it ( 'invalidates the input element on blur ' , async function ( ) {
141
141
const inputEvent = once ( input , 'input' )
142
142
triggerInput ( input , 'hub' )
143
+ triggerBlur ( input )
143
144
await inputEvent
144
145
assert . isFalse ( input . checkValidity ( ) )
145
146
} )
146
147
147
148
it ( 'invalidates input request is in-flight' , async function ( ) {
148
149
triggerInput ( input , 'hub' )
150
+ triggerBlur ( input )
149
151
await once ( checker , 'loadstart' )
150
152
assert . isFalse ( input . checkValidity ( ) )
151
153
} )
152
154
153
155
it ( 'invalidates input with failed server response' , async function ( ) {
154
156
checker . src = '/fail'
155
157
triggerInput ( input , 'hub' )
158
+ triggerBlur ( input )
156
159
await once ( input , 'auto-check-complete' )
157
160
assert . isFalse ( input . checkValidity ( ) )
158
161
} )
159
162
160
163
it ( 'validates input with successful server response' , async function ( ) {
161
164
triggerInput ( input , 'hub' )
165
+ triggerBlur ( input )
162
166
await once ( input , 'auto-check-complete' )
163
167
assert . isTrue ( input . checkValidity ( ) )
164
168
} )
@@ -171,6 +175,7 @@ describe('auto-check element', function () {
171
175
resolve ( )
172
176
} )
173
177
triggerInput ( input , 'hub' )
178
+ triggerBlur ( input )
174
179
} )
175
180
await send
176
181
assert ( ! input . validity . valid )
@@ -185,6 +190,7 @@ describe('auto-check element', function () {
185
190
resolve ( )
186
191
} )
187
192
triggerInput ( input , 'hub' )
193
+ triggerBlur ( input )
188
194
} )
189
195
await error
190
196
assert ( ! input . validity . valid )
@@ -197,6 +203,7 @@ describe('auto-check element', function () {
197
203
input . value = 'hub'
198
204
assert . isTrue ( input . checkValidity ( ) )
199
205
input . dispatchEvent ( new InputEvent ( 'input' ) )
206
+ triggerBlur ( input )
200
207
await once ( input , 'auto-check-complete' )
201
208
assert . isTrue ( input . checkValidity ( ) )
202
209
} )
@@ -268,6 +275,7 @@ describe('auto-check element', function () {
268
275
269
276
it ( 'validates input with successful server response with GET' , async function ( ) {
270
277
triggerInput ( input , 'hub' )
278
+ triggerBlur ( input )
271
279
await once ( input , 'auto-check-complete' )
272
280
assert . isTrue ( input . checkValidity ( ) )
273
281
} )
@@ -306,6 +314,7 @@ describe('auto-check element', function () {
306
314
307
315
const completed = Promise . all ( [ once ( checker , 'loadstart' ) , once ( checker , 'load' ) , once ( checker , 'loadend' ) ] )
308
316
triggerInput ( input , 'hub' )
317
+ triggerBlur ( input )
309
318
await completed
310
319
311
320
assert . deepEqual ( [ 'loadstart' , 'load' , 'loadend' ] , events )
@@ -322,6 +331,7 @@ describe('auto-check element', function () {
322
331
323
332
const completed = Promise . all ( [ once ( checker , 'loadstart' ) , once ( checker , 'load' ) , once ( checker , 'loadend' ) ] )
324
333
triggerInput ( input , 'hub' )
334
+ triggerBlur ( input )
325
335
await completed
326
336
327
337
assert . deepEqual ( [ 'loadstart' , 'load' , 'loadend' ] , events )
@@ -350,36 +360,30 @@ describe('auto-check element', function () {
350
360
input = null
351
361
} )
352
362
353
- it ( 'emits auto-check-send on input ' , function ( done ) {
363
+ it ( 'emits auto-check-send on blur ' , function ( done ) {
354
364
input . addEventListener ( 'auto-check-send' , ( ) => done ( ) )
355
365
input . value = 'hub'
356
366
input . dispatchEvent ( new InputEvent ( 'input' ) )
357
- } )
358
-
359
- it ( 'emits auto-check-send on change' , function ( done ) {
360
- input . addEventListener ( 'auto-check-send' , ( ) => done ( ) )
361
- triggerInput ( input , 'hub' )
367
+ triggerBlur ( input )
362
368
} )
363
369
364
370
it ( 'emits auto-check-start on input' , function ( done ) {
365
371
input . addEventListener ( 'auto-check-start' , ( ) => done ( ) )
366
372
input . value = 'hub'
367
373
input . dispatchEvent ( new InputEvent ( 'input' ) )
374
+ triggerBlur ( input )
368
375
} )
369
376
370
- it ( 'emits auto-check-start on change' , function ( done ) {
371
- input . addEventListener ( 'auto-check-start' , ( ) => done ( ) )
372
- triggerInput ( input , 'hub' )
373
- } )
374
-
375
- it ( 'emits auto-check-send 300 milliseconds after keypress' , function ( done ) {
377
+ it ( 'emits auto-check-send 300 milliseconds after blur' , function ( done ) {
376
378
input . addEventListener ( 'auto-check-send' , ( ) => done ( ) )
377
379
input . value = 'hub'
378
380
input . dispatchEvent ( new InputEvent ( 'input' ) )
381
+ triggerBlur ( input )
379
382
} )
380
383
381
384
it ( 'emits auto-check-success when server responds with 200 OK' , async function ( ) {
382
385
triggerInput ( input , 'hub' )
386
+ triggerBlur ( input )
383
387
const event = await once ( input , 'auto-check-success' )
384
388
const result = await event . detail . response . text ( )
385
389
assert . equal ( 'This is a warning' , result )
@@ -388,6 +392,7 @@ describe('auto-check element', function () {
388
392
it ( 'emits auto-check-error event when server returns an error response' , async function ( ) {
389
393
checker . src = '/fail'
390
394
triggerInput ( input , 'hub' )
395
+ triggerBlur ( input )
391
396
const event = await once ( input , 'auto-check-error' )
392
397
const result = await event . detail . response . text ( )
393
398
assert . equal ( 'This is an error' , result )
@@ -396,6 +401,7 @@ describe('auto-check element', function () {
396
401
it ( 'emits auto-check-complete event at the end of the lifecycle' , function ( done ) {
397
402
input . addEventListener ( 'auto-check-complete' , ( ) => done ( ) )
398
403
triggerInput ( input , 'hub' )
404
+ triggerBlur ( input )
399
405
} )
400
406
401
407
it ( 'emits auto-check-send event before checking if there is a duplicate request' , function ( done ) {
@@ -410,6 +416,7 @@ describe('auto-check element', function () {
410
416
411
417
input . value = 'hub'
412
418
input . dispatchEvent ( new InputEvent ( 'input' ) )
419
+ triggerBlur ( input )
413
420
} )
414
421
415
422
it ( 'do not emit if essential attributes are missing' , async function ( ) {
0 commit comments