@enact/sandstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
106 lines (105 loc) • 3.79 kB
JavaScript
;
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);
});
});