@enact/ui
Version:
A collection of simplified unstyled cross-platform UI components for Enact
135 lines (134 loc) • 5.25 kB
JavaScript
;
require("@testing-library/jest-dom");
var _react = require("@testing-library/react");
var _Heading = _interopRequireDefault(require("../Heading"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
describe('Heading Specs', function () {
test('should render a Heading with content', function () {
var content = 'Hello Heading!';
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
children: content
}));
var actual = _react.screen.getByText('Hello Heading!');
expect(actual).toBeInTheDocument();
});
test('should have medium class by default', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
children: "Heading Text"
}));
var expected = 'medium';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have title class if `size` is title', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "title",
children: "Heading Text"
}));
var expected = 'title';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have subtitle class if `size` is subtitle', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "subtitle",
children: "Heading Text"
}));
var expected = 'subtitle';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have large class if `size` is large', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "large",
children: "Heading Text"
}));
var expected = 'large';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have small class if `size` is small', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "small",
children: "Heading Text"
}));
var expected = 'small';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have tiny class if `size` is tiny', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "tiny",
children: "Heading Text"
}));
var expected = 'tiny';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should apply a matching spacing class to its defined size', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "large",
children: "Heading Text"
}));
var expected = 'largeSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should apply an alternate spacing class to its defined size if the two differ', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "large",
spacing: "small",
children: "Heading Text"
}));
var expected = 'smallSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have largeSpacing class if `spacing` is large', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
spacing: "large",
children: "Heading Text"
}));
var expected = 'largeSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have mediumSpacing class if `spacing` is medium', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
spacing: "medium",
children: "Heading Text"
}));
var expected = 'mediumSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have smallSpacing class if `spacing` is small', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
spacing: "small",
children: "Heading Text"
}));
var expected = 'smallSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should have noneSpacing class if `spacing` is none', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
spacing: "none",
children: "Heading Text"
}));
var expected = 'noneSpacing';
var actual = _react.screen.getByText('Heading Text');
expect(actual).toHaveClass(expected);
});
test('should return a DOM node reference for `componentRef`', function () {
var ref = jest.fn();
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Heading["default"], {
size: "large",
ref: ref
}));
var expected = 'H3';
var actual = ref.mock.calls[0][0].nodeName;
expect(actual).toBe(expected);
});
});