UNPKG

gather-content-ui

Version:
54 lines (53 loc) 2.22 kB
"use strict"; var _vitest = require("vitest"); var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _ = require(".."); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } (0, _vitest.describe)("ExpandingTextArea", function () { var originalscrollHeight = Object.getOwnPropertyDescriptor(Element.prototype, "scrollHeight"); afterAll(function () { _vitest.vi.restoreAllMocks(); Object.defineProperty(Element.prototype, "scrollHeight", originalscrollHeight); }); (0, _vitest.it)("renders a textarea hooked up to event handler props", function () { var handleOnChange = _vitest.vi.fn(); var handleOnFocus = _vitest.vi.fn(); var handleOnBlur = _vitest.vi.fn(); (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ExpandingTextArea, { handleOnChange: handleOnChange, handleOnFocus: handleOnFocus, handleOnBlur: handleOnBlur })); (0, _vitest.expect)(_react2.screen.getByRole("textbox").getAttribute("rows")).toEqual("1"); _react2.fireEvent.focus(_react2.screen.getByRole("textbox")); (0, _vitest.expect)(handleOnFocus).toHaveBeenCalled(); _react2.fireEvent.change(_react2.screen.getByRole("textbox"), { target: { value: "well hi!" } }); (0, _vitest.expect)(handleOnChange).toHaveBeenCalled(); _react2.fireEvent.blur(_react2.screen.getByRole("textbox")); (0, _vitest.expect)(handleOnBlur).toHaveBeenCalled(); }); (0, _vitest.it)("calculates the row height", function () { Object.defineProperty(Element.prototype, "scrollHeight", { configurable: true, value: 500 }); _vitest.vi.spyOn(window, "getComputedStyle").mockImplementation(function () { return { paddingTop: 5, paddingBottom: 5, lineHeight: 16 }; }); (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ExpandingTextArea, { handleOnChange: function handleOnChange() {}, value: "beep" })); (0, _vitest.expect)(_react2.screen.getByRole("textbox").getAttribute("rows")).toEqual("30"); }); }); //# sourceMappingURL=ExpandingTextArea.spec.js.map