@testing-library/react-hooks
Version:
Simple and complete React hooks testing utilities that encourage good testing practices.
96 lines (81 loc) • 2.65 kB
JavaScript
;
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);
})));
}