38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
"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
|