Skip to content

Commit d300515

Browse files
committed
Update typeIn tests
1 parent 525bc57 commit d300515

1 file changed

Lines changed: 39 additions & 6 deletions

File tree

test-app/tests/unit/dom/type-in-test.js

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { module, test } from 'qunit';
22
import { typeIn, setupContext, teardownContext } from '@ember/test-helpers';
33
import { buildInstrumentedElement, insertElement } from '../../helpers/events';
4-
import { isFirefox } from '../../helpers/browser-detect';
4+
import { isFirefox, isChrome } from '../../helpers/browser-detect';
55
import { debounce } from '@ember/runloop';
66
import { Promise } from 'rsvp';
77
import hasEmberVersion from '@ember/test-helpers/has-ember-version';
@@ -57,6 +57,30 @@ if (isFirefox) {
5757
];
5858
}
5959

60+
if (isChrome) {
61+
expectedEvents = [
62+
'focus',
63+
'focusin',
64+
'selectionchange',
65+
'keydown',
66+
'keypress',
67+
'input',
68+
'keyup',
69+
'selectionchange',
70+
'keydown',
71+
'keypress',
72+
'input',
73+
'keyup',
74+
'selectionchange',
75+
'keydown',
76+
'keypress',
77+
'input',
78+
'keyup',
79+
'change',
80+
'selectionchange',
81+
];
82+
}
83+
6084
module('DOM Helper: typeIn', function (hooks) {
6185
if (!hasEmberVersion(2, 4)) {
6286
return;
@@ -333,8 +357,13 @@ module('DOM Helper: typeIn', function (hooks) {
333357
await assert.rejects(
334358
typeIn(element, tooLongString).finally(() => {
335359
// should throw before the second input event (or second keyup for IE)
336-
const expectedNumberOfSteps = isFirefox ? 9 : 8;
337-
assert.verifySteps(expectedEvents.slice(0, expectedNumberOfSteps));
360+
if (isFirefox) {
361+
assert.verifySteps(expectedEvents.slice(0, 9));
362+
} else if (isChrome) {
363+
assert.verifySteps(expectedEvents.slice(0, 10));
364+
} else {
365+
assert.verifySteps(expectedEvents.slice(0, 8));
366+
}
338367
}),
339368
new Error("Can not `typeIn` with text: 'fo' that exceeds maxlength: '1'.")
340369
);
@@ -385,9 +414,13 @@ module('DOM Helper: typeIn', function (hooks) {
385414

386415
await assert.rejects(
387416
typeIn(element, tooLongString).finally(() => {
388-
// should throw before the second input event (or second keyup for IE)
389-
const expectedNumberOfSteps = isFirefox ? 9 : 8;
390-
assert.verifySteps(expectedEvents.slice(0, expectedNumberOfSteps));
417+
if (isFirefox) {
418+
assert.verifySteps(expectedEvents.slice(0, 9));
419+
} else if (isChrome) {
420+
assert.verifySteps(expectedEvents.slice(0, 10));
421+
} else {
422+
assert.verifySteps(expectedEvents.slice(0, 8));
423+
}
391424
}),
392425
new Error("Can not `typeIn` with text: 'fo' that exceeds maxlength: '1'.")
393426
);

0 commit comments

Comments
 (0)