37 lines
1.8 KiB
JavaScript
37 lines
1.8 KiB
JavaScript
define(["require", "exports", "tslib", "react", "./createMergedRef", "enzyme"], function (require, exports, tslib_1, React, createMergedRef_1, enzyme_1) {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
describe('createMergedRef', function () {
|
|
it('can merge refs', function () {
|
|
var ref1 = React.createRef();
|
|
var Foo = /** @class */ (function (_super) {
|
|
tslib_1.__extends(Foo, _super);
|
|
function Foo() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.mergedRef = (0, createMergedRef_1.createMergedRef)();
|
|
return _this;
|
|
}
|
|
Foo.prototype.render = function () {
|
|
return React.createElement("div", { ref: this.mergedRef(this.props.domRef, ref1) });
|
|
};
|
|
return Foo;
|
|
}(React.Component));
|
|
var ref2 = React.createRef();
|
|
var wrapper = (0, enzyme_1.mount)(React.createElement(Foo, { domRef: ref2 }));
|
|
expect(ref1.current).toBeTruthy();
|
|
expect(ref2.current).toBeTruthy();
|
|
wrapper.unmount();
|
|
expect(ref1.current).toBeNull();
|
|
expect(ref2.current).toBeNull();
|
|
});
|
|
it('returns the same ref object with the same input twice', function () {
|
|
var mergedRef = (0, createMergedRef_1.createMergedRef)();
|
|
expect(mergedRef()).toBe(mergedRef());
|
|
});
|
|
it('should return a new resolver if the refs change', function () {
|
|
var mergedRef = (0, createMergedRef_1.createMergedRef)();
|
|
expect(mergedRef(null)).not.toBe(mergedRef(React.createRef()));
|
|
});
|
|
});
|
|
});
|
|
//# sourceMappingURL=createMergedRef.test.js.map
|