UNPKG

@fluentui/react

Version:

Reusable React components for building web experiences.

63 lines 2.58 kB
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