This repository was archived by the owner on Mar 13, 2018. It is now read-only.
File tree 2 files changed +35
-1
lines changed
2 files changed +35
-1
lines changed Original file line number Diff line number Diff line change 382
382
targetTable . set ( event , target ) ;
383
383
currentTargetTable . set ( event , currentTarget ) ;
384
384
385
- for ( var i = 0 ; i < listeners . length ; i ++ ) {
385
+ for ( var i = 0 , len = listeners . length ; i < len ; i ++ ) {
386
386
var listener = listeners [ i ] ;
387
387
if ( listener . removed ) {
388
388
anyRemoved = true ;
Original file line number Diff line number Diff line change @@ -1404,4 +1404,38 @@ test('retarget order (multiple shadow roots)', function() {
1404
1404
assert . equal ( errorCount , 1 ) ;
1405
1405
} ) ;
1406
1406
1407
+ test ( 'add during dispatch' , function ( ) {
1408
+ var div = document . createElement ( 'div' ) ;
1409
+ var fCount = 0 ;
1410
+ var gCount = 0 ;
1411
+ var hCount = 0 ;
1412
+
1413
+ function f ( ) {
1414
+ fCount ++ ;
1415
+ div . addEventListener ( 'click' , g ) ;
1416
+ }
1417
+
1418
+ function g ( ) {
1419
+ gCount ++ ;
1420
+ div . addEventListener ( 'click' , h ) ;
1421
+ }
1422
+
1423
+ function h ( ) {
1424
+ hCount ++ ;
1425
+ }
1426
+
1427
+ div . addEventListener ( 'click' , f ) ;
1428
+
1429
+ div . click ( ) ;
1430
+ assert . equal ( fCount , 1 ) ;
1431
+
1432
+ div . click ( ) ;
1433
+ assert . equal ( fCount , 2 ) ;
1434
+ assert . equal ( gCount , 1 ) ;
1435
+
1436
+ div . click ( ) ;
1437
+ assert . equal ( fCount , 3 ) ;
1438
+ assert . equal ( gCount , 2 ) ;
1439
+ assert . equal ( hCount , 1 ) ;
1440
+ } ) ;
1407
1441
} ) ;
You can’t perform that action at this time.
0 commit comments