@wix/design-system
Version:
@wix/design-system
151 lines (150 loc) • 6.44 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireWildcard(require("react"));
var _react2 = require("@testing-library/react");
var _useOverlayScrollbar3 = require("../useOverlayScrollbar");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/providers/useOverlayScrollbar/tests/useOverlayScrollbar.spec.tsx",
_this = void 0;
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
vi.mock('../useOverlayScrollbar.st.css', () => ({
st: () => 'mocked-class',
classes: {
root: 'mocked-root-class'
}
}));
describe('useOverlayScrollbar', () => {
it('sanity check', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var _renderHook = (0, _react2.renderHook)(() => (0, _useOverlayScrollbar3.useOverlayScrollbar)()),
result = _renderHook.result;
var _result$current = (0, _slicedToArray2.default)(result.current, 2),
OverlayScrollbarHostElement = _result$current[0],
OverlayScrollbarContentElement = _result$current[1];
expect(typeof OverlayScrollbarHostElement).toBe('function');
// forwardRef makes it return object instead of function
expect(typeof OverlayScrollbarContentElement).toBe('object');
}));
});
describe('Host and Content Elements', () => {
it.skip('should render', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var _renderHook2 = (0, _react2.renderHook)(() => (0, _useOverlayScrollbar3.useOverlayScrollbar)()),
result = _renderHook2.result;
var _result$current2 = (0, _slicedToArray2.default)(result.current, 2),
OverlayScrollbarHostElement = _result$current2[0],
OverlayScrollbarContentElement = _result$current2[1];
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(OverlayScrollbarHostElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 33,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement(OverlayScrollbarContentElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 34,
columnNumber: 9
}
}, "content"))),
container = _render.container;
expect(container).toMatchSnapshot();
}));
it.skip('should work after rerendering child', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var _renderHook3 = (0, _react2.renderHook)(() => (0, _useOverlayScrollbar3.useOverlayScrollbar)()),
result = _renderHook3.result;
var _result$current3 = (0, _slicedToArray2.default)(result.current, 2),
OverlayScrollbarHostElement = _result$current3[0],
OverlayScrollbarContentElement = _result$current3[1];
var _render2 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(OverlayScrollbarHostElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 48,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement(OverlayScrollbarContentElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 49,
columnNumber: 9
}
}, "content"))),
container = _render2.container,
rerender = _render2.rerender;
rerender(/*#__PURE__*/_react.default.createElement(OverlayScrollbarHostElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 54,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement(OverlayScrollbarContentElement, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 55,
columnNumber: 9
}
}, "new content")));
expect(container).toMatchSnapshot();
}));
it('should keep children mounted during a re-render', () => {
var onUnmount = vi.fn();
var Child = () => {
(0, _react.useEffect)(() => {
return onUnmount;
}, []);
return null;
};
var Component = () => {
var _useOverlayScrollbar = (0, _useOverlayScrollbar3.useOverlayScrollbar)(),
_useOverlayScrollbar2 = (0, _slicedToArray2.default)(_useOverlayScrollbar, 2),
OverlayScrollbarHostElement = _useOverlayScrollbar2[0],
OverlayScrollbarContentElement = _useOverlayScrollbar2[1];
return /*#__PURE__*/_react.default.createElement(OverlayScrollbarHostElement, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 79,
columnNumber: 9
}
}, /*#__PURE__*/_react.default.createElement(OverlayScrollbarContentElement, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 80,
columnNumber: 11
}
}, /*#__PURE__*/_react.default.createElement(Child, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 81,
columnNumber: 13
}
})));
};
var _render3 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 87,
columnNumber: 33
}
})),
rerender = _render3.rerender;
rerender(/*#__PURE__*/_react.default.createElement(Component, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 88,
columnNumber: 14
}
}));
expect(onUnmount).not.toHaveBeenCalled();
});
});
//# sourceMappingURL=useOverlayScrollbar.spec.js.map