diff --git a/addon-test-support/@ember/test-helpers/dom/wait-for.js b/addon-test-support/@ember/test-helpers/dom/wait-for.js index 2520d5d9d..049e6d633 100644 --- a/addon-test-support/@ember/test-helpers/dom/wait-for.js +++ b/addon-test-support/@ember/test-helpers/dom/wait-for.js @@ -15,14 +15,14 @@ import { nextTickPromise } from '../-utils'; @param {number} [options.count=null] the number of elements that should match the provided selector (null means one or more) @return {Promise} resolves when the element(s) appear on the page */ -export default function waitFor( - selector, - { timeout = 1000, count = null, timeoutMessage = 'waitFor timed out' } = {} -) { +export default function waitFor(selector, { timeout = 1000, count = null, timeoutMessage } = {}) { return nextTickPromise().then(() => { if (!selector) { throw new Error('Must pass a selector to `waitFor`.'); } + if (!timeoutMessage) { + timeoutMessage = `waitFor timed out waiting for selector "${selector}"`; + } let callback; if (count !== null) { diff --git a/tests/unit/dom/wait-for-test.js b/tests/unit/dom/wait-for-test.js index 24bf76221..1f085433e 100644 --- a/tests/unit/dom/wait-for-test.js +++ b/tests/unit/dom/wait-for-test.js @@ -75,7 +75,7 @@ module('DOM Helper: waitFor', function(hooks) { } catch (error) { let end = Date.now(); assert.ok(end - start >= 100, 'timed out after correct time'); - assert.equal(error.message, 'waitFor timed out'); + assert.equal(error.message, 'waitFor timed out waiting for selector ".something"'); } });