@@ -371,4 +371,53 @@ suite('include-fragment-element', function() {
371
371
assert . equal ( document . querySelector ( '#replaced' ) . textContent , 'hello' )
372
372
} )
373
373
} )
374
+
375
+ test . only ( 'fires replaced event' , function ( ) {
376
+ const elem = document . createElement ( 'include-fragment' )
377
+ document . body . appendChild ( elem )
378
+
379
+ setTimeout ( function ( ) {
380
+ elem . src = '/hello'
381
+ } , 10 )
382
+
383
+ return when ( elem , 'include-fragment-replaced' ) . then ( ( ) => {
384
+ assert . equal ( document . querySelector ( 'include-fragment' ) , null )
385
+ assert . equal ( document . querySelector ( '#replaced' ) . textContent , 'hello' )
386
+ } )
387
+ } )
388
+
389
+ test . only ( 'fires events for include-fragment node replacement operations for fragment manipulation' , function ( ) {
390
+ const elem = document . createElement ( 'include-fragment' )
391
+ document . body . appendChild ( elem )
392
+
393
+ setTimeout ( function ( ) {
394
+ elem . src = '/hello'
395
+ } , 10 )
396
+
397
+ elem . addEventListener ( 'include-fragment-replace' , event => {
398
+ event . detail . fragment . querySelector ( '*' ) . textContent = 'hey'
399
+ } )
400
+
401
+ return when ( elem , 'include-fragment-replaced' ) . then ( ( ) => {
402
+ assert . equal ( document . querySelector ( 'include-fragment' ) , null )
403
+ assert . equal ( document . querySelector ( '#replaced' ) . textContent , 'hey' )
404
+ } )
405
+ } )
406
+
407
+ test . only ( 'does not replace node if event was canceled ' , function ( ) {
408
+ const elem = document . createElement ( 'include-fragment' )
409
+ document . body . appendChild ( elem )
410
+
411
+ setTimeout ( function ( ) {
412
+ elem . src = '/hello'
413
+ } , 10 )
414
+
415
+ elem . addEventListener ( 'include-fragment-replace' , event => {
416
+ event . preventDefault ( )
417
+ } )
418
+
419
+ return when ( elem , 'load' ) . then ( ( ) => {
420
+ assert ( document . querySelector ( 'include-fragment' ) , 'Node should not be replaced' )
421
+ } )
422
+ } )
374
423
} )
0 commit comments