"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var enzyme_1 = require("enzyme"); var extendComponent_1 = require("./extendComponent"); describe('extendComponent', function () { it('can extend a component with custom lifetime methods', function () { var didMount = 0; var willUnmount = 0; var Foo = /** @class */ (function (_super) { tslib_1.__extends(Foo, _super); function Foo(props) { var _this = _super.call(this, props) || this; (0, extendComponent_1.extendComponent)(_this, { componentDidMount: function () { return didMount++; }, componentWillUnmount: function () { return willUnmount++; }, }); return _this; } Foo.prototype.componentDidMount = function () { didMount++; }; Foo.prototype.componentWillUnmount = function () { willUnmount++; }; Foo.prototype.render = function () { return React.createElement("div", null); }; return Foo; }(React.Component)); var wrapper = (0, enzyme_1.mount)(React.createElement(Foo, null)); wrapper.unmount(); expect(didMount).toEqual(2); expect(willUnmount).toEqual(2); }); }); //# sourceMappingURL=extendComponent.test.js.map