UNPKG

grommet

Version:

focus on the essential experience

226 lines 5.83 kB
import React from 'react'; import renderer from 'react-test-renderer'; import 'jest-styled-components'; import { Grommet } from '../../Grommet'; import { Heading } from '..'; test('Heading renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, null))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Heading level renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { level: 1 }), React.createElement(Heading, { level: 2 }), React.createElement(Heading, { level: 3 }), React.createElement(Heading, { level: 4 }), React.createElement(Heading, { level: "1" }), React.createElement(Heading, { level: "2" }), React.createElement(Heading, { level: "3" }), React.createElement(Heading, { level: "4" }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Heading size renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { level: 1, size: "small" }), React.createElement(Heading, { level: 1, size: "medium" }), React.createElement(Heading, { level: 1, size: "large" }), React.createElement(Heading, { level: 1, size: "xlarge" }), React.createElement(Heading, { level: 2, size: "small" }), React.createElement(Heading, { level: 2, size: "medium" }), React.createElement(Heading, { level: 2, size: "large" }), React.createElement(Heading, { level: 2, size: "xlarge" }), React.createElement(Heading, { level: 3, size: "small" }), React.createElement(Heading, { level: 3, size: "medium" }), React.createElement(Heading, { level: 3, size: "large" }), React.createElement(Heading, { level: 3, size: "xlarge" }), React.createElement(Heading, { level: 4, size: "small" }), React.createElement(Heading, { level: 4, size: "medium" }), React.createElement(Heading, { level: 4, size: "large" }), React.createElement(Heading, { level: 4, size: "xlarge" }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Heading textAlign renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { textAlign: "start" }), React.createElement(Heading, { textAlign: "center" }), React.createElement(Heading, { textAlign: "end" }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Heading margin renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { margin: "small" }), React.createElement(Heading, { margin: "medium" }), React.createElement(Heading, { margin: "large" }), React.createElement(Heading, { margin: "none" }), React.createElement(Heading, { margin: { bottom: 'small' } }), React.createElement(Heading, { margin: { top: 'small' } }), React.createElement(Heading, { margin: { bottom: 'none' } }), React.createElement(Heading, { margin: { top: 'none' } }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Heading color renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { color: "brand" }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); var LONG = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'; test('Heading truncate renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { truncate: false }, LONG), React.createElement(Heading, { truncate: true }, LONG))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('responsive renders', function () { var component = renderer.create(React.createElement(Grommet, null, React.createElement(Heading, { responsive: true }), React.createElement(Heading, { responsive: false }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Theme based font family renders', function () { var customTheme = { heading: { font: { family: 'Fira Sans' }, level: { 1: { font: { family: 'Arial' } }, 2: { font: { family: 'Roboto' } }, 3: { font: { family: 'Ubuntu' } } } } }; var component = renderer.create(React.createElement(Grommet, { theme: customTheme }, React.createElement(Heading, { level: 1 }), React.createElement(Heading, { level: 2 }), React.createElement(Heading, { level: 3 }), React.createElement(Heading, { level: 4 }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('Theme based font weight renders', function () { var customTheme = { heading: { weight: 600, level: { 1: { font: { weight: '700' } }, 2: { font: { weight: '400' } }, 3: { font: { weight: '200' } } } } }; var component = renderer.create(React.createElement(Grommet, { theme: customTheme }, React.createElement(Heading, { level: 1 }), React.createElement(Heading, { level: 2 }), React.createElement(Heading, { level: 3 }), React.createElement(Heading, { level: 4 }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); });