UNPKG

react-in-viewport

Version:

Track React component in viewport using Intersection Observer API

38 lines (37 loc) 1.52 kB
"use strict"; var _react = require("react"); var _react2 = require("@testing-library/react"); var _index = require("../index"); var _jsxRuntime = require("react/jsx-runtime"); function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var DemoClass = /*#__PURE__*/function (_PureComponent) { _inheritsLoose(DemoClass, _PureComponent); function DemoClass() { return _PureComponent.apply(this, arguments) || this; } var _proto = DemoClass.prototype; _proto.render = function render() { var inViewport = this.props.inViewport; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { style: { width: '400px', height: '300px' }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "content", "data-testid": "content", children: inViewport ? 'in viewport' : 'not in viewport' }) }); }; return DemoClass; }(_react.PureComponent); describe('In Viewport', function () { it('basic render', function () { var TestNode = (0, _index.handleViewport)(DemoClass); var _render = (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(TestNode, {})), getByTestId = _render.getByTestId; expect(getByTestId('content').innerHTML).toEqual('not in viewport'); }); });