@@ -30,7 +30,12 @@ describe('remote-input', function() {
3030 const input = document . querySelector ( 'input' )
3131 const results = document . querySelector ( '#results' )
3232 assert . equal ( results . innerHTML , '' )
33+ let successEvent = false
34+ remoteInput . addEventListener ( 'remote-input-success' , function ( ) {
35+ successEvent = true
36+ } )
3337 remoteInput . addEventListener ( 'loadend' , function ( ) {
38+ assert . ok ( successEvent , 'success event happened' )
3439 assert . equal ( results . querySelector ( 'ol' ) . getAttribute ( 'data-src' ) , '/results?q=test' )
3540 done ( )
3641 } )
@@ -44,17 +49,34 @@ describe('remote-input', function() {
4449 const results = document . querySelector ( '#results' )
4550 remoteInput . src = '/500'
4651 assert . equal ( results . innerHTML , '' )
47- let errorHappened = false
48- remoteInput . addEventListener ( 'error' , function ( ) {
49- errorHappened = true
52+ let errorEvent = false
53+ remoteInput . addEventListener ( 'remote-input- error' , function ( ) {
54+ errorEvent = true
5055 } )
5156 remoteInput . addEventListener ( 'loadend' , function ( ) {
52- assert . ok ( errorHappened , 'error event happened' )
57+ assert . ok ( errorEvent , 'error event happened' )
58+ assert . equal ( results . innerHTML , '' , 'nothing was appended' )
59+ done ( )
60+ } )
61+ input . value = 'test'
62+ input . focus ( )
63+ } )
64+
65+ it ( 'handles network error' , function ( done ) {
66+ const remoteInput = document . querySelector ( 'remote-input' )
67+ const input = document . querySelector ( 'input' )
68+ const results = document . querySelector ( '#results' )
69+ remoteInput . src = '/network-error'
70+ assert . equal ( results . innerHTML , '' )
71+ remoteInput . addEventListener ( 'error' , async function ( ) {
72+ await Promise . resolve ( )
5373 assert . equal ( results . innerHTML , '' , 'nothing was appended' )
74+ assert . notOk ( remoteInput . hasAttribute ( 'loading' ) , 'loading attribute was removed' )
5475 done ( )
5576 } )
5677 input . value = 'test'
5778 input . focus ( )
79+ assert . ok ( remoteInput . hasAttribute ( 'loading' ) , 'loading attribute was added' )
5880 } )
5981
6082 it ( 'repects param attribute' , function ( done ) {
0 commit comments