@testing-library/dom
Advanced tools
Comparing version 5.6.1 to 6.0.0
@@ -109,19 +109,2 @@ 'use strict'; | ||
var _prettyFormat$plugins = prettyFormat.plugins, | ||
DOMElement = _prettyFormat$plugins.DOMElement, | ||
DOMCollection = _prettyFormat$plugins.DOMCollection; | ||
function prettyDOM(htmlElement, maxLength, options) { | ||
if (htmlElement.documentElement) { | ||
htmlElement = htmlElement.documentElement; | ||
} | ||
var debugContent = prettyFormat(htmlElement, _extends({ | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: true | ||
}, options)); | ||
return maxLength !== undefined && htmlElement.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + "..." : debugContent; | ||
} | ||
var globalObj = typeof window === 'undefined' ? global : window; // we only run our tests in node, and setImmediate is supported in node. | ||
@@ -153,2 +136,49 @@ // istanbul ignore next | ||
function inCypress(dom) { | ||
var window = dom.ownerDocument && dom.ownerDocument.defaultView || undefined; | ||
return typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
} | ||
var inNode = function () { | ||
return typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
}; | ||
var getMaxLength = function (dom) { | ||
return inCypress(dom) ? 0 : process.env.DEBUG_PRINT_LIMIT || 7000; | ||
}; | ||
var _prettyFormat$plugins = prettyFormat.plugins, | ||
DOMElement = _prettyFormat$plugins.DOMElement, | ||
DOMCollection = _prettyFormat$plugins.DOMCollection; | ||
function prettyDOM(dom, maxLength, options) { | ||
if (dom === void 0) { | ||
dom = getDocument().body; | ||
} | ||
if (maxLength === void 0) { | ||
maxLength = getMaxLength(dom); | ||
} | ||
if (maxLength === 0) { | ||
return ''; | ||
} | ||
if (dom.documentElement) { | ||
dom = dom.documentElement; | ||
} | ||
var debugContent = prettyFormat(dom, _extends({ | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: inNode() | ||
}, options)); | ||
return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + "..." : debugContent; | ||
} | ||
var logDOM = function () { | ||
return console.log(prettyDOM.apply(void 0, arguments)); | ||
}; | ||
/* eslint no-console:0 */ | ||
// It would be cleaner for this to live inside './queries', but | ||
@@ -254,28 +284,4 @@ // other parts of the code assume that all exports from | ||
/* eslint-disable complexity */ | ||
function debugDOM(htmlElement) { | ||
var limit = process.env.DEBUG_PRINT_LIMIT || 7000; | ||
var inNode = typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
/* istanbul ignore next */ | ||
var window = htmlElement.ownerDocument && htmlElement.ownerDocument.defaultView || undefined; | ||
var inCypress = typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
/* istanbul ignore else */ | ||
if (inCypress) { | ||
return ''; | ||
} else if (inNode) { | ||
return prettyDOM(htmlElement, limit); | ||
} else { | ||
return prettyDOM(htmlElement, limit, { | ||
highlight: false | ||
}); | ||
} | ||
} | ||
/* eslint-enable complexity */ | ||
function getElementError(message, container) { | ||
return new Error([message, debugDOM(container)].filter(Boolean).join('\n\n')); | ||
return new Error([message, prettyDOM(container)].filter(Boolean).join('\n\n')); | ||
} | ||
@@ -377,3 +383,2 @@ | ||
var queryHelpers = /*#__PURE__*/Object.freeze({ | ||
debugDOM: debugDOM, | ||
getElementError: getElementError, | ||
@@ -776,4 +781,4 @@ getMultipleElementsFoundError: getMultipleElementsFoundError, | ||
function prettyRoles(container) { | ||
var roles = getRoles(container); | ||
function prettyRoles(dom) { | ||
var roles = getRoles(dom); | ||
return Object.entries(roles).map(function (_ref10) { | ||
@@ -784,3 +789,3 @@ var role = _ref10[0], | ||
var elementsString = elements.map(function (el) { | ||
return debugDOM(el.cloneNode(false)); | ||
return prettyDOM(el.cloneNode(false)); | ||
}).join('\n\n'); | ||
@@ -791,6 +796,6 @@ return role + ":\n\n" + elementsString + "\n\n" + delimiterBar; | ||
function logRoles(container) { | ||
// eslint-disable-next-line no-console | ||
console.log(prettyRoles(container)); | ||
} | ||
var logRoles = function (dom) { | ||
return console.log(prettyRoles(dom)); | ||
}; | ||
/* eslint no-console:0 */ | ||
@@ -1786,3 +1791,2 @@ function queryAllByRole(container, role, _temp) { | ||
exports.createEvent = createEvent; | ||
exports.debugDOM = debugDOM; | ||
exports.findAllByAltText = findAllByAltText; | ||
@@ -1827,2 +1831,3 @@ exports.findAllByDisplayValue = findAllByDisplayValue; | ||
exports.getRoles = getRoles; | ||
exports.logDOM = logDOM; | ||
exports.logRoles = logRoles; | ||
@@ -1829,0 +1834,0 @@ exports.makeFindQuery = makeFindQuery; |
@@ -103,19 +103,2 @@ import _extends from '@babel/runtime/helpers/esm/extends'; | ||
var _prettyFormat$plugins = prettyFormat.plugins, | ||
DOMElement = _prettyFormat$plugins.DOMElement, | ||
DOMCollection = _prettyFormat$plugins.DOMCollection; | ||
function prettyDOM(htmlElement, maxLength, options) { | ||
if (htmlElement.documentElement) { | ||
htmlElement = htmlElement.documentElement; | ||
} | ||
var debugContent = prettyFormat(htmlElement, _extends({ | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: true | ||
}, options)); | ||
return maxLength !== undefined && htmlElement.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + "..." : debugContent; | ||
} | ||
var globalObj = typeof window === 'undefined' ? global : window; // we only run our tests in node, and setImmediate is supported in node. | ||
@@ -147,2 +130,49 @@ // istanbul ignore next | ||
function inCypress(dom) { | ||
var window = dom.ownerDocument && dom.ownerDocument.defaultView || undefined; | ||
return typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
} | ||
var inNode = function () { | ||
return typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
}; | ||
var getMaxLength = function (dom) { | ||
return inCypress(dom) ? 0 : process.env.DEBUG_PRINT_LIMIT || 7000; | ||
}; | ||
var _prettyFormat$plugins = prettyFormat.plugins, | ||
DOMElement = _prettyFormat$plugins.DOMElement, | ||
DOMCollection = _prettyFormat$plugins.DOMCollection; | ||
function prettyDOM(dom, maxLength, options) { | ||
if (dom === void 0) { | ||
dom = getDocument().body; | ||
} | ||
if (maxLength === void 0) { | ||
maxLength = getMaxLength(dom); | ||
} | ||
if (maxLength === 0) { | ||
return ''; | ||
} | ||
if (dom.documentElement) { | ||
dom = dom.documentElement; | ||
} | ||
var debugContent = prettyFormat(dom, _extends({ | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: inNode() | ||
}, options)); | ||
return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + "..." : debugContent; | ||
} | ||
var logDOM = function () { | ||
return console.log(prettyDOM.apply(void 0, arguments)); | ||
}; | ||
/* eslint no-console:0 */ | ||
// It would be cleaner for this to live inside './queries', but | ||
@@ -248,28 +278,4 @@ // other parts of the code assume that all exports from | ||
/* eslint-disable complexity */ | ||
function debugDOM(htmlElement) { | ||
var limit = process.env.DEBUG_PRINT_LIMIT || 7000; | ||
var inNode = typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
/* istanbul ignore next */ | ||
var window = htmlElement.ownerDocument && htmlElement.ownerDocument.defaultView || undefined; | ||
var inCypress = typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
/* istanbul ignore else */ | ||
if (inCypress) { | ||
return ''; | ||
} else if (inNode) { | ||
return prettyDOM(htmlElement, limit); | ||
} else { | ||
return prettyDOM(htmlElement, limit, { | ||
highlight: false | ||
}); | ||
} | ||
} | ||
/* eslint-enable complexity */ | ||
function getElementError(message, container) { | ||
return new Error([message, debugDOM(container)].filter(Boolean).join('\n\n')); | ||
return new Error([message, prettyDOM(container)].filter(Boolean).join('\n\n')); | ||
} | ||
@@ -371,3 +377,2 @@ | ||
var queryHelpers = /*#__PURE__*/Object.freeze({ | ||
debugDOM: debugDOM, | ||
getElementError: getElementError, | ||
@@ -770,4 +775,4 @@ getMultipleElementsFoundError: getMultipleElementsFoundError, | ||
function prettyRoles(container) { | ||
var roles = getRoles(container); | ||
function prettyRoles(dom) { | ||
var roles = getRoles(dom); | ||
return Object.entries(roles).map(function (_ref10) { | ||
@@ -778,3 +783,3 @@ var role = _ref10[0], | ||
var elementsString = elements.map(function (el) { | ||
return debugDOM(el.cloneNode(false)); | ||
return prettyDOM(el.cloneNode(false)); | ||
}).join('\n\n'); | ||
@@ -785,6 +790,6 @@ return role + ":\n\n" + elementsString + "\n\n" + delimiterBar; | ||
function logRoles(container) { | ||
// eslint-disable-next-line no-console | ||
console.log(prettyRoles(container)); | ||
} | ||
var logRoles = function (dom) { | ||
return console.log(prettyRoles(dom)); | ||
}; | ||
/* eslint no-console:0 */ | ||
@@ -1776,2 +1781,2 @@ function queryAllByRole(container, role, _temp) { | ||
export { getQueriesForElement as bindElementToQueries, buildQueries, configure, createEvent, debugDOM, findAllByAltText, findAllByDisplayValue, findAllByLabelText, findAllByPlaceholderText, findAllByRole, findAllByTestId, findAllByText, findAllByTitle, findByAltText, findByDisplayValue, findByLabelText, findByPlaceholderText, findByRole, findByTestId, findByText, findByTitle, fireEvent, getAllByAltText, getAllByDisplayValue, getAllByLabelText, getAllByPlaceholderText, getAllByRole, getAllByTestId, getAllByText, getAllByTitle, getByAltText, getByDisplayValue, getByLabelText, getByPlaceholderText, getByRole, getByTestId, getByText, getByTitle, getDefaultNormalizer, getElementError, getMultipleElementsFoundError, getNodeText, getQueriesForElement, getRoles, logRoles, makeFindQuery, makeGetAllQuery, makeSingleQuery, prettyDOM, defaultQueries as queries, queryAllByAltText, queryAllByAttribute, queryAllByDisplayValue, queryAllByLabelText, queryAllByPlaceholderText, queryAllByRole, queryAllByTestId, queryAllByText, queryAllByTitle, queryByAltText, queryByAttribute, queryByDisplayValue, queryByLabelText, queryByPlaceholderText, queryByRole, queryByTestId, queryByText, queryByTitle, queryHelpers, waitWrapper as wait, waitForDomChangeWrapper as waitForDomChange, waitForElementWrapper as waitForElement, waitForElementToBeRemovedWrapper as waitForElementToBeRemoved, getQueriesForElement as within }; | ||
export { getQueriesForElement as bindElementToQueries, buildQueries, configure, createEvent, findAllByAltText, findAllByDisplayValue, findAllByLabelText, findAllByPlaceholderText, findAllByRole, findAllByTestId, findAllByText, findAllByTitle, findByAltText, findByDisplayValue, findByLabelText, findByPlaceholderText, findByRole, findByTestId, findByText, findByTitle, fireEvent, getAllByAltText, getAllByDisplayValue, getAllByLabelText, getAllByPlaceholderText, getAllByRole, getAllByTestId, getAllByText, getAllByTitle, getByAltText, getByDisplayValue, getByLabelText, getByPlaceholderText, getByRole, getByTestId, getByText, getByTitle, getDefaultNormalizer, getElementError, getMultipleElementsFoundError, getNodeText, getQueriesForElement, getRoles, logDOM, logRoles, makeFindQuery, makeGetAllQuery, makeSingleQuery, prettyDOM, defaultQueries as queries, queryAllByAltText, queryAllByAttribute, queryAllByDisplayValue, queryAllByLabelText, queryAllByPlaceholderText, queryAllByRole, queryAllByTestId, queryAllByText, queryAllByTitle, queryByAltText, queryByAttribute, queryByDisplayValue, queryByLabelText, queryByPlaceholderText, queryByRole, queryByTestId, queryByText, queryByTitle, queryHelpers, waitWrapper as wait, waitForDomChangeWrapper as waitForDomChange, waitForElementWrapper as waitForElement, waitForElementToBeRemovedWrapper as waitForElementToBeRemoved, getQueriesForElement as within }; |
@@ -9,2 +9,3 @@ "use strict"; | ||
exports.prettyDOM = prettyDOM; | ||
exports.logDOM = void 0; | ||
@@ -15,2 +16,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _helpers = require("./helpers"); | ||
function inCypress(dom) { | ||
const window = dom.ownerDocument && dom.ownerDocument.defaultView || undefined; | ||
return typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
} | ||
const inNode = () => typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
const getMaxLength = dom => inCypress(dom) ? 0 : process.env.DEBUG_PRINT_LIMIT || 7000; | ||
const { | ||
@@ -21,13 +33,23 @@ DOMElement, | ||
function prettyDOM(htmlElement, maxLength, options) { | ||
if (htmlElement.documentElement) { | ||
htmlElement = htmlElement.documentElement; | ||
function prettyDOM(dom = (0, _helpers.getDocument)().body, maxLength = getMaxLength(dom), options) { | ||
if (maxLength === 0) { | ||
return ''; | ||
} | ||
const debugContent = (0, _prettyFormat.default)(htmlElement, (0, _extends2.default)({ | ||
if (dom.documentElement) { | ||
dom = dom.documentElement; | ||
} | ||
const debugContent = (0, _prettyFormat.default)(dom, (0, _extends2.default)({ | ||
plugins: [DOMElement, DOMCollection], | ||
printFunctionName: false, | ||
highlight: true | ||
highlight: inNode() | ||
}, options)); | ||
return maxLength !== undefined && htmlElement.outerHTML.length > maxLength ? `${debugContent.slice(0, maxLength)}...` : debugContent; | ||
} | ||
return maxLength !== undefined && dom.outerHTML.length > maxLength ? `${debugContent.slice(0, maxLength)}...` : debugContent; | ||
} | ||
const logDOM = (...args) => console.log(prettyDOM(...args)); | ||
/* eslint no-console:0 */ | ||
exports.logDOM = logDOM; |
@@ -6,3 +6,2 @@ "use strict"; | ||
}); | ||
exports.debugDOM = debugDOM; | ||
exports.getElementError = getElementError; | ||
@@ -23,27 +22,4 @@ exports.getMultipleElementsFoundError = getMultipleElementsFoundError; | ||
/* eslint-disable complexity */ | ||
function debugDOM(htmlElement) { | ||
const limit = process.env.DEBUG_PRINT_LIMIT || 7000; | ||
const inNode = typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined; | ||
/* istanbul ignore next */ | ||
const window = htmlElement.ownerDocument && htmlElement.ownerDocument.defaultView || undefined; | ||
const inCypress = typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; | ||
/* istanbul ignore else */ | ||
if (inCypress) { | ||
return ''; | ||
} else if (inNode) { | ||
return (0, _prettyDom.prettyDOM)(htmlElement, limit); | ||
} else { | ||
return (0, _prettyDom.prettyDOM)(htmlElement, limit, { | ||
highlight: false | ||
}); | ||
} | ||
} | ||
/* eslint-enable complexity */ | ||
function getElementError(message, container) { | ||
return new Error([message, debugDOM(container)].filter(Boolean).join('\n\n')); | ||
return new Error([message, (0, _prettyDom.prettyDOM)(container)].filter(Boolean).join('\n\n')); | ||
} | ||
@@ -50,0 +26,0 @@ |
@@ -9,5 +9,5 @@ "use strict"; | ||
exports.getRoles = getRoles; | ||
exports.logRoles = logRoles; | ||
exports.getImplicitAriaRoles = getImplicitAriaRoles; | ||
exports.prettyRoles = prettyRoles; | ||
exports.logRoles = void 0; | ||
@@ -18,3 +18,3 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _queryHelpers = require("./query-helpers"); | ||
var _prettyDom = require("./pretty-dom"); | ||
@@ -89,7 +89,7 @@ const elementRoleList = buildElementRoleList(_ariaQuery.elementRoles); | ||
function prettyRoles(container) { | ||
const roles = getRoles(container); | ||
function prettyRoles(dom) { | ||
const roles = getRoles(dom); | ||
return Object.entries(roles).map(([role, elements]) => { | ||
const delimiterBar = '-'.repeat(50); | ||
const elementsString = elements.map(el => (0, _queryHelpers.debugDOM)(el.cloneNode(false))).join('\n\n'); | ||
const elementsString = elements.map(el => (0, _prettyDom.prettyDOM)(el.cloneNode(false))).join('\n\n'); | ||
return `${role}:\n\n${elementsString}\n\n${delimiterBar}`; | ||
@@ -99,5 +99,6 @@ }).join('\n'); | ||
function logRoles(container) { | ||
// eslint-disable-next-line no-console | ||
console.log(prettyRoles(container)); | ||
} | ||
const logRoles = dom => console.log(prettyRoles(dom)); | ||
/* eslint no-console:0 */ | ||
exports.logRoles = logRoles; |
{ | ||
"name": "@testing-library/dom", | ||
"version": "5.6.1", | ||
"version": "6.0.0", | ||
"description": "Simple and complete DOM testing utilities that encourage good testing practices.", | ||
@@ -50,7 +50,7 @@ "main": "dist/index.js", | ||
"pretty-format": "^24.8.0", | ||
"wait-for-expect": "^1.2.0" | ||
"wait-for-expect": "^1.3.0" | ||
}, | ||
"devDependencies": { | ||
"@testing-library/jest-dom": "^4.0.0", | ||
"dtslint": "^0.9.0", | ||
"dtslint": "^0.9.1", | ||
"jest-in-case": "^1.0.2", | ||
@@ -57,0 +57,0 @@ "jest-serializer-ansi": "^1.0.3", |
@@ -217,3 +217,3 @@ <div align="center"> | ||
<td align="center"><a href="https://dylanvann.com/"><img src="https://avatars0.githubusercontent.com/u/1537615?v=4" width="100px;" alt="Dylan Vann"/><br /><sub><b>Dylan Vann</b></sub></a><br /><a href="https://github.com/testing-library/dom-testing-library/commits?author=DylanVann" title="Code">💻</a></td> | ||
<td align="center"><a href="https://afontcu.dev"><img src="https://avatars0.githubusercontent.com/u/9197791?v=4" width="100px;" alt="Adrià Fontcuberta"/><br /><sub><b>Adrià Fontcuberta</b></sub></a><br /><a href="https://github.com/testing-library/dom-testing-library/commits?author=afontcu" title="Code">💻</a> <a href="https://github.com/testing-library/dom-testing-library/commits?author=afontcu" title="Tests">⚠️</a></td> | ||
<td align="center"><a href="https://afontcu.dev"><img src="https://avatars0.githubusercontent.com/u/9197791?v=4" width="100px;" alt="Adrià Fontcuberta"/><br /><sub><b>Adrià Fontcuberta</b></sub></a><br /><a href="https://github.com/testing-library/dom-testing-library/commits?author=afontcu" title="Code">💻</a> <a href="https://github.com/testing-library/dom-testing-library/commits?author=afontcu" title="Tests">⚠️</a> <a href="https://github.com/testing-library/dom-testing-library/commits?author=afontcu" title="Documentation">📖</a></td> | ||
<td align="center"><a href="http://thomlom.dev"><img src="https://avatars3.githubusercontent.com/u/16003285?v=4" width="100px;" alt="Thomas Lombart"/><br /><sub><b>Thomas Lombart</b></sub></a><br /><a href="https://github.com/testing-library/dom-testing-library/commits?author=thomlom" title="Code">💻</a></td> | ||
@@ -220,0 +220,0 @@ <td align="center"><a href="https://twitter.com/SavePointSam"><img src="https://avatars0.githubusercontent.com/u/8203211?v=4" width="100px;" alt="Sam Horton"/><br /><sub><b>Sam Horton</b></sub></a><br /><a href="https://github.com/testing-library/dom-testing-library/commits?author=SavePointSam" title="Code">💻</a> <a href="https://github.com/testing-library/dom-testing-library/commits?author=SavePointSam" title="Tests">⚠️</a></td> |
@@ -23,3 +23,3 @@ import {Matcher, MatcherOptions} from './matches' | ||
export const queryAllByAttribute: AllByAttribute | ||
export const debugDOM: (htmlElement: HTMLElement) => string | ||
export const logDOM: (htmlElement: HTMLElement) => void | ||
export const getElementError: (message: string, container: HTMLElement) => Error | ||
@@ -57,3 +57,3 @@ | ||
FindAllBy<Arguments>, | ||
FindBy<Arguments> | ||
FindBy<Arguments>, | ||
] | ||
@@ -60,0 +60,0 @@ export const buildQueries: <Arguments extends any[]>( |
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
14921
1619795
Updatedwait-for-expect@^1.3.0