Files
starface-outlook-sync-addin/node_modules/@fluentui/utilities/lib-commonjs/createMergedRef.test.js
T
Stefan Hacker 37ad745546 first commit
2026-04-03 09:38:48 +02:00

39 lines
1.7 KiB
JavaScript

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