Skip to content

Commit 7058d47

Browse files
committed
Use proper keyboard events in integration tests
1 parent 1205a80 commit 7058d47

File tree

1 file changed

+27
-66
lines changed

1 file changed

+27
-66
lines changed

test/integration/test.js

Lines changed: 27 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)