@testing-library/dom
Advanced tools
Comparing version 7.0.0-beta.3 to 7.0.0-beta.4
@@ -267,6 +267,2 @@ import _extends from '@babel/runtime/helpers/esm/extends'; | ||
function wait(callback, _temp) { | ||
if (callback === void 0) { | ||
callback = function () {}; | ||
} | ||
var _ref = _temp === void 0 ? {} : _temp, | ||
@@ -287,2 +283,6 @@ _ref$container = _ref.container, | ||
if (!callback) { | ||
return Promise.reject(new Error('wait callback is required')); | ||
} | ||
if (interval < 1) interval = 1; | ||
@@ -1243,4 +1243,12 @@ return new Promise(function (resolve, reject) { | ||
return !result || Array.isArray(result) && !result.length; | ||
}; | ||
}; // Check if the element is not present. | ||
// As the name implies, waitForElementToBeRemoved should check `present` --> `removed` | ||
function initialCheck(elements) { | ||
if (isRemoved(elements)) { | ||
throw new Error('The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.'); | ||
} | ||
} | ||
function waitForElementToBeRemoved() { | ||
@@ -1252,2 +1260,3 @@ return _waitForElementToBeRemoved.apply(this, arguments); | ||
_waitForElementToBeRemoved = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback, options) { | ||
var elements, getRemainingElements; | ||
return _regeneratorRuntime.wrap(function (_context) { | ||
@@ -1257,18 +1266,26 @@ while (1) { | ||
case 0: | ||
if (callback) { | ||
_context.next = 2; | ||
break; | ||
} | ||
if (typeof callback !== 'function') { | ||
// await waitForElementToBeRemoved(getAllByText('Hello')) | ||
initialCheck(callback); | ||
elements = Array.isArray(callback) ? callback : [callback]; | ||
getRemainingElements = elements.map(function (element) { | ||
var parent = element.parentElement; | ||
return _context.abrupt("return", Promise.reject(new Error('waitForElementToBeRemoved requires a callback as the first parameter'))); | ||
while (parent.parentElement) { | ||
parent = parent.parentElement; | ||
} | ||
case 2: | ||
if (!isRemoved(callback())) { | ||
_context.next = 4; | ||
break; | ||
return function () { | ||
return parent.contains(element) ? element : null; | ||
}; | ||
}); | ||
callback = function () { | ||
return getRemainingElements.map(function (c) { | ||
return c(); | ||
}).filter(Boolean); | ||
}; | ||
} | ||
throw new Error('The callback function which was passed did not return an element or non-empty array of elements. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.'); | ||
case 4: | ||
initialCheck(callback()); | ||
return _context.abrupt("return", waitWrapper(function () { | ||
@@ -1294,3 +1311,3 @@ var result; | ||
case 5: | ||
case 3: | ||
case "end": | ||
@@ -1297,0 +1314,0 @@ return _context.stop(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -11,4 +9,2 @@ value: true | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _prettyDom = require("./pretty-dom"); | ||
@@ -50,3 +46,5 @@ | ||
config = (0, _extends2.default)({}, config, {}, newConfig); | ||
config = { ...config, | ||
...newConfig | ||
}; | ||
} | ||
@@ -53,0 +51,0 @@ |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -11,6 +9,2 @@ value: true | ||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _helpers = require("./helpers"); | ||
@@ -644,10 +638,12 @@ | ||
const eventInit = (0, _extends2.default)({}, defaultInit, {}, init); | ||
const eventInit = { ...defaultInit, | ||
...init | ||
}; | ||
const { | ||
target: { | ||
value, | ||
files | ||
files, | ||
...targetProperties | ||
} = {} | ||
} = eventInit, | ||
targetProperties = (0, _objectWithoutPropertiesLoose2.default)(eventInit.target, ["value", "files"]); | ||
} = eventInit; | ||
@@ -683,5 +679,5 @@ if (value !== undefined) { | ||
cancelable, | ||
detail | ||
} = eventInit, | ||
otherInit = (0, _objectWithoutPropertiesLoose2.default)(eventInit, ["bubbles", "cancelable", "detail"]); | ||
detail, | ||
...otherInit | ||
} = eventInit; | ||
event.initEvent(eventName, bubbles, cancelable, detail); | ||
@@ -688,0 +684,0 @@ Object.keys(otherInit).forEach(eventKey => { |
@@ -11,4 +11,2 @@ "use strict"; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _prettyFormat = _interopRequireDefault(require("pretty-format")); | ||
@@ -62,7 +60,8 @@ | ||
const debugContent = (0, _prettyFormat.default)(dom, (0, _extends2.default)({ | ||
const debugContent = (0, _prettyFormat.default)(dom, { | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: inNode() | ||
}, options)); | ||
highlight: inNode(), | ||
...options | ||
}); | ||
return maxLength !== undefined && dom.outerHTML.length > maxLength ? `${debugContent.slice(0, maxLength)}...` : debugContent; | ||
@@ -69,0 +68,0 @@ } |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -15,4 +13,2 @@ value: true | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _ariaQuery = require("aria-query"); | ||
@@ -160,7 +156,7 @@ | ||
const roles = getImplicitAriaRoles(node); | ||
return roles.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? (0, _extends2.default)({}, rolesAcc, { | ||
return roles.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? { ...rolesAcc, | ||
[role]: [...rolesAcc[role], node] | ||
}) : (0, _extends2.default)({}, rolesAcc, { | ||
} : { ...rolesAcc, | ||
[role]: [node] | ||
}), acc); | ||
}, acc); | ||
}, {}); | ||
@@ -167,0 +163,0 @@ } |
@@ -10,15 +10,29 @@ "use strict"; | ||
const isRemoved = result => !result || Array.isArray(result) && !result.length; | ||
const isRemoved = result => !result || Array.isArray(result) && !result.length; // Check if the element is not present. | ||
// As the name implies, waitForElementToBeRemoved should check `present` --> `removed` | ||
function initialCheck(elements) { | ||
if (isRemoved(elements)) { | ||
throw new Error('The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.'); | ||
} | ||
} | ||
async function waitForElementToBeRemoved(callback, options) { | ||
if (!callback) { | ||
return Promise.reject(new Error('waitForElementToBeRemoved requires a callback as the first parameter')); | ||
} // Check if the element is not present synchronously, | ||
// As the name implies, waitForElementToBeRemoved should check `present` --> `removed` | ||
if (typeof callback !== 'function') { | ||
// await waitForElementToBeRemoved(getAllByText('Hello')) | ||
initialCheck(callback); | ||
const elements = Array.isArray(callback) ? callback : [callback]; | ||
const getRemainingElements = elements.map(element => { | ||
let parent = element.parentElement; | ||
while (parent.parentElement) parent = parent.parentElement; | ||
if (isRemoved(callback())) { | ||
throw new Error('The callback function which was passed did not return an element or non-empty array of elements. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.'); | ||
return () => parent.contains(element) ? element : null; | ||
}); | ||
callback = () => getRemainingElements.map(c => c()).filter(Boolean); | ||
} | ||
initialCheck(callback()); | ||
return (0, _wait.wait)(() => { | ||
@@ -25,0 +39,0 @@ let result; |
@@ -12,3 +12,3 @@ "use strict"; | ||
function wait(callback = () => {}, { | ||
function wait(callback, { | ||
container = (0, _helpers.getDocument)(), | ||
@@ -24,2 +24,6 @@ timeout = (0, _config.getConfig)().asyncUtilTimeout, | ||
} = {}) { | ||
if (!callback) { | ||
return Promise.reject(new Error('wait callback is required')); | ||
} | ||
if (interval < 1) interval = 1; | ||
@@ -26,0 +30,0 @@ return new Promise((resolve, reject) => { |
{ | ||
"name": "@testing-library/dom", | ||
"version": "7.0.0-beta.3", | ||
"version": "7.0.0-beta.4", | ||
"description": "Simple and complete DOM testing utilities that encourage good testing practices.", | ||
@@ -20,6 +20,6 @@ "main": "dist/index.js", | ||
], | ||
"author": "Kent C. Dodds <kent@doddsfamily.us> (https://kentcdodds.com/)", | ||
"author": "Kent C. Dodds <me@kentcdodds.com> (https://kentcdodds.com)", | ||
"license": "MIT", | ||
"engines": { | ||
"node": ">=8" | ||
"node": ">=10.18" | ||
}, | ||
@@ -29,7 +29,7 @@ "scripts": { | ||
"lint": "kcd-scripts lint", | ||
"setup": "npm install && npm run validate -s", | ||
"test": "kcd-scripts test", | ||
"test:debug": "node --inspect-brk ./node_modules/.bin/jest --watch --runInBand", | ||
"test:update": "npm test -- --updateSnapshot --coverage", | ||
"test:debug": "node --inspect-brk ./node_modules/.bin/jest --watch --runInBand", | ||
"validate": "kcd-scripts validate", | ||
"setup": "npm install && npm run validate -s" | ||
"validate": "kcd-scripts validate" | ||
}, | ||
@@ -75,3 +75,3 @@ "husky": { | ||
"type": "git", | ||
"url": "https://github.com/testing-library/dom-testing-library.git" | ||
"url": "https://github.com/testing-library/dom-testing-library" | ||
}, | ||
@@ -78,0 +78,0 @@ "bugs": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2250125
18439