63 lines
2.5 KiB
JavaScript
63 lines
2.5 KiB
JavaScript
define(["require", "exports", "@testing-library/react"], function (require, exports, react_1) {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getBySelector = getBySelector;
|
|
exports.getByAllSelector = getByAllSelector;
|
|
exports.findNodesV2 = findNodesV2;
|
|
exports.expectNodesV2 = expectNodesV2;
|
|
exports.expectOneV2 = expectOneV2;
|
|
exports.delay = delay;
|
|
exports.renderIntoDocument = renderIntoDocument;
|
|
exports.mockEvent = mockEvent;
|
|
exports.flushPromises = flushPromises;
|
|
exports.expectNoHiddenParents = expectNoHiddenParents;
|
|
// v2 - avoiding usage of enzyme
|
|
// Helper function to find all elements with a specific class name that are not React components
|
|
function getBySelector(container, selector) {
|
|
return container.querySelector(selector);
|
|
}
|
|
function getByAllSelector(container, selector) {
|
|
return container.querySelectorAll(selector);
|
|
}
|
|
function findNodesV2(container, selector) {
|
|
return Array.from(container.querySelectorAll(selector)).filter(function (node) { return node.nodeType === Node.ELEMENT_NODE; });
|
|
}
|
|
function expectNodesV2(container, className, n) {
|
|
expect(findNodesV2(container, className).length).toEqual(n);
|
|
}
|
|
function expectOneV2(container, selector) {
|
|
expectNodesV2(container, selector, 1);
|
|
}
|
|
/** @deprecated Use fake timers and `jest.runAllTimers()` instead */
|
|
function delay(millisecond) {
|
|
return new Promise(function (resolve) { return setTimeout(resolve, millisecond); });
|
|
}
|
|
function renderIntoDocument(element) {
|
|
var component = (0, react_1.render)(element);
|
|
var renderedDOM = component.container.firstChild;
|
|
return renderedDOM;
|
|
}
|
|
function mockEvent(targetValue) {
|
|
if (targetValue === void 0) { targetValue = ''; }
|
|
var target = { value: targetValue };
|
|
return { target: target };
|
|
}
|
|
/**
|
|
* Hack for forcing Jest to run pending promises
|
|
* https://github.com/facebook/jest/issues/2157#issuecomment-897935688
|
|
*/
|
|
function flushPromises() {
|
|
return new Promise(jest.requireActual('timers').setImmediate);
|
|
}
|
|
/**
|
|
* Verify that the given element and its parents do NOT have `aria-hidden` set.
|
|
*/
|
|
function expectNoHiddenParents(element) {
|
|
var el = element;
|
|
while (el) {
|
|
expect(el.getAttribute('aria-hidden')).not.toBe('true');
|
|
el = el.parentElement;
|
|
}
|
|
}
|
|
});
|
|
//# sourceMappingURL=testUtilities.js.map
|