UNPKG

@enact/ui

Version:

A collection of simplified unstyled cross-platform UI components for Enact

135 lines (134 loc) 5.25 kB
"use strict"; 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); }); });