"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var createMergedRef_1 = require("./createMergedRef"); var enzyme_1 = require("enzyme"); 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