44 lines
1.9 KiB
JavaScript
44 lines
1.9 KiB
JavaScript
define(["require", "exports", "tslib", "react", "./safeSetTimeout", "@testing-library/react"], function (require, exports, tslib_1, React, safeSetTimeout_1, react_1) {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
describe('safeSetTimeout', function () {
|
|
var setTimeoutCalled = false;
|
|
var Foo = /** @class */ (function (_super) {
|
|
tslib_1.__extends(Foo, _super);
|
|
function Foo(props) {
|
|
var _this = _super.call(this, props) || this;
|
|
_this._setTimeout = (0, safeSetTimeout_1.safeSetTimeout)(_this);
|
|
return _this;
|
|
}
|
|
Foo.prototype.render = function () {
|
|
return React.createElement("div", null, "Hello");
|
|
};
|
|
Foo.prototype.componentDidMount = function () {
|
|
this._setTimeout(function () { return (setTimeoutCalled = true); }, 0);
|
|
};
|
|
return Foo;
|
|
}(React.Component));
|
|
beforeEach(function () {
|
|
setTimeoutCalled = false;
|
|
jest.useFakeTimers();
|
|
});
|
|
afterEach(function () {
|
|
jest.useRealTimers();
|
|
});
|
|
it('can request animation frame', function () {
|
|
var unmount = (0, react_1.render)(React.createElement(Foo, null)).unmount;
|
|
expect(setTimeoutCalled).toEqual(false);
|
|
jest.advanceTimersByTime(100);
|
|
expect(setTimeoutCalled).toEqual(true);
|
|
unmount();
|
|
});
|
|
it('can cancel request animation frame', function () {
|
|
var unmount = (0, react_1.render)(React.createElement(Foo, null)).unmount;
|
|
expect(setTimeoutCalled).toEqual(false);
|
|
unmount();
|
|
jest.advanceTimersByTime(100);
|
|
expect(setTimeoutCalled).toEqual(false);
|
|
});
|
|
});
|
|
});
|
|
//# sourceMappingURL=safeSetTimeout.test.js.map
|