wix-style-react
Version:
1,086 lines (977 loc) • 3.04 MB
JavaScript
(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./testkit/puppeteer.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) {
arr2[i] = arr[i];
}
return arr2;
}
module.exports = _arrayLikeToArray;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
module.exports = _arrayWithHoles;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return arrayLikeToArray(arr);
}
module.exports = _arrayWithoutHoles;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js":
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
module.exports = _asyncToGenerator;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
module.exports = _createClass;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/defineProperty.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/iterableToArray.js":
/*!****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
module.exports = _iterableToArray;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
/*!*********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _iterableToArrayLimit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
var _d = false;
var _s, _e;
try {
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
module.exports = _iterableToArrayLimit;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/nonIterableRest.js":
/*!****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
module.exports = _nonIterableRest;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/nonIterableSpread.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
module.exports = _nonIterableSpread;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js":
/*!**************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js");
var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/nonIterableRest.js");
function _slicedToArray(arr, i) {
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
}
module.exports = _slicedToArray;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/toConsumableArray.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/iterableToArray.js");
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/nonIterableSpread.js");
function _toConsumableArray(arr) {
return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
}
module.exports = _toConsumableArray;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
/*!***************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
}
module.exports = _unsupportedIterableToArray;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ "./node_modules/@babel/runtime/regenerator/index.js":
/*!**********************************************************!*\
!*** ./node_modules/@babel/runtime/regenerator/index.js ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js");
/***/ }),
/***/ "./node_modules/@unidriver/core/dist/index.js":
/*!****************************************************!*\
!*** ./node_modules/@unidriver/core/dist/index.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isMultipleElementsWithLocatorError = exports.isNoElementWithLocatorError = exports.contextToWaitError = exports.contextToSelectorString = exports.rootDriver = exports.MultipleElementsWithLocatorError = exports.NoElementWithLocatorError = exports.ErrorTypes = void 0;
__exportStar(__webpack_require__(/*! ./utils */ "./node_modules/@unidriver/core/dist/utils.js"), exports);
__exportStar(__webpack_require__(/*! ./key-types */ "./node_modules/@unidriver/core/dist/key-types.js"), exports);
var ErrorTypes;
(function (ErrorTypes) {
ErrorTypes["NO_ELEMENTS_WITH_SELECTOR"] = "no-elements-with-selector";
ErrorTypes["MULTIPLE_ELEMENTS_WITH_SELECTOR"] = "multiple-elements-with-selector";
})(ErrorTypes = exports.ErrorTypes || (exports.ErrorTypes = {}));
class NoElementWithLocatorError extends Error {
constructor(locator) {
super(`Cannot find element with locator: ${locator}`);
this.type = ErrorTypes.NO_ELEMENTS_WITH_SELECTOR;
}
}
exports.NoElementWithLocatorError = NoElementWithLocatorError;
class MultipleElementsWithLocatorError extends Error {
constructor(count, locator) {
super(`Found ${count} elements with locator [${locator}]. Only 1 is expected. This is either a bug or not-specific-enough locator`);
this.type = ErrorTypes.MULTIPLE_ELEMENTS_WITH_SELECTOR;
}
}
exports.MultipleElementsWithLocatorError = MultipleElementsWithLocatorError;
exports.rootDriver = {
selector: ''
};
exports.contextToSelectorString = (context) => {
const maybeIndexDescription = typeof context.idx === "number" && context.idx >= 0
? ` at index #${context.idx}`
: "";
const maybeParentDescription = context.parent
? `${exports.contextToSelectorString(context.parent)} => `
: "";
return `${maybeParentDescription}${context.selector}${maybeIndexDescription}`;
};
exports.contextToWaitError = (context) => {
return `Timeout waiting for element: ${exports.contextToSelectorString(context)}`;
};
exports.isNoElementWithLocatorError = (e) => {
const type = e.type || '';
return type === ErrorTypes.NO_ELEMENTS_WITH_SELECTOR;
};
exports.isMultipleElementsWithLocatorError = (e) => {
const type = e.type || '';
return type === ErrorTypes.MULTIPLE_ELEMENTS_WITH_SELECTOR;
};
//# sourceMappingURL=index.js.map
/***/ }),
/***/ "./node_modules/@unidriver/core/dist/key-types.js":
/*!********************************************************!*\
!*** ./node_modules/@unidriver/core/dist/key-types.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllNonTextKeyTypes = exports.getDefinitionForKeyType = void 0;
const puppeteer_us_keyboard_layout_1 = __webpack_require__(/*! ./puppeteer-us-keyboard-layout */ "./node_modules/@unidriver/core/dist/puppeteer-us-keyboard-layout.js");
const nonTextKeyTypes = [
'Backspace', 'Tab', 'Enter', 'Pause', 'Escape', 'PageUp', 'PageDown', 'End', 'Home',
'ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown', 'Insert', 'Delete', 'Semicolon', 'Space',
// 'Numpad0', 'Numpad1', 'Numpad2', 'Numpad3', 'Numpad4', 'Numpad5', 'Numpad6', 'Numpad7', 'Numpad8', 'Numpad9',
'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'Shift', 'Control', 'Alt', 'Meta'
];
const normalizeEventData = ({ key, keyCode }) => ({ key, keyCode });
exports.getDefinitionForKeyType = (keyType) => normalizeEventData(puppeteer_us_keyboard_layout_1.keyDefinitions[keyType]);
exports.getAllNonTextKeyTypes = () => Object.keys(puppeteer_us_keyboard_layout_1.keyDefinitions).filter(keyType => nonTextKeyTypes.includes(keyType));
//# sourceMappingURL=key-types.js.map
/***/ }),
/***/ "./node_modules/@unidriver/core/dist/puppeteer-us-keyboard-layout.js":
/*!***************************************************************************!*\
!*** ./node_modules/@unidriver/core/dist/puppeteer-us-keyboard-layout.js ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.keyDefinitions = void 0;
// taken from https://github.com/GoogleChrome/puppeteer/blame/master/lib/USKeyboardLayout.js
exports.keyDefinitions = {
'0': { 'keyCode': 48, 'key': '0', 'code': 'Digit0' },
'1': { 'keyCode': 49, 'key': '1', 'code': 'Digit1' },
'2': { 'keyCode': 50, 'key': '2', 'code': 'Digit2' },
'3': { 'keyCode': 51, 'key': '3', 'code': 'Digit3' },
'4': { 'keyCode': 52, 'key': '4', 'code': 'Digit4' },
'5': { 'keyCode': 53, 'key': '5', 'code': 'Digit5' },
'6': { 'keyCode': 54, 'key': '6', 'code': 'Digit6' },
'7': { 'keyCode': 55, 'key': '7', 'code': 'Digit7' },
'8': { 'keyCode': 56, 'key': '8', 'code': 'Digit8' },
'9': { 'keyCode': 57, 'key': '9', 'code': 'Digit9' },
'Power': { 'key': 'Power', 'code': 'Power' },
'Eject': { 'key': 'Eject', 'code': 'Eject' },
'Abort': { 'keyCode': 3, 'code': 'Abort', 'key': 'Cancel' },
'Help': { 'keyCode': 6, 'code': 'Help', 'key': 'Help' },
'Backspace': { 'keyCode': 8, 'code': 'Backspace', 'key': 'Backspace' },
'Tab': { 'keyCode': 9, 'code': 'Tab', 'key': 'Tab' },
'Numpad5': { 'keyCode': 12, 'shiftKeyCode': 101, 'key': 'Clear', 'code': 'Numpad5', 'shiftKey': '5', 'location': 3 },
'NumpadEnter': { 'keyCode': 13, 'code': 'NumpadEnter', 'key': 'Enter', 'text': '\r', 'location': 3 },
'Enter': { 'keyCode': 13, 'code': 'Enter', 'key': 'Enter', 'text': '\r' },
'\r': { 'keyCode': 13, 'code': 'Enter', 'key': 'Enter', 'text': '\r' },
'\n': { 'keyCode': 13, 'code': 'Enter', 'key': 'Enter', 'text': '\r' },
'ShiftLeft': { 'keyCode': 16, 'code': 'ShiftLeft', 'key': 'Shift', 'location': 1 },
'ShiftRight': { 'keyCode': 16, 'code': 'ShiftRight', 'key': 'Shift', 'location': 2 },
'ControlLeft': { 'keyCode': 17, 'code': 'ControlLeft', 'key': 'Control', 'location': 1 },
'ControlRight': { 'keyCode': 17, 'code': 'ControlRight', 'key': 'Control', 'location': 2 },
'AltLeft': { 'keyCode': 18, 'code': 'AltLeft', 'key': 'Alt', 'location': 1 },
'AltRight': { 'keyCode': 18, 'code': 'AltRight', 'key': 'Alt', 'location': 2 },
'Pause': { 'keyCode': 19, 'code': 'Pause', 'key': 'Pause' },
'CapsLock': { 'keyCode': 20, 'code': 'CapsLock', 'key': 'CapsLock' },
'Escape': { 'keyCode': 27, 'code': 'Escape', 'key': 'Escape' },
'Convert': { 'keyCode': 28, 'code': 'Convert', 'key': 'Convert' },
'NonConvert': { 'keyCode': 29, 'code': 'NonConvert', 'key': 'NonConvert' },
'Space': { 'keyCode': 32, 'code': 'Space', 'key': ' ' },
'Numpad9': { 'keyCode': 33, 'shiftKeyCode': 105, 'key': 'PageUp', 'code': 'Numpad9', 'shiftKey': '9', 'location': 3 },
'PageUp': { 'keyCode': 33, 'code': 'PageUp', 'key': 'PageUp' },
'Numpad3': { 'keyCode': 34, 'shiftKeyCode': 99, 'key': 'PageDown', 'code': 'Numpad3', 'shiftKey': '3', 'location': 3 },
'PageDown': { 'keyCode': 34, 'code': 'PageDown', 'key': 'PageDown' },
'End': { 'keyCode': 35, 'code': 'End', 'key': 'End' },
'Numpad1': { 'keyCode': 35, 'shiftKeyCode': 97, 'key': 'End', 'code': 'Numpad1', 'shiftKey': '1', 'location': 3 },
'Home': { 'keyCode': 36, 'code': 'Home', 'key': 'Home' },
'Numpad7': { 'keyCode': 36, 'shiftKeyCode': 103, 'key': 'Home', 'code': 'Numpad7', 'shiftKey': '7', 'location': 3 },
'ArrowLeft': { 'keyCode': 37, 'code': 'ArrowLeft', 'key': 'ArrowLeft' },
'Numpad4': { 'keyCode': 37, 'shiftKeyCode': 100, 'key': 'ArrowLeft', 'code': 'Numpad4', 'shiftKey': '4', 'location': 3 },
'Numpad8': { 'keyCode': 38, 'shiftKeyCode': 104, 'key': 'ArrowUp', 'code': 'Numpad8', 'shiftKey': '8', 'location': 3 },
'ArrowUp': { 'keyCode': 38, 'code': 'ArrowUp', 'key': 'ArrowUp' },
'ArrowRight': { 'keyCode': 39, 'code': 'ArrowRight', 'key': 'ArrowRight' },
'Numpad6': { 'keyCode': 39, 'shiftKeyCode': 102, 'key': 'ArrowRight', 'code': 'Numpad6', 'shiftKey': '6', 'location': 3 },
'Numpad2': { 'keyCode': 40, 'shiftKeyCode': 98, 'key': 'ArrowDown', 'code': 'Numpad2', 'shiftKey': '2', 'location': 3 },
'ArrowDown': { 'keyCode': 40, 'code': 'ArrowDown', 'key': 'ArrowDown' },
'Select': { 'keyCode': 41, 'code': 'Select', 'key': 'Select' },
'Open': { 'keyCode': 43, 'code': 'Open', 'key': 'Execute' },
'PrintScreen': { 'keyCode': 44, 'code': 'PrintScreen', 'key': 'PrintScreen' },
'Insert': { 'keyCode': 45, 'code': 'Insert', 'key': 'Insert' },
'Numpad0': { 'keyCode': 45, 'shiftKeyCode': 96, 'key': 'Insert', 'code': 'Numpad0', 'shiftKey': '0', 'location': 3 },
'Delete': { 'keyCode': 46, 'code': 'Delete', 'key': 'Delete' },
'NumpadDecimal': { 'keyCode': 46, 'shiftKeyCode': 110, 'code': 'NumpadDecimal', 'key': '\u0000', 'shiftKey': '.', 'location': 3 },
'Digit0': { 'keyCode': 48, 'code': 'Digit0', 'shiftKey': ')', 'key': '0' },
'Digit1': { 'keyCode': 49, 'code': 'Digit1', 'shiftKey': '!', 'key': '1' },
'Digit2': { 'keyCode': 50, 'code': 'Digit2', 'shiftKey': '@', 'key': '2' },
'Digit3': { 'keyCode': 51, 'code': 'Digit3', 'shiftKey': '#', 'key': '3' },
'Digit4': { 'keyCode': 52, 'code': 'Digit4', 'shiftKey': '$', 'key': '4' },
'Digit5': { 'keyCode': 53, 'code': 'Digit5', 'shiftKey': '%', 'key': '5' },
'Digit6': { 'keyCode': 54, 'code': 'Digit6', 'shiftKey': '^', 'key': '6' },
'Digit7': { 'keyCode': 55, 'code': 'Digit7', 'shiftKey': '&', 'key': '7' },
'Digit8': { 'keyCode': 56, 'code': 'Digit8', 'shiftKey': '*', 'key': '8' },
'Digit9': { 'keyCode': 57, 'code': 'Digit9', 'shiftKey': '\(', 'key': '9' },
'KeyA': { 'keyCode': 65, 'code': 'KeyA', 'shiftKey': 'A', 'key': 'a' },
'KeyB': { 'keyCode': 66, 'code': 'KeyB', 'shiftKey': 'B', 'key': 'b' },
'KeyC': { 'keyCode': 67, 'code': 'KeyC', 'shiftKey': 'C', 'key': 'c' },
'KeyD': { 'keyCode': 68, 'code': 'KeyD', 'shiftKey': 'D', 'key': 'd' },
'KeyE': { 'keyCode': 69, 'code': 'KeyE', 'shiftKey': 'E', 'key': 'e' },
'KeyF': { 'keyCode': 70, 'code': 'KeyF', 'shiftKey': 'F', 'key': 'f' },
'KeyG': { 'keyCode': 71, 'code': 'KeyG', 'shiftKey': 'G', 'key': 'g' },
'KeyH': { 'keyCode': 72, 'code': 'KeyH', 'shiftKey': 'H', 'key': 'h' },
'KeyI': { 'keyCode': 73, 'code': 'KeyI', 'shiftKey': 'I', 'key': 'i' },
'KeyJ': { 'keyCode': 74, 'code': 'KeyJ', 'shiftKey': 'J', 'key': 'j' },
'KeyK': { 'keyCode': 75, 'code': 'KeyK', 'shiftKey': 'K', 'key': 'k' },
'KeyL': { 'keyCode': 76, 'code': 'KeyL', 'shiftKey': 'L', 'key': 'l' },
'KeyM': { 'keyCode': 77, 'code': 'KeyM', 'shiftKey': 'M', 'key': 'm' },
'KeyN': { 'keyCode': 78, 'code': 'KeyN', 'shiftKey': 'N', 'key': 'n' },
'KeyO': { 'keyCode': 79, 'code': 'KeyO', 'shiftKey': 'O', 'key': 'o' },
'KeyP': { 'keyCode': 80, 'code': 'KeyP', 'shiftKey': 'P', 'key': 'p' },
'KeyQ': { 'keyCode': 81, 'code': 'KeyQ', 'shiftKey': 'Q', 'key': 'q' },
'KeyR': { 'keyCode': 82, 'code': 'KeyR', 'shiftKey': 'R', 'key': 'r' },
'KeyS': { 'keyCode': 83, 'code': 'KeyS', 'shiftKey': 'S', 'key': 's' },
'KeyT': { 'keyCode': 84, 'code': 'KeyT', 'shiftKey': 'T', 'key': 't' },
'KeyU': { 'keyCode': 85, 'code': 'KeyU', 'shiftKey': 'U', 'key': 'u' },
'KeyV': { 'keyCode': 86, 'code': 'KeyV', 'shiftKey': 'V', 'key': 'v' },
'KeyW': { 'keyCode': 87, 'code': 'KeyW', 'shiftKey': 'W', 'key': 'w' },
'KeyX': { 'keyCode': 88, 'code': 'KeyX', 'shiftKey': 'X', 'key': 'x' },
'KeyY': { 'keyCode': 89, 'code': 'KeyY', 'shiftKey': 'Y', 'key': 'y' },
'KeyZ': { 'keyCode': 90, 'code': 'KeyZ', 'shiftKey': 'Z', 'key': 'z' },
'MetaLeft': { 'keyCode': 91, 'code': 'MetaLeft', 'key': 'Meta', 'location': 1 },
'MetaRight': { 'keyCode': 92, 'code': 'MetaRight', 'key': 'Meta', 'location': 2 },
'ContextMenu': { 'keyCode': 93, 'code': 'ContextMenu', 'key': 'ContextMenu' },
'NumpadMultiply': { 'keyCode': 106, 'code': 'NumpadMultiply', 'key': '*', 'location': 3 },
'NumpadAdd': { 'keyCode': 107, 'code': 'NumpadAdd', 'key': '+', 'location': 3 },
'NumpadSubtract': { 'keyCode': 109, 'code': 'NumpadSubtract', 'key': '-', 'location': 3 },
'NumpadDivide': { 'keyCode': 111, 'code': 'NumpadDivide', 'key': '/', 'location': 3 },
'F1': { 'keyCode': 112, 'code': 'F1', 'key': 'F1' },
'F2': { 'keyCode': 113, 'code': 'F2', 'key': 'F2' },
'F3': { 'keyCode': 114, 'code': 'F3', 'key': 'F3' },
'F4': { 'keyCode': 115, 'code': 'F4', 'key': 'F4' },
'F5': { 'keyCode': 116, 'code': 'F5', 'key': 'F5' },
'F6': { 'keyCode': 117, 'code': 'F6', 'key': 'F6' },
'F7': { 'keyCode': 118, 'code': 'F7', 'key': 'F7' },
'F8': { 'keyCode': 119, 'code': 'F8', 'key': 'F8' },
'F9': { 'keyCode': 120, 'code': 'F9', 'key': 'F9' },
'F10': { 'keyCode': 121, 'code': 'F10', 'key': 'F10' },
'F11': { 'keyCode': 122, 'code': 'F11', 'key': 'F11' },
'F12': { 'keyCode': 123, 'code': 'F12', 'key': 'F12' },
'F13': { 'keyCode': 124, 'code': 'F13', 'key': 'F13' },
'F14': { 'keyCode': 125, 'code': 'F14', 'key': 'F14' },
'F15': { 'keyCode': 126, 'code': 'F15', 'key': 'F15' },
'F16': { 'keyCode': 127, 'code': 'F16', 'key': 'F16' },
'F17': { 'keyCode': 128, 'code': 'F17', 'key': 'F17' },
'F18': { 'keyCode': 129, 'code': 'F18', 'key': 'F18' },
'F19': { 'keyCode': 130, 'code': 'F19', 'key': 'F19' },
'F20': { 'keyCode': 131, 'code': 'F20', 'key': 'F20' },
'F21': { 'keyCode': 132, 'code': 'F21', 'key': 'F21' },
'F22': { 'keyCode': 133, 'code': 'F22', 'key': 'F22' },
'F23': { 'keyCode': 134, 'code': 'F23', 'key': 'F23' },
'F24': { 'keyCode': 135, 'code': 'F24', 'key': 'F24' },
'NumLock': { 'keyCode': 144, 'code': 'NumLock', 'key': 'NumLock' },
'ScrollLock': { 'keyCode': 145, 'code': 'ScrollLock', 'key': 'ScrollLock' },
'AudioVolumeMute': { 'keyCode': 173, 'code': 'AudioVolumeMute', 'key': 'AudioVolumeMute' },
'AudioVolumeDown': { 'keyCode': 174, 'code': 'AudioVolumeDown', 'key': 'AudioVolumeDown' },
'AudioVolumeUp': { 'keyCode': 175, 'code': 'AudioVolumeUp', 'key': 'AudioVolumeUp' },
'MediaTrackNext': { 'keyCode': 176, 'code': 'MediaTrackNext', 'key': 'MediaTrackNext' },
'MediaTrackPrevious': { 'keyCode': 177, 'code': 'MediaTrackPrevious', 'key': 'MediaTrackPrevious' },
'MediaStop': { 'keyCode': 178, 'code': 'MediaStop', 'key': 'MediaStop' },
'MediaPlayPause': { 'keyCode': 179, 'code': 'MediaPlayPause', 'key': 'MediaPlayPause' },
'Semicolon': { 'keyCode': 186, 'code': 'Semicolon', 'shiftKey': ':', 'key': ';' },
'Equal': { 'keyCode': 187, 'code': 'Equal', 'shiftKey': '+', 'key': '=' },
'NumpadEqual': { 'keyCode': 187, 'code': 'NumpadEqual', 'key': '=', 'location': 3 },
'Comma': { 'keyCode': 188, 'code': 'Comma', 'shiftKey': '\<', 'key': ',' },
'Minus': { 'keyCode': 189, 'code': 'Minus', 'shiftKey': '_', 'key': '-' },
'Period': { 'keyCode': 190, 'code': 'Period', 'shiftKey': '>', 'key': '.' },
'Slash': { 'keyCode': 191, 'code': 'Slash', 'shiftKey': '?', 'key': '/' },
'Backquote': { 'keyCode': 192, 'code': 'Backquote', 'shiftKey': '~', 'key': '`' },
'BracketLeft': { 'keyCode': 219, 'code': 'BracketLeft', 'shiftKey': '{', 'key': '[' },
'Backslash': { 'keyCode': 220, 'code': 'Backslash', 'shiftKey': '|', 'key': '\\' },
'BracketRight': { 'keyCode': 221, 'code': 'BracketRight', 'shiftKey': '}', 'key': ']' },
'Quote': { 'keyCode': 222, 'code': 'Quote', 'shiftKey': '"', 'key': '\'' },
'AltGraph': { 'keyCode': 225, 'code': 'AltGraph', 'key': 'AltGraph' },
'Props': { 'keyCode': 247, 'code': 'Props', 'key': 'CrSel' },
'Cancel': { 'keyCode': 3, 'key': 'Cancel', 'code': 'Abort' },
'Clear': { 'keyCode': 12, 'key': 'Clear', 'code': 'Numpad5', 'location': 3 },
'Shift': { 'keyCode': 16, 'key': 'Shift', 'code': 'ShiftLeft', 'location': 1 },
'Control': { 'keyCode': 17, 'key': 'Control', 'code': 'ControlLeft', 'location': 1 },
'Alt': { 'keyCode': 18, 'key': 'Alt', 'code': 'AltLeft', 'location': 1 },
'Accept': { 'keyCode': 30, 'key': 'Accept' },
'ModeChange': { 'keyCode': 31, 'key': 'ModeChange' },
' ': { 'keyCode': 32, 'key': ' ', 'code': 'Space' },
'Print': { 'keyCode': 42, 'key': 'Print' },
'Execute': { 'keyCode': 43, 'key': 'Execute', 'code': 'Open' },
'\u0000': { 'keyCode': 46, 'key': '\u0000', 'code': 'NumpadDecimal', 'location': 3 },
'a': { 'keyCode': 65, 'key': 'a', 'code': 'KeyA' },
'b': { 'keyCode': 66, 'key': 'b', 'code': 'KeyB' },
'c': { 'keyCode': 67, 'key': 'c', 'code': 'KeyC' },
'd': { 'keyCode': 68, 'key': 'd', 'code': 'KeyD' },
'e': { 'keyCode': 69, 'key': 'e', 'code': 'KeyE' },
'f': { 'keyCode': 70, 'key': 'f', 'code': 'KeyF' },
'g': { 'keyCode': 71, 'key': 'g', 'code': 'KeyG' },
'h': { 'keyCode': 72, 'key': 'h', 'code': 'KeyH' },
'i': { 'keyCode': 73, 'key': 'i', 'code': 'KeyI' },
'j': { 'keyCode': 74, 'key': 'j', 'code': 'KeyJ' },
'k': { 'keyCode': 75, 'key': 'k', 'code': 'KeyK' },
'l': { 'keyCode': 76, 'key': 'l', 'code': 'KeyL' },
'm': { 'keyCode': 77, 'key': 'm', 'code': 'KeyM' },
'n': { 'keyCode': 78, 'key': 'n', 'code': 'KeyN' },
'o': { 'keyCode': 79, 'key': 'o', 'code': 'KeyO' },
'p': { 'keyCode': 80, 'key': 'p', 'code': 'KeyP' },
'q': { 'keyCode': 81, 'key': 'q', 'code': 'KeyQ' },
'r': { 'keyCode': 82, 'key': 'r', 'code': 'KeyR' },
's': { 'keyCode': 83, 'key': 's', 'code': 'KeyS' },
't': { 'keyCode': 84, 'key': 't', 'code': 'KeyT' },
'u': { 'keyCode': 85, 'key': 'u', 'code': 'KeyU' },
'v': { 'keyCode': 86, 'key': 'v', 'code': 'KeyV' },
'w': { 'keyCode': 87, 'key': 'w', 'code': 'KeyW' },
'x': { 'keyCode': 88, 'key': 'x', 'code': 'KeyX' },
'y': { 'keyCode': 89, 'key': 'y', 'code': 'KeyY' },
'z': { 'keyCode': 90, 'key': 'z', 'code': 'KeyZ' },
'Meta': { 'keyCode': 91, 'key': 'Meta', 'code': 'MetaLeft', 'location': 1 },
'*': { 'keyCode': 106, 'key': '*', 'code': 'NumpadMultiply', 'location': 3 },
'+': { 'keyCode': 107, 'key': '+', 'code': 'NumpadAdd', 'location': 3 },
'-': { 'keyCode': 109, 'key': '-', 'code': 'NumpadSubtract', 'location': 3 },
'/': { 'keyCode': 111, 'key': '/', 'code': 'NumpadDivide', 'location': 3 },
';': { 'keyCode': 186, 'key': ';', 'code': 'Semicolon' },
'=': { 'keyCode': 187, 'key': '=', 'code': 'Equal' },
',': { 'keyCode': 188, 'key': ',', 'code': 'Comma' },
'.': { 'keyCode': 190, 'key': '.', 'code': 'Period' },
'`': { 'keyCode': 192, 'key': '`', 'code': 'Backquote' },
'[': { 'keyCode': 219, 'key': '[', 'code': 'BracketLeft' },
'\\': { 'keyCode': 220, 'key': '\\', 'code': 'Backslash' },
']': { 'keyCode': 221, 'key': ']', 'code': 'BracketRight' },
'\'': { 'keyCode': 222, 'key': '\'', 'code': 'Quote' },
'Attn': { 'keyCode': 246, 'key': 'Attn' },
'CrSel': { 'keyCode': 247, 'key': 'CrSel', 'code': 'Props' },
'ExSel': { 'keyCode': 248, 'key': 'ExSel' },
'EraseEof': { 'keyCode': 249, 'key': 'EraseEof' },
'Play': { 'keyCode': 250, 'key': 'Play' },
'ZoomOut': { 'keyCode': 251, 'key': 'ZoomOut' },
')': { 'keyCode': 48, 'key': ')', 'code': 'Digit0' },
'!': { 'keyCode': 49, 'key': '!', 'code': 'Digit1' },
'@': { 'keyCode': 50, 'key': '@', 'code': 'Digit2' },
'#': { 'keyCode': 51, 'key': '#', 'code': 'Digit3' },
'$': { 'keyCode': 52, 'key': '$', 'code': 'Digit4' },
'%': { 'keyCode': 53, 'key': '%', 'code': 'Digit5' },
'^': { 'keyCode': 54, 'key': '^', 'code': 'Digit6' },
'&': { 'keyCode': 55, 'key': '&', 'code': 'Digit7' },
'(': { 'keyCode': 57, 'key': '\(', 'code': 'Digit9' },
'A': { 'keyCode': 65, 'key': 'A', 'code': 'KeyA' },
'B': { 'keyCode': 66, 'key': 'B', 'code': 'KeyB' },
'C': { 'keyCode': 67, 'key': 'C', 'code': 'KeyC' },
'D': { 'keyCode': 68, 'key': 'D', 'code': 'KeyD' },
'E': { 'keyCode': 69, 'key': 'E', 'code': 'KeyE' },
'F': { 'keyCode': 70, 'key': 'F', 'code': 'KeyF' },
'G': { 'keyCode': 71, 'key': 'G', 'code': 'KeyG' },
'H': { 'keyCode': 72, 'key': 'H', 'code': 'KeyH' },
'I': { 'keyCode': 73, 'key': 'I', 'code': 'KeyI' },
'J': { 'keyCode': 74, 'key': 'J', 'code': 'KeyJ' },
'K': { 'keyCode': 75, 'key': 'K', 'code': 'KeyK' },
'L': { 'keyCode': 76, 'key': 'L', 'code': 'KeyL' },
'M': { 'keyCode': 77, 'key': 'M', 'code': 'KeyM' },
'N': { 'keyCode': 78, 'key': 'N', 'code': 'KeyN' },
'O': { 'keyCode': 79, 'key': 'O', 'code': 'KeyO' },
'P': { 'keyCode': 80, 'key': 'P', 'code': 'KeyP' },
'Q': { 'keyCode': 81, 'key': 'Q', 'code': 'KeyQ' },
'R': { 'keyCode': 82, 'key': 'R', 'code': 'KeyR' },
'S': { 'keyCode': 83, 'key': 'S', 'code': 'KeyS' },
'T': { 'keyCode': 84, 'key': 'T', 'code': 'KeyT' },
'U': { 'keyCode': 85, 'key': 'U', 'code': 'KeyU' },
'V': { 'keyCode': 86, 'key': 'V', 'code': 'KeyV' },
'W': { 'keyCode': 87, 'key': 'W', 'code': 'KeyW' },
'X': { 'keyCode': 88, 'key': 'X', 'code': 'KeyX' },
'Y': { 'keyCode': 89, 'key': 'Y', 'code': 'KeyY' },
'Z': { 'keyCode': 90, 'key': 'Z', 'code': 'KeyZ' },
':': { 'keyCode': 186, 'key': ':', 'code': 'Semicolon' },
'<': { 'keyCode': 188, 'key': '\<', 'code': 'Comma' },
'_': { 'keyCode': 189, 'key': '_', 'code': 'Minus' },
'>': { 'keyCode': 190, 'key': '>', 'code': 'Period' },
'?': { 'keyCode': 191, 'key': '?', 'code': 'Slash' },
'~': { 'keyCode': 192, 'key': '~', 'code': 'Backquote' },
'{': { 'keyCode': 219, 'key': '{', 'code': 'BracketLeft' },
'|': { 'keyCode': 220, 'key': '|', 'code': 'Backslash' },
'}': { 'keyCode': 221, 'key': '}', 'code': 'BracketRight' },
'"': { 'keyCode': 222, 'key': '"', 'code': 'Quote' }
};
//# sourceMappingURL=puppeteer-us-keyboard-layout.js.map
/***/ }),
/***/ "./node_modules/@unidriver/core/dist/utils.js":
/*!****************************************************!*\
!*** ./node_modules/@unidriver/core/dist/utils.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.eventually = exports.waitFor = exports.delay = void 0;
exports.delay = (ms) => new Promise((res) => setTimeout(res, ms));
exports.waitFor = async (fn, timeout = 1200, retryDelay = 30, customError) => {
if (timeout < 0) {
const err = customError || `[Timeout exceeded while waiting for value to become true]`;
throw new Error(err);
}
const val = await fn();
if (!val) {
const now = Date.now();
await exports.delay(retryDelay);
const delta = Date.now() - now;
return exports.waitFor(fn, timeout - delta, retryDelay, customError);
}
};
exports.eventually = async (callback, timeout = 1200, retryDelay = 30, lastError = null) => {
if (timeout < 0) {
throw new Error(`[Eventually timeout exceeded after: timeout with error]: ${lastError}`);
}
try {
await callback();
}
catch (e) {
const now = Date.now();
await exports.delay(retryDelay);
const delta = Date.now() - now;
return exports.eventually(callback, timeout - delta, retryDelay, e);
}
};
//# sourceMappingURL=utils.js.map
/***/ }),
/***/ "./node_modules/@unidriver/jsdom-react/dist/index.js":
/*!***********************************************************!*\
!*** ./node_modules/@unidriver/jsdom-react/dist/index.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.jsdomReactUniDriver = exports.jsdomReactUniDriverList = void 0;
const core_1 = __webpack_require__(/*! @unidriver/core */ "./node_modules/@unidriver/core/dist/index.js");
const test_utils_1 = __webpack_require__(/*! react-dom/test-utils */ "./node_modules/react-dom/test-utils.js");
const isPromise = (a) => {
return !!(a.then);
};
exports.jsdomReactUniDriverList = (containerOrFn, context = { selector: 'Root React list driver' }) => {
const elem = async () => {
const elements = typeof containerOrFn === 'function' ? containerOrFn() : containerOrFn;
return isPromise(elements) ? await elements : elements;
};
return {
get: (idx) => exports.jsdomReactUniDriver(() => {
return elem().then((cont) => {
const elem = cont[idx];
if (!elem) {
throw new Error("React base driver - element was not found");
}
else {
return elem;
}
});
}, Object.assign(Object.assign({}, context), { idx })),
text: async () => (await elem()).map((e) => e.textContent || ""),
count: async () => (await elem()).length,
map: async (fn) => {
const children = Array.from(await elem());
return Promise.all(children.map((e, idx) => {
return fn(exports.jsdomReactUniDriver(e, {
parent: context,
idx,
selector: context.selector,
}), idx);
}));
},
filter: (fn) => {
return exports.jsdomReactUniDriverList(async () => {
const elems = await elem();
const results = await Promise.all(elems.map((e, i) => {
const bd = exports.jsdomReactUniDriver(e, { parent: context, idx: i, selector: context.selector });
return fn(bd, i);
}));
return elems.filter((_, i) => {
return results[i];
});
}, context);
},
};
};
const elementIsFocusable = (el) => {
return (el.tagName === 'INPUT' ||
el.tagName === 'SELECT' ||
el.tagName === 'TEXTAREA' ||
el.tagName === 'BUTTON' ||
el.tagName === 'svg');
};
const isCheckable = (el) => {
return (el.tagName === 'INPUT' &&
(el.type == 'checkbox' ||
el.type == 'radio'));
};
const slowType = async (element, value, delay) => {
const { name, type } = element;
let currentValue = "";
for (let i = 0; i < value.length; i++) {
currentValue += value[i];
test_utils_1.Simulate.change(element, {
target: { name, type, value: currentValue }
});
await core_1.delay(delay);
}
};
exports.jsdomReactUniDriver = (containerOrFn, context = { selector: 'Root React driver' }) => {
const elem = async () => {
const container = typeof containerOrFn === 'function' ? containerOrFn() : containerOrFn;
if (!container) {
throw new Error('React base driver - element was not found');
}
return container;
};
const exists = async () => {
try {
await elem();
return true;
}
catch (e) {
if (core_1.isMultipleElementsWithLocatorError(e)) {
throw e;
}
else {
return false;
}
}
};
const handleCheckableInput = async (input) => {
input.checked = !input.checked;
test_utils_1.Simulate.input(input);
test_utils_1.Simulate.change(input);
};
return {
$: (loc) => {
const getElement = async () => {
const container = await elem();
const elements = container.querySelectorAll(loc);
if (!elements.length) {
throw new core_1.NoElementWithLocatorError(loc);
}
else if (elements.length > 1) {
throw new core_1.MultipleElementsWithLocatorError(elements.length, loc);
}
return elements[0];
};
return exports.jsdomReactUniDriver(getElement, { parent: context, selector: loc });
},
$$: (selector) => exports.jsdomReactUniDriverList(async () => {
const e = await elem();
return Array.from(e.querySelectorAll(selector));
}, { parent: context, selector }),
text: async () => elem().then((e) => e.textContent || ''),
value: async () => {
const e = (await elem());
return e.value;
},
click: async () => {
const el = await elem();
const eventData = { button: 0 }; // 0 - Main Button (Left)
// setting button 0 is now needed in React 16+ as it's not set by react anymore
// 15 - https://github.com/facebook/react/blob/v15.6.1/src/renderers/dom/client/syntheticEvents/SyntheticMouseEvent.js#L45
// 16 - https://github.com/facebook/react/blob/master/packages/react-dom/src/events/SyntheticMouseEvent.js#L33
test_utils_1.Simulate.mouseDown(el, eventData);
if (elementIsFocusable(el)) {
if (document.activeElement != el) {
if (document.activeElement) {
test_utils_1.Simulate.blur(document.activeElement);
}
if (!el.disabled) {
el.focus();
test_utils_1.Simulate.focus(el);
}
}
}
test_utils_1.Simulate.mouseUp(el, eventData);
test_utils_1.Simulate.click(el, eventData);
if (isCheckable(el)) {
handleCheckableInput(el);
}
},
mouse: {
press: async () => {
const el = await elem();
test_utils_1.Simulate.mouseDown(el);
},
release: async () => {
const el = await elem();
test_utils_1.Simulate.mouseUp(el);
},
moveTo: async (to) => {
const el = await elem();
const { left, top } = (await to.getNative()).getBoundingClientRect();
test_utils_1.Simulate.mouseMove(el, { clientX: left, clientY: top });
}
},
hover: async () => {
const el = await elem();
test_utils_1.Simulate.mouseOver(el);
test_utils_1.Simulate.mouseEnter(el);
},
pressKey: async (key) => {
const el = await elem();
const def = core_1.getDefinitionForKeyType(key);
// enabling this throws an error with JSDOM. Thuss, pesskey will only use Simulate
/*
if (document.body.contains(el)) {
// const keydown = new KeyboardEvent('keydown', {...def});
// const keyup = new KeyboardEvent('keyup', {...def});
// keydown.initEvent(keydown.type, true, false);
// el.dispatchEvent(keydown);
// await (Promise.resolve());
// keyup.initEvent(keyup.type, true, false);
// el.dispatchEvent(keyup)
// } else {
// }
*/
test_utils_1.Simulate.keyDown(el, def);
test_utils_1.Simulate.keyUp(el, def);
},
hasClass: async (className) => (await elem()).classList.contains(className),
enterValue: async (value, options) => {
const el = (await elem());
// Don't do anything if element is disabled or readOnly
if (el.disabled || el.readOnly) {
return;
}
const { name, type, onChange } = el;
// Set native value for uncontrolled component
if (!onChange) {
el.value = value;
}
if (options === null || options === void 0 ? void 0 : options.delay) {
await slowType(el, value, options.delay);
}
test_utils_1.Simulate.change(el, {
target: { name, type, value }
});
},
attr: async (name) => {
const el = await elem();
return el.getAttribute(name);
},
exists,
isDisplayed: async () => {
return true;
},
wait: async (timeout) => {
return core_1.waitFor(exists, timeout, 30, core_1.contextToWaitError(context));
},
type: 'react',
scrollIntoView: async () => { return {}; },
getNative: () => elem(),
_prop: async (name) => {
const el = await elem();
return el[name];
}
};
};
//# sourceMappingURL=index.js.map
/***/ }),
/***/ "./node_modules/@unidriver/puppeteer/dist/index.js":
/*!**************************************