@@ -440,7 +440,6 @@ describe('integration', function () {
440440 assert . equal ( breadcrumbs . length , 1 ) ;
441441
442442 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
443- // NOTE: attributes re-ordered. should this be expected?
444443 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
445444 assert . equal ( breadcrumbs [ 0 ] . data . type , 'click' ) ;
446445 }
@@ -481,7 +480,6 @@ describe('integration', function () {
481480 assert . equal ( breadcrumbs . length , 1 ) ;
482481
483482 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
484- // NOTE: attributes re-ordered. should this be expected?
485483 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
486484 assert . equal ( breadcrumbs [ 0 ] . data . type , 'click' ) ;
487485 }
@@ -529,7 +527,6 @@ describe('integration', function () {
529527 assert . equal ( breadcrumbs . length , 1 ) ;
530528
531529 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
532- // NOTE: attributes re-ordered. should this be expected?
533530 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > div.c > div.b > div.a' ) ;
534531 assert . equal ( breadcrumbs [ 0 ] . data . type , 'click' ) ;
535532 }
@@ -541,39 +538,17 @@ describe('integration', function () {
541538
542539 iframeExecute ( iframe , done ,
543540 function ( ) {
544- // keypress events are debounced 1000ms - wait until
545- // the debounce finishes
546- setTimeout ( done , 1001 ) ;
541+ setTimeout ( done ) ;
547542
548543 // some browsers trigger onpopstate for load / reset breadcrumb state
549544 Raven . _breadcrumbs = [ ] ;
550545
551546 // keypress <input/> twice
552- var keypress1 = document . createEvent ( 'MouseEvent' ) ;
553- keypress1 . initMouseEvent (
554- "keypress" ,
555- true /* bubble */ ,
556- true /* cancelable */ ,
557- window ,
558- null ,
559- 0 , 0 , 0 , 0 , /* coordinates */
560- false , false , false , false , /* modifier keys */
561- 0 /*left*/ ,
562- null
563- ) ;
547+ var keypress1 = document . createEvent ( 'KeyboardEvent' ) ;
548+ keypress1 . initKeyboardEvent ( "keypress" , true , true , window , "b" , 66 , 0 , "" , false ) ;
564549
565- var keypress2 = document . createEvent ( 'MouseEvent' ) ;
566- keypress2 . initMouseEvent (
567- "keypress" ,
568- true /* bubble */ ,
569- true /* cancelable */ ,
570- window ,
571- null ,
572- 0 , 0 , 0 , 0 , /* coordinates */
573- false , false , false , false , /* modifier keys */
574- 0 /*left*/ ,
575- null
576- ) ;
550+ var keypress2 = document . createEvent ( 'KeyboardEvent' ) ;
551+ keypress2 . initKeyboardEvent ( "keypress" , true , true , window , "a" , 65 , 0 , "" , false ) ;
577552
578553 var input = document . getElementsByTagName ( 'input' ) [ 0 ] ;
579554 input . dispatchEvent ( keypress1 ) ;
@@ -586,7 +561,6 @@ describe('integration', function () {
586561 assert . equal ( breadcrumbs . length , 1 ) ;
587562
588563 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
589- // NOTE: attributes re-ordered. should this be expected?
590564 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
591565 assert . equal ( breadcrumbs [ 0 ] . data . type , 'input' ) ;
592566 }
@@ -603,22 +577,12 @@ describe('integration', function () {
603577 // some browsers trigger onpopstate for load / reset breadcrumb state
604578 Raven . _breadcrumbs = [ ] ;
605579
606- // click <input/>
607- var evt = document . createEvent ( 'MouseEvent' ) ;
608- evt . initMouseEvent (
609- "keypress" ,
610- true /* bubble */ ,
611- true /* cancelable */ ,
612- window ,
613- null ,
614- 0 , 0 , 0 , 0 , /* coordinates */
615- false , false , false , false , /* modifier keys */
616- 0 /*left*/ ,
617- null
618- ) ;
580+ // keypress <input/>
581+ var keypress = document . createEvent ( 'KeyboardEvent' ) ;
582+ keypress . initKeyboardEvent ( "keypress" , true , true , window , "b" , 66 , 0 , "" , false ) ;
619583
620584 var input = document . getElementsByTagName ( 'input' ) [ 0 ] ;
621- input . dispatchEvent ( evt ) ;
585+ input . dispatchEvent ( keypress ) ;
622586
623587 foo ( ) ; // throw exception
624588 } ,
@@ -630,7 +594,6 @@ describe('integration', function () {
630594 assert . equal ( breadcrumbs . length , 2 ) ;
631595
632596 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
633- // NOTE: attributes re-ordered. should this be expected?
634597 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
635598 assert . equal ( breadcrumbs [ 0 ] . data . type , 'input' ) ;
636599 }
@@ -647,23 +610,13 @@ describe('integration', function () {
647610 // some browsers trigger onpopstate for load / reset breadcrumb state
648611 Raven . _breadcrumbs = [ ] ;
649612
650- // keypress <input/>
651- var keypressEvent = document . createEvent ( 'MouseEvent' ) ;
652- keypressEvent . initMouseEvent (
653- "keypress" ,
654- true /* bubble */ ,
655- true /* cancelable */ ,
656- window ,
657- null ,
658- 0 , 0 , 0 , 0 , /* coordinates */
659- false , false , false , false , /* modifier keys */
660- 0 /*left*/ ,
661- null
662- ) ;
613+ // 1st keypress <input/>
614+ var keypress1 = document . createEvent ( 'KeyboardEvent' ) ;
615+ keypress1 . initKeyboardEvent ( "keypress" , true , true , window , "b" , 66 , 0 , "" , false ) ;
663616
664617 // click <input/>
665- var clickEvent = document . createEvent ( 'MouseEvent' ) ;
666- clickEvent . initMouseEvent (
618+ var click = document . createEvent ( 'MouseEvent' ) ;
619+ click . initMouseEvent (
667620 "click" ,
668621 true /* bubble */ ,
669622 true /* cancelable */ ,
@@ -675,26 +628,34 @@ describe('integration', function () {
675628 null
676629 ) ;
677630
631+ // 2nd keypress
632+ var keypress2 = document . createEvent ( 'KeyboardEvent' ) ;
633+ keypress2 . initKeyboardEvent ( "keypress" , true , true , window , "a" , 65 , 0 , "" , false ) ;
634+
678635 var input = document . getElementsByTagName ( 'input' ) [ 0 ] ;
679- input . dispatchEvent ( keypressEvent ) ;
680- input . dispatchEvent ( clickEvent ) ;
636+ input . dispatchEvent ( keypress1 ) ;
637+ input . dispatchEvent ( click ) ;
638+ input . dispatchEvent ( keypress2 ) ;
681639 } ,
682640 function ( ) {
683641 var Raven = iframe . contentWindow . Raven ,
684642 breadcrumbs = Raven . _breadcrumbs ;
685643
686644 // 2x `ui_event`
687- assert . equal ( breadcrumbs . length , 2 ) ;
645+ assert . equal ( breadcrumbs . length , 3 ) ;
688646
689647 assert . equal ( breadcrumbs [ 0 ] . type , 'ui_event' ) ;
690- // NOTE: attributes re-ordered. should this be expected?
691648 assert . equal ( breadcrumbs [ 0 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
692649 assert . equal ( breadcrumbs [ 0 ] . data . type , 'input' ) ;
693650
694651 assert . equal ( breadcrumbs [ 1 ] . type , 'ui_event' ) ;
695- // NOTE: attributes re-ordered. should this be expected?
696652 assert . equal ( breadcrumbs [ 1 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
697653 assert . equal ( breadcrumbs [ 1 ] . data . type , 'click' ) ;
654+
655+ assert . equal ( breadcrumbs [ 2 ] . type , 'ui_event' ) ;
656+ assert . equal ( breadcrumbs [ 2 ] . data . target , 'body > form#foo-form > input[name="foo"][placeholder="lol"]' ) ;
657+ assert . equal ( breadcrumbs [ 2 ] . data . type , 'input' ) ;
658+
698659 }
699660 ) ;
700661 } ) ;
0 commit comments