UNPKG

@testing-library/react-hooks

Version:

Simple and complete React hooks testing utilities that encourage good testing practices.

96 lines (81 loc) 2.65 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.cleanup = cleanup; exports.addCleanup = addCleanup; exports.removeCleanup = removeCleanup; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _reactTestRenderer = require("react-test-renderer"); var cleanupCallbacks = []; function cleanup() { return _cleanup.apply(this, arguments); } function _cleanup() { _cleanup = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee3() { return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return (0, _reactTestRenderer.act)( /*#__PURE__*/ (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee2() { return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: case "end": return _context2.stop(); } } }, _callee2); }))); case 2: cleanupCallbacks.forEach(function (cb) { return cb(); }); cleanupCallbacks = []; case 4: case "end": return _context3.stop(); } } }, _callee3); })); return _cleanup.apply(this, arguments); } function addCleanup(callback) { cleanupCallbacks.push(callback); } function removeCleanup(callback) { cleanupCallbacks = cleanupCallbacks.filter(function (cb) { return cb !== callback; }); } // Automatically registers cleanup in supported testing frameworks if (typeof afterEach === 'function' && !process.env.RHTL_SKIP_AUTO_CLEANUP) { afterEach( /*#__PURE__*/ (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return cleanup(); case 2: case "end": return _context.stop(); } } }, _callee); }))); }