diff --git a/API.md b/API.md index d1c07774a..44a3a9b53 100644 --- a/API.md +++ b/API.md @@ -235,15 +235,14 @@ Triggers an event on the specified target. **Examples** Using triggerEvent to Upload a file -When using triggerEvent to upload a file the `eventType` must be `change` and you must pass an -array of [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) as `options`. +When using triggerEvent to upload a file the `eventType` must be `change` and you must pass the `options` param as an object with a key `files` containing an array of [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob). ```javascript triggerEvent( 'input.fileUpload', 'change', - [new Blob(['Ember Rules!'])] + { files: [new Blob(['Ember Rules!'])] } ); ``` diff --git a/addon-test-support/@ember/test-helpers/dom/fire-event.js b/addon-test-support/@ember/test-helpers/dom/fire-event.js index dab885712..41c865bbf 100644 --- a/addon-test-support/@ember/test-helpers/dom/fire-event.js +++ b/addon-test-support/@ember/test-helpers/dom/fire-event.js @@ -1,4 +1,5 @@ import { assign } from '@ember/polyfills'; +import { deprecate } from '@ember/application/deprecations'; // eslint-disable-next-line require-jsdoc const MOUSE_EVENT_CONSTRUCTOR = (() => { @@ -194,8 +195,23 @@ function buildKeyboardEvent(type, options = {}) { } // eslint-disable-next-line require-jsdoc -function buildFileEvent(type, element, files = []) { +function buildFileEvent(type, element, options = {}) { let event = buildBasicEvent(type); + let files; + if (Array.isArray(options)) { + deprecate( + 'Passing the `options` param as an array to `triggerEvent` for file inputs is deprecated. Please pass an object with a key `files` containing the array instead.', + false, + { + id: 'ember-test-helpers.trigger-event.options-blob-array', + until: '0.8.0', + } + ); + + files = options; + } else { + files = options.files; + } if (files.length > 0) { Object.defineProperty(files, 'item', { diff --git a/addon-test-support/@ember/test-helpers/dom/trigger-event.js b/addon-test-support/@ember/test-helpers/dom/trigger-event.js index d7394336f..4944d6be5 100644 --- a/addon-test-support/@ember/test-helpers/dom/trigger-event.js +++ b/addon-test-support/@ember/test-helpers/dom/trigger-event.js @@ -14,8 +14,9 @@ import { nextTickPromise } from '../-utils'; * * @example *