@enact/moonstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
49 lines (48 loc) • 2.22 kB
JavaScript
;
require("@testing-library/jest-dom");
var _react = require("@testing-library/react");
var _Spinner = _interopRequireDefault(require("../Spinner"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
describe('Spinner Specs', function () {
test('should not have client node when Spinner has no children', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {}));
var spinner = _react.screen.getByRole('alert');
var children = spinner.children;
expect(children.length).toEqual(1);
expect(children.item(0)).not.toHaveClass('client');
});
test('should have a client node when Spinner has children', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
children: "Loading..."
}));
var spinner = _react.screen.getByRole('alert');
var childClient = spinner.children.item(1);
expect(childClient).toHaveClass('client');
});
test('should have content class when Spinner has children', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
children: "Loading..."
}));
var spinner = _react.screen.getByRole('alert');
expect(spinner).toHaveClass('content');
});
test('should have transparent class when transparent prop equals true', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
transparent: true,
children: "Loading..."
}));
var spinner = _react.screen.getByRole('alert');
expect(spinner).toHaveClass('transparent');
});
test('should set role to alert by default', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {}));
var spinner = _react.screen.getByLabelText('Loading');
expect(spinner).toHaveAttribute('role', 'alert');
});
test('should set aria-live to off by default', function () {
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {}));
var spinner = _react.screen.getByRole('alert');
expect(spinner).toHaveAttribute('aria-live', 'off');
});
});