@@ -22,14 +22,14 @@ describe('auto-check element', function () {
2222 } )
2323 } )
2424
25- describe ( 'when only-validate-on- blur is true ' , function ( ) {
25+ describe ( 'blur event functionality ' , function ( ) {
2626 let checker
2727 let input
2828
2929 beforeEach ( function ( ) {
3030 const container = document . createElement ( 'div' )
3131 container . innerHTML = `
32- <auto-check csrf="foo" src="/success" only-validate-on-blur >
32+ <auto-check csrf="foo" src="/success">
3333 <input>
3434 </auto-check>`
3535 document . body . append ( container )
@@ -137,28 +137,32 @@ describe('auto-check element', function () {
137137 assert . isFalse ( input . checkValidity ( ) )
138138 } )
139139
140- it ( 'invalidates the input element on keypress ' , async function ( ) {
140+ it ( 'invalidates the input element on blur ' , async function ( ) {
141141 const inputEvent = once ( input , 'input' )
142142 triggerInput ( input , 'hub' )
143+ triggerBlur ( input )
143144 await inputEvent
144145 assert . isFalse ( input . checkValidity ( ) )
145146 } )
146147
147148 it ( 'invalidates input request is in-flight' , async function ( ) {
148149 triggerInput ( input , 'hub' )
150+ triggerBlur ( input )
149151 await once ( checker , 'loadstart' )
150152 assert . isFalse ( input . checkValidity ( ) )
151153 } )
152154
153155 it ( 'invalidates input with failed server response' , async function ( ) {
154156 checker . src = '/fail'
155157 triggerInput ( input , 'hub' )
158+ triggerBlur ( input )
156159 await once ( input , 'auto-check-complete' )
157160 assert . isFalse ( input . checkValidity ( ) )
158161 } )
159162
160163 it ( 'validates input with successful server response' , async function ( ) {
161164 triggerInput ( input , 'hub' )
165+ triggerBlur ( input )
162166 await once ( input , 'auto-check-complete' )
163167 assert . isTrue ( input . checkValidity ( ) )
164168 } )
@@ -171,6 +175,7 @@ describe('auto-check element', function () {
171175 resolve ( )
172176 } )
173177 triggerInput ( input , 'hub' )
178+ triggerBlur ( input )
174179 } )
175180 await send
176181 assert ( ! input . validity . valid )
@@ -185,6 +190,7 @@ describe('auto-check element', function () {
185190 resolve ( )
186191 } )
187192 triggerInput ( input , 'hub' )
193+ triggerBlur ( input )
188194 } )
189195 await error
190196 assert ( ! input . validity . valid )
@@ -197,6 +203,7 @@ describe('auto-check element', function () {
197203 input . value = 'hub'
198204 assert . isTrue ( input . checkValidity ( ) )
199205 input . dispatchEvent ( new InputEvent ( 'input' ) )
206+ triggerBlur ( input )
200207 await once ( input , 'auto-check-complete' )
201208 assert . isTrue ( input . checkValidity ( ) )
202209 } )
@@ -268,6 +275,7 @@ describe('auto-check element', function () {
268275
269276 it ( 'validates input with successful server response with GET' , async function ( ) {
270277 triggerInput ( input , 'hub' )
278+ triggerBlur ( input )
271279 await once ( input , 'auto-check-complete' )
272280 assert . isTrue ( input . checkValidity ( ) )
273281 } )
@@ -306,6 +314,7 @@ describe('auto-check element', function () {
306314
307315 const completed = Promise . all ( [ once ( checker , 'loadstart' ) , once ( checker , 'load' ) , once ( checker , 'loadend' ) ] )
308316 triggerInput ( input , 'hub' )
317+ triggerBlur ( input )
309318 await completed
310319
311320 assert . deepEqual ( [ 'loadstart' , 'load' , 'loadend' ] , events )
@@ -322,6 +331,7 @@ describe('auto-check element', function () {
322331
323332 const completed = Promise . all ( [ once ( checker , 'loadstart' ) , once ( checker , 'load' ) , once ( checker , 'loadend' ) ] )
324333 triggerInput ( input , 'hub' )
334+ triggerBlur ( input )
325335 await completed
326336
327337 assert . deepEqual ( [ 'loadstart' , 'load' , 'loadend' ] , events )
@@ -350,36 +360,30 @@ describe('auto-check element', function () {
350360 input = null
351361 } )
352362
353- it ( 'emits auto-check-send on input ' , function ( done ) {
363+ it ( 'emits auto-check-send on blur ' , function ( done ) {
354364 input . addEventListener ( 'auto-check-send' , ( ) => done ( ) )
355365 input . value = 'hub'
356366 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 )
362368 } )
363369
364370 it ( 'emits auto-check-start on input' , function ( done ) {
365371 input . addEventListener ( 'auto-check-start' , ( ) => done ( ) )
366372 input . value = 'hub'
367373 input . dispatchEvent ( new InputEvent ( 'input' ) )
374+ triggerBlur ( input )
368375 } )
369376
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 ) {
376378 input . addEventListener ( 'auto-check-send' , ( ) => done ( ) )
377379 input . value = 'hub'
378380 input . dispatchEvent ( new InputEvent ( 'input' ) )
381+ triggerBlur ( input )
379382 } )
380383
381384 it ( 'emits auto-check-success when server responds with 200 OK' , async function ( ) {
382385 triggerInput ( input , 'hub' )
386+ triggerBlur ( input )
383387 const event = await once ( input , 'auto-check-success' )
384388 const result = await event . detail . response . text ( )
385389 assert . equal ( 'This is a warning' , result )
@@ -388,6 +392,7 @@ describe('auto-check element', function () {
388392 it ( 'emits auto-check-error event when server returns an error response' , async function ( ) {
389393 checker . src = '/fail'
390394 triggerInput ( input , 'hub' )
395+ triggerBlur ( input )
391396 const event = await once ( input , 'auto-check-error' )
392397 const result = await event . detail . response . text ( )
393398 assert . equal ( 'This is an error' , result )
@@ -396,6 +401,7 @@ describe('auto-check element', function () {
396401 it ( 'emits auto-check-complete event at the end of the lifecycle' , function ( done ) {
397402 input . addEventListener ( 'auto-check-complete' , ( ) => done ( ) )
398403 triggerInput ( input , 'hub' )
404+ triggerBlur ( input )
399405 } )
400406
401407 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 () {
410416
411417 input . value = 'hub'
412418 input . dispatchEvent ( new InputEvent ( 'input' ) )
419+ triggerBlur ( input )
413420 } )
414421
415422 it ( 'do not emit if essential attributes are missing' , async function ( ) {
0 commit comments