Socket
Socket
Sign inDemoInstall

@testing-library/dom

Package Overview
Dependencies
Maintainers
12
Versions
228
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@testing-library/dom - npm Package Compare versions

Comparing version 7.0.0-beta.3 to 7.0.0-beta.4

53

dist/@testing-library/dom.esm.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc