UNPKG

@enact/sandstone

Version:

Large-screen/TV support library for Enact, containing a variety of UI components.

106 lines (105 loc) 3.79 kB
"use strict"; require("@testing-library/jest-dom"); var _react = require("@testing-library/react"); var _IconItem = require("../IconItem"); var _jsxRuntime = require("react/jsx-runtime"); describe('IconItem', function () { test('should support `background` prop', function () { var background = '#ffffff'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { background: background, "data-testid": "iconitem", icon: "star" })); var expected = 'rgb(255, 255, 255)'; var actual = _react.screen.getByTestId('iconitem').children[0].style; expect(actual).toHaveProperty('background', expected); }); test('should support `bordered` prop', function () { (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { bordered: true, "data-testid": "iconitem" })); var expected = 'bordered'; var actual = _react.screen.getByTestId('iconitem'); expect(actual).toHaveClass(expected); }); test('should support `children` prop', function () { var Children = function Children() { return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { children: "Test" }); }; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Children, {}) })); var expected = 'Test'; var actual = _react.screen.getByText(expected); expect(actual).toHaveTextContent(expected); }); test('should support `icon` prop', function () { var icon = 'star'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { "data-testid": "iconitem", icon: icon })); var expected = 983080; // decimal converted charCode of Unicode 'star' character var actual = _react.screen.getByTestId('iconitem').textContent.codePointAt(); expect(actual).toBe(expected); }); test('should support `image` prop', function () { var imageSrc = 'imageSrc'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { image: { src: imageSrc, size: { width: '100px', height: '100px' } } })); var expected = imageSrc; var actual = _react.screen.getAllByRole('img')[0].children.item(0); expect(actual).toHaveAttribute('src', expected); }); test('should support `label` prop', function () { var label = 'label'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { label: label })); var expected = label; var actual = _react.screen.getByText(label); expect(actual).toHaveTextContent(expected); }); test('should support `labelOn` prop', function () { var label = 'label'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { "data-testid": "iconitem", label: label, labelOn: "focus" })); var expected = 'labelOnFocus'; var actual = _react.screen.getByTestId('iconitem'); expect(actual).toHaveClass(expected); }); test('should support `title` prop', function () { var title = 'title'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { title: title })); var expected = title; var actual = _react.screen.getByText(title); expect(actual).toHaveTextContent(expected); }); test('should support `titleOn` prop', function () { var title = 'title'; (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconItem.IconItemBase, { "data-testid": "iconitem", title: title, titleOn: "focus" })); var expected = 'titleOnFocus'; var actual = _react.screen.getByTestId('iconitem'); expect(actual).toHaveClass(expected); }); });