import { __extends } from "tslib"; import * as React from 'react'; import { safeSetTimeout } from './safeSetTimeout'; import { mount } from 'enzyme'; describe('safeSetTimeout', function () { var setTimeoutCalled = false; var Foo = /** @class */ (function (_super) { __extends(Foo, _super); function Foo(props) { var _this = _super.call(this, props) || this; _this._setTimeout = 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 () { mount(React.createElement(Foo, null)); expect(setTimeoutCalled).toEqual(false); jest.advanceTimersByTime(100); expect(setTimeoutCalled).toEqual(true); }); it('can cancel request animation frame', function () { var wrapper = mount(React.createElement(Foo, null)); expect(setTimeoutCalled).toEqual(false); wrapper.unmount(); jest.advanceTimersByTime(100); expect(setTimeoutCalled).toEqual(false); }); }); //# sourceMappingURL=safeSetTimeout.test.js.map