UNPKG

@testing-library/user-event

Version:
44 lines (39 loc) 1.79 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('../setup/index.js'); require('../utils/click/isClickableInput.js'); var DataTransfer = require('../utils/dataTransfer/DataTransfer.js'); var Clipboard = require('../utils/dataTransfer/Clipboard.js'); require('../event/eventMap.js'); require('../event/behavior/click.js'); require('../event/behavior/cut.js'); require('../event/behavior/keydown.js'); require('../event/behavior/keypress.js'); require('../event/behavior/keyup.js'); require('../event/behavior/paste.js'); require('@testing-library/dom'); require('../utils/edit/maxLength.js'); require('../utils/edit/isEditable.js'); var getWindow = require('../utils/misc/getWindow.js'); require('../utils/keyDef/readNextDescriptor.js'); require('../utils/misc/level.js'); require('../options.js'); var config = require('../setup/config.js'); async function paste(clipboardData) { const doc = this[config.Config].document; var _activeElement; const target = (_activeElement = doc.activeElement) !== null && _activeElement !== void 0 ? _activeElement : /* istanbul ignore next */ doc.body; var ref; const dataTransfer = (ref = typeof clipboardData === 'string' ? getClipboardDataFromString(doc, clipboardData) : clipboardData) !== null && ref !== void 0 ? ref : await Clipboard.readDataTransferFromClipboard(doc).catch(()=>{ throw new Error('`userEvent.paste()` without `clipboardData` requires the `ClipboardAPI` to be available.'); }); this.dispatchUIEvent(target, 'paste', { clipboardData: dataTransfer }); } function getClipboardDataFromString(doc, text) { const dt = DataTransfer.createDataTransfer(getWindow.getWindow(doc)); dt.setData('text', text); return dt; } exports.paste = paste;