import * as React from 'react';
import { render } from '@testing-library/react';
import {
BorderStyle,
Display,
FlexDirection,
FlexWrap,
AlignItems,
JustifyContent,
TextAlign,
BlockSize,
BorderRadius,
BorderColor,
BackgroundColor,
TextColor,
} from '../../../helpers/constants/design-system';
import { Box } from '.';
describe('Box', () => {
it('should render the Box without crashing', () => {
const { getByText } = render(Box content);
expect(getByText('Box content')).toBeDefined();
});
describe('margin', () => {
it('should render the Box with the margin classes', () => {
const { getByText } = render(
<>
Box margin 0
Box margin 1
Box margin 2
Box margin 3
Box margin 4
Box margin 5
Box margin 6
Box margin 7
Box margin 8
Box margin 9
Box margin 10
Box margin 11
Box margin 12
Box margin auto
>,
);
expect(getByText('Box margin 0')).toHaveClass('mm-box--margin-0');
expect(getByText('Box margin 1')).toHaveClass('mm-box--margin-1');
expect(getByText('Box margin 2')).toHaveClass('mm-box--margin-2');
expect(getByText('Box margin 3')).toHaveClass('mm-box--margin-3');
expect(getByText('Box margin 4')).toHaveClass('mm-box--margin-4');
expect(getByText('Box margin 5')).toHaveClass('mm-box--margin-5');
expect(getByText('Box margin 6')).toHaveClass('mm-box--margin-6');
expect(getByText('Box margin 7')).toHaveClass('mm-box--margin-7');
expect(getByText('Box margin 8')).toHaveClass('mm-box--margin-8');
expect(getByText('Box margin 9')).toHaveClass('mm-box--margin-9');
expect(getByText('Box margin 10')).toHaveClass('mm-box--margin-10');
expect(getByText('Box margin 11')).toHaveClass('mm-box--margin-11');
expect(getByText('Box margin 12')).toHaveClass('mm-box--margin-12');
expect(getByText('Box margin auto')).toHaveClass('mm-box--margin-auto');
});
it('should render the Box with the responsive margin classes', () => {
const { getByText } = render(
<>
Box margin 0
Box margin 1
Box margin 2
Box margin 3
Box margin 4
Box margin 5
Box margin 6
Box margin 7
Box margin 8
Box margin 9
Box margin 10
Box margin 11
Box margin 12
Box margin auto
>,
);
expect(getByText('Box margin 0')).toHaveClass(
'mm-box--margin-0 mm-box--sm:margin-0 mm-box--md:margin-0 mm-box--lg:margin-0',
);
expect(getByText('Box margin 1')).toHaveClass(
'mm-box--margin-1 mm-box--sm:margin-1 mm-box--md:margin-1 mm-box--lg:margin-1',
);
expect(getByText('Box margin 2')).toHaveClass(
'mm-box--margin-2 mm-box--sm:margin-2 mm-box--md:margin-2 mm-box--lg:margin-2',
);
expect(getByText('Box margin 3')).toHaveClass(
'mm-box--margin-3 mm-box--sm:margin-3 mm-box--md:margin-3 mm-box--lg:margin-3',
);
expect(getByText('Box margin 4')).toHaveClass(
'mm-box--margin-4 mm-box--sm:margin-4 mm-box--md:margin-4 mm-box--lg:margin-4',
);
expect(getByText('Box margin 5')).toHaveClass(
'mm-box--margin-5 mm-box--sm:margin-5 mm-box--md:margin-5 mm-box--lg:margin-5',
);
expect(getByText('Box margin 6')).toHaveClass(
'mm-box--margin-6 mm-box--sm:margin-6 mm-box--md:margin-6 mm-box--lg:margin-6',
);
expect(getByText('Box margin 7')).toHaveClass(
'mm-box--margin-7 mm-box--sm:margin-7 mm-box--md:margin-7 mm-box--lg:margin-7',
);
expect(getByText('Box margin 8')).toHaveClass(
'mm-box--margin-8 mm-box--sm:margin-8 mm-box--md:margin-8 mm-box--lg:margin-8',
);
expect(getByText('Box margin 9')).toHaveClass(
'mm-box--margin-9 mm-box--sm:margin-9 mm-box--md:margin-9 mm-box--lg:margin-9',
);
expect(getByText('Box margin 10')).toHaveClass(
'mm-box--margin-10 mm-box--sm:margin-10 mm-box--md:margin-10 mm-box--lg:margin-10',
);
expect(getByText('Box margin 11')).toHaveClass(
'mm-box--margin-11 mm-box--sm:margin-11 mm-box--md:margin-11 mm-box--lg:margin-11',
);
expect(getByText('Box margin 12')).toHaveClass(
'mm-box--margin-12 mm-box--sm:margin-12 mm-box--md:margin-12 mm-box--lg:margin-12',
);
expect(getByText('Box margin auto')).toHaveClass(
'mm-box--margin-auto mm-box--sm:margin-auto mm-box--md:margin-auto mm-box--lg:margin-auto',
);
});
it('should render the Box with the marginTop classes', () => {
const { getByText } = render(
<>
Box marginTop 0
Box marginTop 1
Box marginTop 2
Box marginTop 3
Box marginTop 4
Box marginTop 5
Box marginTop 6
Box marginTop 7
Box marginTop 8
Box marginTop 9
Box marginTop 10
Box marginTop 11
Box marginTop 12
Box marginTop auto
>,
);
expect(getByText('Box marginTop 0')).toHaveClass('mm-box--margin-top-0');
expect(getByText('Box marginTop 1')).toHaveClass('mm-box--margin-top-1');
expect(getByText('Box marginTop 2')).toHaveClass('mm-box--margin-top-2');
expect(getByText('Box marginTop 3')).toHaveClass('mm-box--margin-top-3');
expect(getByText('Box marginTop 4')).toHaveClass('mm-box--margin-top-4');
expect(getByText('Box marginTop 5')).toHaveClass('mm-box--margin-top-5');
expect(getByText('Box marginTop 6')).toHaveClass('mm-box--margin-top-6');
expect(getByText('Box marginTop 7')).toHaveClass('mm-box--margin-top-7');
expect(getByText('Box marginTop 8')).toHaveClass('mm-box--margin-top-8');
expect(getByText('Box marginTop 9')).toHaveClass('mm-box--margin-top-9');
expect(getByText('Box marginTop 10')).toHaveClass(
'mm-box--margin-top-10',
);
expect(getByText('Box marginTop 11')).toHaveClass(
'mm-box--margin-top-11',
);
expect(getByText('Box marginTop 12')).toHaveClass(
'mm-box--margin-top-12',
);
expect(getByText('Box marginTop auto')).toHaveClass(
'mm-box--margin-top-auto',
);
});
it('should render the Box with the responsive marginTop classes', () => {
const { getByText } = render(
<>
Box marginTop 0
Box marginTop 1
Box marginTop 2
Box marginTop 3
Box marginTop 4
Box marginTop 5
Box marginTop 6
Box marginTop 7
Box marginTop 8
Box marginTop 9
Box marginTop 10
Box marginTop 11
Box marginTop 12
Box marginTop auto
>,
);
expect(getByText('Box marginTop 0')).toHaveClass(
'mm-box--margin-top-0 mm-box--sm:margin-top-0 mm-box--md:margin-top-0 mm-box--lg:margin-top-0',
);
expect(getByText('Box marginTop 1')).toHaveClass(
'mm-box--margin-top-1 mm-box--sm:margin-top-1 mm-box--md:margin-top-1 mm-box--lg:margin-top-1',
);
expect(getByText('Box marginTop 2')).toHaveClass(
'mm-box--margin-top-2 mm-box--sm:margin-top-2 mm-box--md:margin-top-2 mm-box--lg:margin-top-2',
);
expect(getByText('Box marginTop 3')).toHaveClass(
'mm-box--margin-top-3 mm-box--sm:margin-top-3 mm-box--md:margin-top-3 mm-box--lg:margin-top-3',
);
expect(getByText('Box marginTop 4')).toHaveClass(
'mm-box--margin-top-4 mm-box--sm:margin-top-4 mm-box--md:margin-top-4 mm-box--lg:margin-top-4',
);
expect(getByText('Box marginTop 5')).toHaveClass(
'mm-box--margin-top-5 mm-box--sm:margin-top-5 mm-box--md:margin-top-5 mm-box--lg:margin-top-5',
);
expect(getByText('Box marginTop 6')).toHaveClass(
'mm-box--margin-top-6 mm-box--sm:margin-top-6 mm-box--md:margin-top-6 mm-box--lg:margin-top-6',
);
expect(getByText('Box marginTop 7')).toHaveClass(
'mm-box--margin-top-7 mm-box--sm:margin-top-7 mm-box--md:margin-top-7 mm-box--lg:margin-top-7',
);
expect(getByText('Box marginTop 8')).toHaveClass(
'mm-box--margin-top-8 mm-box--sm:margin-top-8 mm-box--md:margin-top-8 mm-box--lg:margin-top-8',
);
expect(getByText('Box marginTop 9')).toHaveClass(
'mm-box--margin-top-9 mm-box--sm:margin-top-9 mm-box--md:margin-top-9 mm-box--lg:margin-top-9',
);
expect(getByText('Box marginTop 10')).toHaveClass(
'mm-box--margin-top-10 mm-box--sm:margin-top-10 mm-box--md:margin-top-10 mm-box--lg:margin-top-10',
);
expect(getByText('Box marginTop 11')).toHaveClass(
'mm-box--margin-top-11 mm-box--sm:margin-top-11 mm-box--md:margin-top-11 mm-box--lg:margin-top-11',
);
expect(getByText('Box marginTop 12')).toHaveClass(
'mm-box--margin-top-12 mm-box--sm:margin-top-12 mm-box--md:margin-top-12 mm-box--lg:margin-top-12',
);
expect(getByText('Box marginTop auto')).toHaveClass(
'mm-box--margin-top-auto mm-box--sm:margin-top-auto mm-box--md:margin-top-auto mm-box--lg:margin-top-auto',
);
});
it('should render the Box with the marginRight classes', () => {
const { getByText } = render(
<>
Box marginRight 0
Box marginRight 1
Box marginRight 2
Box marginRight 3
Box marginRight 4
Box marginRight 5
Box marginRight 6
Box marginRight 7
Box marginRight 8
Box marginRight 9
Box marginRight 10
Box marginRight 11
Box marginRight 12
Box marginRight auto
>,
);
expect(getByText('Box marginRight 0')).toHaveClass(
'mm-box--margin-right-0',
);
expect(getByText('Box marginRight 1')).toHaveClass(
'mm-box--margin-right-1',
);
expect(getByText('Box marginRight 2')).toHaveClass(
'mm-box--margin-right-2',
);
expect(getByText('Box marginRight 3')).toHaveClass(
'mm-box--margin-right-3',
);
expect(getByText('Box marginRight 4')).toHaveClass(
'mm-box--margin-right-4',
);
expect(getByText('Box marginRight 5')).toHaveClass(
'mm-box--margin-right-5',
);
expect(getByText('Box marginRight 6')).toHaveClass(
'mm-box--margin-right-6',
);
expect(getByText('Box marginRight 7')).toHaveClass(
'mm-box--margin-right-7',
);
expect(getByText('Box marginRight 8')).toHaveClass(
'mm-box--margin-right-8',
);
expect(getByText('Box marginRight 9')).toHaveClass(
'mm-box--margin-right-9',
);
expect(getByText('Box marginRight 10')).toHaveClass(
'mm-box--margin-right-10',
);
expect(getByText('Box marginRight 11')).toHaveClass(
'mm-box--margin-right-11',
);
expect(getByText('Box marginRight 12')).toHaveClass(
'mm-box--margin-right-12',
);
expect(getByText('Box marginRight auto')).toHaveClass(
'mm-box--margin-right-auto',
);
});
it('should render the Box with the responsive marginRight classes', () => {
const { getByText } = render(
<>
Box marginRight 0
Box marginRight 1
Box marginRight 2
Box marginRight 3
Box marginRight 4
Box marginRight 5
Box marginRight 6
Box marginRight 7
Box marginRight 8
Box marginRight 9
Box marginRight 10
Box marginRight 11
Box marginRight 12
Box marginRight auto
>,
);
expect(getByText('Box marginRight 0')).toHaveClass(
'mm-box--margin-right-0 mm-box--sm:margin-right-0 mm-box--md:margin-right-0 mm-box--lg:margin-right-0',
);
expect(getByText('Box marginRight 1')).toHaveClass(
'mm-box--margin-right-1 mm-box--sm:margin-right-1 mm-box--md:margin-right-1 mm-box--lg:margin-right-1',
);
expect(getByText('Box marginRight 2')).toHaveClass(
'mm-box--margin-right-2 mm-box--sm:margin-right-2 mm-box--md:margin-right-2 mm-box--lg:margin-right-2',
);
expect(getByText('Box marginRight 3')).toHaveClass(
'mm-box--margin-right-3 mm-box--sm:margin-right-3 mm-box--md:margin-right-3 mm-box--lg:margin-right-3',
);
expect(getByText('Box marginRight 4')).toHaveClass(
'mm-box--margin-right-4 mm-box--sm:margin-right-4 mm-box--md:margin-right-4 mm-box--lg:margin-right-4',
);
expect(getByText('Box marginRight 5')).toHaveClass(
'mm-box--margin-right-5 mm-box--sm:margin-right-5 mm-box--md:margin-right-5 mm-box--lg:margin-right-5',
);
expect(getByText('Box marginRight 6')).toHaveClass(
'mm-box--margin-right-6 mm-box--sm:margin-right-6 mm-box--md:margin-right-6 mm-box--lg:margin-right-6',
);
expect(getByText('Box marginRight 7')).toHaveClass(
'mm-box--margin-right-7 mm-box--sm:margin-right-7 mm-box--md:margin-right-7 mm-box--lg:margin-right-7',
);
expect(getByText('Box marginRight 8')).toHaveClass(
'mm-box--margin-right-8 mm-box--sm:margin-right-8 mm-box--md:margin-right-8 mm-box--lg:margin-right-8',
);
expect(getByText('Box marginRight 9')).toHaveClass(
'mm-box--margin-right-9 mm-box--sm:margin-right-9 mm-box--md:margin-right-9 mm-box--lg:margin-right-9',
);
expect(getByText('Box marginRight 10')).toHaveClass(
'mm-box--margin-right-10 mm-box--sm:margin-right-10 mm-box--md:margin-right-10 mm-box--lg:margin-right-10',
);
expect(getByText('Box marginRight 11')).toHaveClass(
'mm-box--margin-right-11 mm-box--sm:margin-right-11 mm-box--md:margin-right-11 mm-box--lg:margin-right-11',
);
expect(getByText('Box marginRight 12')).toHaveClass(
'mm-box--margin-right-12 mm-box--sm:margin-right-12 mm-box--md:margin-right-12 mm-box--lg:margin-right-12',
);
expect(getByText('Box marginRight auto')).toHaveClass(
'mm-box--margin-right-auto mm-box--sm:margin-right-auto mm-box--md:margin-right-auto mm-box--lg:margin-right-auto',
);
});
it('should render the Box with the marginBottom classes', () => {
const { getByText } = render(
<>
Box marginBottom 0
Box marginBottom 1
Box marginBottom 2
Box marginBottom 3
Box marginBottom 4
Box marginBottom 5
Box marginBottom 6
Box marginBottom 7
Box marginBottom 8
Box marginBottom 9
Box marginBottom 10
Box marginBottom 11
Box marginBottom 12
Box marginBottom auto
>,
);
expect(getByText('Box marginBottom 0')).toHaveClass(
'mm-box--margin-bottom-0',
);
expect(getByText('Box marginBottom 1')).toHaveClass(
'mm-box--margin-bottom-1',
);
expect(getByText('Box marginBottom 2')).toHaveClass(
'mm-box--margin-bottom-2',
);
expect(getByText('Box marginBottom 3')).toHaveClass(
'mm-box--margin-bottom-3',
);
expect(getByText('Box marginBottom 4')).toHaveClass(
'mm-box--margin-bottom-4',
);
expect(getByText('Box marginBottom 5')).toHaveClass(
'mm-box--margin-bottom-5',
);
expect(getByText('Box marginBottom 6')).toHaveClass(
'mm-box--margin-bottom-6',
);
expect(getByText('Box marginBottom 7')).toHaveClass(
'mm-box--margin-bottom-7',
);
expect(getByText('Box marginBottom 8')).toHaveClass(
'mm-box--margin-bottom-8',
);
expect(getByText('Box marginBottom 9')).toHaveClass(
'mm-box--margin-bottom-9',
);
expect(getByText('Box marginBottom 10')).toHaveClass(
'mm-box--margin-bottom-10',
);
expect(getByText('Box marginBottom 11')).toHaveClass(
'mm-box--margin-bottom-11',
);
expect(getByText('Box marginBottom 12')).toHaveClass(
'mm-box--margin-bottom-12',
);
expect(getByText('Box marginBottom auto')).toHaveClass(
'mm-box--margin-bottom-auto',
);
});
it('should render the Box with the responsive marginBottom classes', () => {
const { getByText } = render(
<>
Box marginBottom 0
Box marginBottom 1
Box marginBottom 2
Box marginBottom 3
Box marginBottom 4
Box marginBottom 5
Box marginBottom 6
Box marginBottom 7
Box marginBottom 8
Box marginBottom 9
Box marginBottom 10
Box marginBottom 11
Box marginBottom 12
Box marginBottom auto
>,
);
expect(getByText('Box marginBottom 0')).toHaveClass(
'mm-box--margin-bottom-0 mm-box--sm:margin-bottom-0 mm-box--md:margin-bottom-0 mm-box--lg:margin-bottom-0',
);
expect(getByText('Box marginBottom 1')).toHaveClass(
'mm-box--margin-bottom-1 mm-box--sm:margin-bottom-1 mm-box--md:margin-bottom-1 mm-box--lg:margin-bottom-1',
);
expect(getByText('Box marginBottom 2')).toHaveClass(
'mm-box--margin-bottom-2 mm-box--sm:margin-bottom-2 mm-box--md:margin-bottom-2 mm-box--lg:margin-bottom-2',
);
expect(getByText('Box marginBottom 3')).toHaveClass(
'mm-box--margin-bottom-3 mm-box--sm:margin-bottom-3 mm-box--md:margin-bottom-3 mm-box--lg:margin-bottom-3',
);
expect(getByText('Box marginBottom 4')).toHaveClass(
'mm-box--margin-bottom-4 mm-box--sm:margin-bottom-4 mm-box--md:margin-bottom-4 mm-box--lg:margin-bottom-4',
);
expect(getByText('Box marginBottom 5')).toHaveClass(
'mm-box--margin-bottom-5 mm-box--sm:margin-bottom-5 mm-box--md:margin-bottom-5 mm-box--lg:margin-bottom-5',
);
expect(getByText('Box marginBottom 6')).toHaveClass(
'mm-box--margin-bottom-6 mm-box--sm:margin-bottom-6 mm-box--md:margin-bottom-6 mm-box--lg:margin-bottom-6',
);
expect(getByText('Box marginBottom 7')).toHaveClass(
'mm-box--margin-bottom-7 mm-box--sm:margin-bottom-7 mm-box--md:margin-bottom-7 mm-box--lg:margin-bottom-7',
);
expect(getByText('Box marginBottom 8')).toHaveClass(
'mm-box--margin-bottom-8 mm-box--sm:margin-bottom-8 mm-box--md:margin-bottom-8 mm-box--lg:margin-bottom-8',
);
expect(getByText('Box marginBottom 9')).toHaveClass(
'mm-box--margin-bottom-9 mm-box--sm:margin-bottom-9 mm-box--md:margin-bottom-9 mm-box--lg:margin-bottom-9',
);
expect(getByText('Box marginBottom 10')).toHaveClass(
'mm-box--margin-bottom-10 mm-box--sm:margin-bottom-10 mm-box--md:margin-bottom-10 mm-box--lg:margin-bottom-10',
);
expect(getByText('Box marginBottom 11')).toHaveClass(
'mm-box--margin-bottom-11 mm-box--sm:margin-bottom-11 mm-box--md:margin-bottom-11 mm-box--lg:margin-bottom-11',
);
expect(getByText('Box marginBottom 12')).toHaveClass(
'mm-box--margin-bottom-12 mm-box--sm:margin-bottom-12 mm-box--md:margin-bottom-12 mm-box--lg:margin-bottom-12',
);
expect(getByText('Box marginBottom auto')).toHaveClass(
'mm-box--margin-bottom-auto mm-box--sm:margin-bottom-auto mm-box--md:margin-bottom-auto mm-box--lg:margin-bottom-auto',
);
});
it('should render the Box with the marginLeft classes', () => {
const { getByText } = render(
<>
Box marginLeft 0
Box marginLeft 1
Box marginLeft 2
Box marginLeft 3
Box marginLeft 4
Box marginLeft 5
Box marginLeft 6
Box marginLeft 7
Box marginLeft 8
Box marginLeft 9
Box marginLeft 10
Box marginLeft 11
Box marginLeft 12
Box marginLeft auto
>,
);
expect(getByText('Box marginLeft 0')).toHaveClass(
'mm-box--margin-left-0',
);
expect(getByText('Box marginLeft 1')).toHaveClass(
'mm-box--margin-left-1',
);
expect(getByText('Box marginLeft 2')).toHaveClass(
'mm-box--margin-left-2',
);
expect(getByText('Box marginLeft 3')).toHaveClass(
'mm-box--margin-left-3',
);
expect(getByText('Box marginLeft 4')).toHaveClass(
'mm-box--margin-left-4',
);
expect(getByText('Box marginLeft 5')).toHaveClass(
'mm-box--margin-left-5',
);
expect(getByText('Box marginLeft 6')).toHaveClass(
'mm-box--margin-left-6',
);
expect(getByText('Box marginLeft 7')).toHaveClass(
'mm-box--margin-left-7',
);
expect(getByText('Box marginLeft 8')).toHaveClass(
'mm-box--margin-left-8',
);
expect(getByText('Box marginLeft 9')).toHaveClass(
'mm-box--margin-left-9',
);
expect(getByText('Box marginLeft 10')).toHaveClass(
'mm-box--margin-left-10',
);
expect(getByText('Box marginLeft 11')).toHaveClass(
'mm-box--margin-left-11',
);
expect(getByText('Box marginLeft 12')).toHaveClass(
'mm-box--margin-left-12',
);
expect(getByText('Box marginLeft auto')).toHaveClass(
'mm-box--margin-left-auto',
);
});
it('should render the Box with the responsive marginLeft classes', () => {
const { getByText } = render(
<>
Box marginLeft 0
Box marginLeft 1
Box marginLeft 2
Box marginLeft 3
Box marginLeft 4
Box marginLeft 5
Box marginLeft 6
Box marginLeft 7
Box marginLeft 8
Box marginLeft 9
Box marginLeft 10
Box marginLeft 11
Box marginLeft 12
Box marginLeft auto
>,
);
expect(getByText('Box marginLeft 0')).toHaveClass(
'mm-box--margin-left-0 mm-box--sm:margin-left-0 mm-box--md:margin-left-0 mm-box--lg:margin-left-0',
);
expect(getByText('Box marginLeft 1')).toHaveClass(
'mm-box--margin-left-1 mm-box--sm:margin-left-1 mm-box--md:margin-left-1 mm-box--lg:margin-left-1',
);
expect(getByText('Box marginLeft 2')).toHaveClass(
'mm-box--margin-left-2 mm-box--sm:margin-left-2 mm-box--md:margin-left-2 mm-box--lg:margin-left-2',
);
expect(getByText('Box marginLeft 3')).toHaveClass(
'mm-box--margin-left-3 mm-box--sm:margin-left-3 mm-box--md:margin-left-3 mm-box--lg:margin-left-3',
);
expect(getByText('Box marginLeft 4')).toHaveClass(
'mm-box--margin-left-4 mm-box--sm:margin-left-4 mm-box--md:margin-left-4 mm-box--lg:margin-left-4',
);
expect(getByText('Box marginLeft 5')).toHaveClass(
'mm-box--margin-left-5 mm-box--sm:margin-left-5 mm-box--md:margin-left-5 mm-box--lg:margin-left-5',
);
expect(getByText('Box marginLeft 6')).toHaveClass(
'mm-box--margin-left-6 mm-box--sm:margin-left-6 mm-box--md:margin-left-6 mm-box--lg:margin-left-6',
);
expect(getByText('Box marginLeft 7')).toHaveClass(
'mm-box--margin-left-7 mm-box--sm:margin-left-7 mm-box--md:margin-left-7 mm-box--lg:margin-left-7',
);
expect(getByText('Box marginLeft 8')).toHaveClass(
'mm-box--margin-left-8 mm-box--sm:margin-left-8 mm-box--md:margin-left-8 mm-box--lg:margin-left-8',
);
expect(getByText('Box marginLeft 9')).toHaveClass(
'mm-box--margin-left-9 mm-box--sm:margin-left-9 mm-box--md:margin-left-9 mm-box--lg:margin-left-9',
);
expect(getByText('Box marginLeft 10')).toHaveClass(
'mm-box--margin-left-10 mm-box--sm:margin-left-10 mm-box--md:margin-left-10 mm-box--lg:margin-left-10',
);
expect(getByText('Box marginLeft 11')).toHaveClass(
'mm-box--margin-left-11 mm-box--sm:margin-left-11 mm-box--md:margin-left-11 mm-box--lg:margin-left-11',
);
expect(getByText('Box marginLeft 12')).toHaveClass(
'mm-box--margin-left-12 mm-box--sm:margin-left-12 mm-box--md:margin-left-12 mm-box--lg:margin-left-12',
);
expect(getByText('Box marginLeft auto')).toHaveClass(
'mm-box--margin-left-auto mm-box--sm:margin-left-auto mm-box--md:margin-left-auto mm-box--lg:margin-left-auto',
);
});
it('should render the Box with the marginInline class', () => {
const { getByText } = render(Box content);
expect(getByText('Box content')).toHaveClass('mm-box--margin-inline-1');
});
it('should render the Box with the marginInline auto class', () => {
const { getByText } = render(Box content);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-auto',
);
});
it('should render the Box with the responsive marginInline classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass('mm-box--margin-inline-1');
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:margin-inline-auto',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:margin-inline-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:margin-inline-4',
);
});
it('should render the Box with the marginInlineStart class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-start-1',
);
});
it('should render the Box with the marginInlineStart auto class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-start-auto',
);
});
it('should render the Box with the responsive marginInlineStart classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-start-1',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:margin-inline-start-auto',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:margin-inline-start-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:margin-inline-start-4',
);
});
it('should render the Box with the marginInlineEnd class', () => {
const { getByText } = render(Box content);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-end-1',
);
});
it('should render the Box with the marginInlineEnd auto class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-end-auto',
);
});
it('should render the Box with the responsive marginInlineEnd classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--margin-inline-end-1',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:margin-inline-end-auto',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:margin-inline-end-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:margin-inline-end-4',
);
});
});
describe('padding', () => {
it('should render the Box with the padding classes', () => {
const { getByText } = render(
<>
Box padding 0
Box padding 1
Box padding 2
Box padding 3
Box padding 4
Box padding 5
Box padding 6
Box padding 7
Box padding 8
Box padding 9
Box padding 10
Box padding 11
Box padding 12
>,
);
expect(getByText('Box padding 0')).toHaveClass('mm-box--padding-0');
expect(getByText('Box padding 1')).toHaveClass('mm-box--padding-1');
expect(getByText('Box padding 2')).toHaveClass('mm-box--padding-2');
expect(getByText('Box padding 3')).toHaveClass('mm-box--padding-3');
expect(getByText('Box padding 4')).toHaveClass('mm-box--padding-4');
expect(getByText('Box padding 5')).toHaveClass('mm-box--padding-5');
expect(getByText('Box padding 6')).toHaveClass('mm-box--padding-6');
expect(getByText('Box padding 7')).toHaveClass('mm-box--padding-7');
expect(getByText('Box padding 8')).toHaveClass('mm-box--padding-8');
expect(getByText('Box padding 9')).toHaveClass('mm-box--padding-9');
expect(getByText('Box padding 10')).toHaveClass('mm-box--padding-10');
expect(getByText('Box padding 11')).toHaveClass('mm-box--padding-11');
expect(getByText('Box padding 12')).toHaveClass('mm-box--padding-12');
});
it('should render the Box with the responsive padding classes', () => {
const { getByText } = render(
<>
Box padding 0
Box padding 1
Box padding 2
Box padding 3
Box padding 4
Box padding 5
Box padding 6
Box padding 7
Box padding 8
Box padding 9
Box padding 10
Box padding 11
Box padding 12
>,
);
expect(getByText('Box padding 0')).toHaveClass(
'mm-box--padding-0 mm-box--sm:padding-0 mm-box--md:padding-0 mm-box--lg:padding-0',
);
expect(getByText('Box padding 1')).toHaveClass(
'mm-box--padding-1 mm-box--sm:padding-1 mm-box--md:padding-1 mm-box--lg:padding-1',
);
expect(getByText('Box padding 2')).toHaveClass(
'mm-box--padding-2 mm-box--sm:padding-2 mm-box--md:padding-2 mm-box--lg:padding-2',
);
expect(getByText('Box padding 3')).toHaveClass(
'mm-box--padding-3 mm-box--sm:padding-3 mm-box--md:padding-3 mm-box--lg:padding-3',
);
expect(getByText('Box padding 4')).toHaveClass(
'mm-box--padding-4 mm-box--sm:padding-4 mm-box--md:padding-4 mm-box--lg:padding-4',
);
expect(getByText('Box padding 5')).toHaveClass(
'mm-box--padding-5 mm-box--sm:padding-5 mm-box--md:padding-5 mm-box--lg:padding-5',
);
expect(getByText('Box padding 6')).toHaveClass(
'mm-box--padding-6 mm-box--sm:padding-6 mm-box--md:padding-6 mm-box--lg:padding-6',
);
expect(getByText('Box padding 7')).toHaveClass(
'mm-box--padding-7 mm-box--sm:padding-7 mm-box--md:padding-7 mm-box--lg:padding-7',
);
expect(getByText('Box padding 8')).toHaveClass(
'mm-box--padding-8 mm-box--sm:padding-8 mm-box--md:padding-8 mm-box--lg:padding-8',
);
expect(getByText('Box padding 9')).toHaveClass(
'mm-box--padding-9 mm-box--sm:padding-9 mm-box--md:padding-9 mm-box--lg:padding-9',
);
expect(getByText('Box padding 10')).toHaveClass(
'mm-box--padding-10 mm-box--sm:padding-10 mm-box--md:padding-10 mm-box--lg:padding-10',
);
expect(getByText('Box padding 11')).toHaveClass(
'mm-box--padding-11 mm-box--sm:padding-11 mm-box--md:padding-11 mm-box--lg:padding-11',
);
expect(getByText('Box padding 12')).toHaveClass(
'mm-box--padding-12 mm-box--sm:padding-12 mm-box--md:padding-12 mm-box--lg:padding-12',
);
});
it('should render the Box with the paddingTop classes', () => {
const { getByText } = render(
<>
Box paddingTop 0
Box paddingTop 1
Box paddingTop 2
Box paddingTop 3
Box paddingTop 4
Box paddingTop 5
Box paddingTop 6
Box paddingTop 7
Box paddingTop 8
Box paddingTop 9
Box paddingTop 10
Box paddingTop 11
Box paddingTop 12
>,
);
expect(getByText('Box paddingTop 0')).toHaveClass(
'mm-box--padding-top-0',
);
expect(getByText('Box paddingTop 1')).toHaveClass(
'mm-box--padding-top-1',
);
expect(getByText('Box paddingTop 2')).toHaveClass(
'mm-box--padding-top-2',
);
expect(getByText('Box paddingTop 3')).toHaveClass(
'mm-box--padding-top-3',
);
expect(getByText('Box paddingTop 4')).toHaveClass(
'mm-box--padding-top-4',
);
expect(getByText('Box paddingTop 5')).toHaveClass(
'mm-box--padding-top-5',
);
expect(getByText('Box paddingTop 6')).toHaveClass(
'mm-box--padding-top-6',
);
expect(getByText('Box paddingTop 7')).toHaveClass(
'mm-box--padding-top-7',
);
expect(getByText('Box paddingTop 8')).toHaveClass(
'mm-box--padding-top-8',
);
expect(getByText('Box paddingTop 9')).toHaveClass(
'mm-box--padding-top-9',
);
expect(getByText('Box paddingTop 10')).toHaveClass(
'mm-box--padding-top-10',
);
expect(getByText('Box paddingTop 11')).toHaveClass(
'mm-box--padding-top-11',
);
expect(getByText('Box paddingTop 12')).toHaveClass(
'mm-box--padding-top-12',
);
});
it('should render the Box with the responsive paddingTop classes', () => {
const { getByText } = render(
<>
Box paddingTop 0
Box paddingTop 1
Box paddingTop 2
Box paddingTop 3
Box paddingTop 4
Box paddingTop 5
Box paddingTop 6
Box paddingTop 7
Box paddingTop 8
Box paddingTop 9
Box paddingTop 10
Box paddingTop 11
Box paddingTop 12
>,
);
expect(getByText('Box paddingTop 0')).toHaveClass(
'mm-box--padding-top-0 mm-box--sm:padding-top-0 mm-box--md:padding-top-0 mm-box--lg:padding-top-0',
);
expect(getByText('Box paddingTop 1')).toHaveClass(
'mm-box--padding-top-1 mm-box--sm:padding-top-1 mm-box--md:padding-top-1 mm-box--lg:padding-top-1',
);
expect(getByText('Box paddingTop 2')).toHaveClass(
'mm-box--padding-top-2 mm-box--sm:padding-top-2 mm-box--md:padding-top-2 mm-box--lg:padding-top-2',
);
expect(getByText('Box paddingTop 3')).toHaveClass(
'mm-box--padding-top-3 mm-box--sm:padding-top-3 mm-box--md:padding-top-3 mm-box--lg:padding-top-3',
);
expect(getByText('Box paddingTop 4')).toHaveClass(
'mm-box--padding-top-4 mm-box--sm:padding-top-4 mm-box--md:padding-top-4 mm-box--lg:padding-top-4',
);
expect(getByText('Box paddingTop 5')).toHaveClass(
'mm-box--padding-top-5 mm-box--sm:padding-top-5 mm-box--md:padding-top-5 mm-box--lg:padding-top-5',
);
expect(getByText('Box paddingTop 6')).toHaveClass(
'mm-box--padding-top-6 mm-box--sm:padding-top-6 mm-box--md:padding-top-6 mm-box--lg:padding-top-6',
);
expect(getByText('Box paddingTop 7')).toHaveClass(
'mm-box--padding-top-7 mm-box--sm:padding-top-7 mm-box--md:padding-top-7 mm-box--lg:padding-top-7',
);
expect(getByText('Box paddingTop 8')).toHaveClass(
'mm-box--padding-top-8 mm-box--sm:padding-top-8 mm-box--md:padding-top-8 mm-box--lg:padding-top-8',
);
expect(getByText('Box paddingTop 9')).toHaveClass(
'mm-box--padding-top-9 mm-box--sm:padding-top-9 mm-box--md:padding-top-9 mm-box--lg:padding-top-9',
);
expect(getByText('Box paddingTop 10')).toHaveClass(
'mm-box--padding-top-10 mm-box--sm:padding-top-10 mm-box--md:padding-top-10 mm-box--lg:padding-top-10',
);
expect(getByText('Box paddingTop 11')).toHaveClass(
'mm-box--padding-top-11 mm-box--sm:padding-top-11 mm-box--md:padding-top-11 mm-box--lg:padding-top-11',
);
expect(getByText('Box paddingTop 12')).toHaveClass(
'mm-box--padding-top-12 mm-box--sm:padding-top-12 mm-box--md:padding-top-12 mm-box--lg:padding-top-12',
);
});
it('should render the Box with the paddingRight classes', () => {
const { getByText } = render(
<>
Box paddingRight 0
Box paddingRight 1
Box paddingRight 2
Box paddingRight 3
Box paddingRight 4
Box paddingRight 5
Box paddingRight 6
Box paddingRight 7
Box paddingRight 8
Box paddingRight 9
Box paddingRight 10
Box paddingRight 11
Box paddingRight 12
>,
);
expect(getByText('Box paddingRight 0')).toHaveClass(
'mm-box--padding-right-0',
);
expect(getByText('Box paddingRight 1')).toHaveClass(
'mm-box--padding-right-1',
);
expect(getByText('Box paddingRight 2')).toHaveClass(
'mm-box--padding-right-2',
);
expect(getByText('Box paddingRight 3')).toHaveClass(
'mm-box--padding-right-3',
);
expect(getByText('Box paddingRight 4')).toHaveClass(
'mm-box--padding-right-4',
);
expect(getByText('Box paddingRight 5')).toHaveClass(
'mm-box--padding-right-5',
);
expect(getByText('Box paddingRight 6')).toHaveClass(
'mm-box--padding-right-6',
);
expect(getByText('Box paddingRight 7')).toHaveClass(
'mm-box--padding-right-7',
);
expect(getByText('Box paddingRight 8')).toHaveClass(
'mm-box--padding-right-8',
);
expect(getByText('Box paddingRight 9')).toHaveClass(
'mm-box--padding-right-9',
);
expect(getByText('Box paddingRight 10')).toHaveClass(
'mm-box--padding-right-10',
);
expect(getByText('Box paddingRight 11')).toHaveClass(
'mm-box--padding-right-11',
);
expect(getByText('Box paddingRight 12')).toHaveClass(
'mm-box--padding-right-12',
);
});
it('should render the Box with the responsive paddingRight classes', () => {
const { getByText } = render(
<>
Box paddingRight 0
Box paddingRight 1
Box paddingRight 2
Box paddingRight 3
Box paddingRight 4
Box paddingRight 5
Box paddingRight 6
Box paddingRight 7
Box paddingRight 8
Box paddingRight 9
Box paddingRight 10
Box paddingRight 11
Box paddingRight 12
>,
);
expect(getByText('Box paddingRight 0')).toHaveClass(
'mm-box--padding-right-0 mm-box--sm:padding-right-0 mm-box--md:padding-right-0 mm-box--lg:padding-right-0',
);
expect(getByText('Box paddingRight 1')).toHaveClass(
'mm-box--padding-right-1 mm-box--sm:padding-right-1 mm-box--md:padding-right-1 mm-box--lg:padding-right-1',
);
expect(getByText('Box paddingRight 2')).toHaveClass(
'mm-box--padding-right-2 mm-box--sm:padding-right-2 mm-box--md:padding-right-2 mm-box--lg:padding-right-2',
);
expect(getByText('Box paddingRight 3')).toHaveClass(
'mm-box--padding-right-3 mm-box--sm:padding-right-3 mm-box--md:padding-right-3 mm-box--lg:padding-right-3',
);
expect(getByText('Box paddingRight 4')).toHaveClass(
'mm-box--padding-right-4 mm-box--sm:padding-right-4 mm-box--md:padding-right-4 mm-box--lg:padding-right-4',
);
expect(getByText('Box paddingRight 5')).toHaveClass(
'mm-box--padding-right-5 mm-box--sm:padding-right-5 mm-box--md:padding-right-5 mm-box--lg:padding-right-5',
);
expect(getByText('Box paddingRight 6')).toHaveClass(
'mm-box--padding-right-6 mm-box--sm:padding-right-6 mm-box--md:padding-right-6 mm-box--lg:padding-right-6',
);
expect(getByText('Box paddingRight 7')).toHaveClass(
'mm-box--padding-right-7 mm-box--sm:padding-right-7 mm-box--md:padding-right-7 mm-box--lg:padding-right-7',
);
expect(getByText('Box paddingRight 8')).toHaveClass(
'mm-box--padding-right-8 mm-box--sm:padding-right-8 mm-box--md:padding-right-8 mm-box--lg:padding-right-8',
);
expect(getByText('Box paddingRight 9')).toHaveClass(
'mm-box--padding-right-9 mm-box--sm:padding-right-9 mm-box--md:padding-right-9 mm-box--lg:padding-right-9',
);
expect(getByText('Box paddingRight 10')).toHaveClass(
'mm-box--padding-right-10 mm-box--sm:padding-right-10 mm-box--md:padding-right-10 mm-box--lg:padding-right-10',
);
expect(getByText('Box paddingRight 11')).toHaveClass(
'mm-box--padding-right-11 mm-box--sm:padding-right-11 mm-box--md:padding-right-11 mm-box--lg:padding-right-11',
);
expect(getByText('Box paddingRight 12')).toHaveClass(
'mm-box--padding-right-12 mm-box--sm:padding-right-12 mm-box--md:padding-right-12 mm-box--lg:padding-right-12',
);
});
it('should render the Box with the paddingBottom classes', () => {
const { getByText } = render(
<>
Box paddingBottom 0
Box paddingBottom 1
Box paddingBottom 2
Box paddingBottom 3
Box paddingBottom 4
Box paddingBottom 5
Box paddingBottom 6
Box paddingBottom 7
Box paddingBottom 8
Box paddingBottom 9
Box paddingBottom 10
Box paddingBottom 11
Box paddingBottom 12
>,
);
expect(getByText('Box paddingBottom 0')).toHaveClass(
'mm-box--padding-bottom-0',
);
expect(getByText('Box paddingBottom 1')).toHaveClass(
'mm-box--padding-bottom-1',
);
expect(getByText('Box paddingBottom 2')).toHaveClass(
'mm-box--padding-bottom-2',
);
expect(getByText('Box paddingBottom 3')).toHaveClass(
'mm-box--padding-bottom-3',
);
expect(getByText('Box paddingBottom 4')).toHaveClass(
'mm-box--padding-bottom-4',
);
expect(getByText('Box paddingBottom 5')).toHaveClass(
'mm-box--padding-bottom-5',
);
expect(getByText('Box paddingBottom 6')).toHaveClass(
'mm-box--padding-bottom-6',
);
expect(getByText('Box paddingBottom 7')).toHaveClass(
'mm-box--padding-bottom-7',
);
expect(getByText('Box paddingBottom 8')).toHaveClass(
'mm-box--padding-bottom-8',
);
expect(getByText('Box paddingBottom 9')).toHaveClass(
'mm-box--padding-bottom-9',
);
expect(getByText('Box paddingBottom 10')).toHaveClass(
'mm-box--padding-bottom-10',
);
expect(getByText('Box paddingBottom 11')).toHaveClass(
'mm-box--padding-bottom-11',
);
expect(getByText('Box paddingBottom 12')).toHaveClass(
'mm-box--padding-bottom-12',
);
});
it('should render the Box with the responsive paddingBottom classes', () => {
const { getByText } = render(
<>
Box paddingBottom 0
Box paddingBottom 1
Box paddingBottom 2
Box paddingBottom 3
Box paddingBottom 4
Box paddingBottom 5
Box paddingBottom 6
Box paddingBottom 7
Box paddingBottom 8
Box paddingBottom 9
Box paddingBottom 10
Box paddingBottom 11
Box paddingBottom 12
>,
);
expect(getByText('Box paddingBottom 0')).toHaveClass(
'mm-box--padding-bottom-0 mm-box--sm:padding-bottom-0 mm-box--md:padding-bottom-0 mm-box--lg:padding-bottom-0',
);
expect(getByText('Box paddingBottom 1')).toHaveClass(
'mm-box--padding-bottom-1 mm-box--sm:padding-bottom-1 mm-box--md:padding-bottom-1 mm-box--lg:padding-bottom-1',
);
expect(getByText('Box paddingBottom 2')).toHaveClass(
'mm-box--padding-bottom-2 mm-box--sm:padding-bottom-2 mm-box--md:padding-bottom-2 mm-box--lg:padding-bottom-2',
);
expect(getByText('Box paddingBottom 3')).toHaveClass(
'mm-box--padding-bottom-3 mm-box--sm:padding-bottom-3 mm-box--md:padding-bottom-3 mm-box--lg:padding-bottom-3',
);
expect(getByText('Box paddingBottom 4')).toHaveClass(
'mm-box--padding-bottom-4 mm-box--sm:padding-bottom-4 mm-box--md:padding-bottom-4 mm-box--lg:padding-bottom-4',
);
expect(getByText('Box paddingBottom 5')).toHaveClass(
'mm-box--padding-bottom-5 mm-box--sm:padding-bottom-5 mm-box--md:padding-bottom-5 mm-box--lg:padding-bottom-5',
);
expect(getByText('Box paddingBottom 6')).toHaveClass(
'mm-box--padding-bottom-6 mm-box--sm:padding-bottom-6 mm-box--md:padding-bottom-6 mm-box--lg:padding-bottom-6',
);
expect(getByText('Box paddingBottom 7')).toHaveClass(
'mm-box--padding-bottom-7 mm-box--sm:padding-bottom-7 mm-box--md:padding-bottom-7 mm-box--lg:padding-bottom-7',
);
expect(getByText('Box paddingBottom 8')).toHaveClass(
'mm-box--padding-bottom-8 mm-box--sm:padding-bottom-8 mm-box--md:padding-bottom-8 mm-box--lg:padding-bottom-8',
);
expect(getByText('Box paddingBottom 9')).toHaveClass(
'mm-box--padding-bottom-9 mm-box--sm:padding-bottom-9 mm-box--md:padding-bottom-9 mm-box--lg:padding-bottom-9',
);
expect(getByText('Box paddingBottom 10')).toHaveClass(
'mm-box--padding-bottom-10 mm-box--sm:padding-bottom-10 mm-box--md:padding-bottom-10 mm-box--lg:padding-bottom-10',
);
expect(getByText('Box paddingBottom 11')).toHaveClass(
'mm-box--padding-bottom-11 mm-box--sm:padding-bottom-11 mm-box--md:padding-bottom-11 mm-box--lg:padding-bottom-11',
);
expect(getByText('Box paddingBottom 12')).toHaveClass(
'mm-box--padding-bottom-12 mm-box--sm:padding-bottom-12 mm-box--md:padding-bottom-12 mm-box--lg:padding-bottom-12',
);
});
it('should render the Box with the paddingLeft classes', () => {
const { getByText } = render(
<>
Box paddingLeft 0
Box paddingLeft 1
Box paddingLeft 2
Box paddingLeft 3
Box paddingLeft 4
Box paddingLeft 5
Box paddingLeft 6
Box paddingLeft 7
Box paddingLeft 8
Box paddingLeft 9
Box paddingLeft 10
Box paddingLeft 11
Box paddingLeft 12
>,
);
expect(getByText('Box paddingLeft 0')).toHaveClass(
'mm-box--padding-left-0',
);
expect(getByText('Box paddingLeft 1')).toHaveClass(
'mm-box--padding-left-1',
);
expect(getByText('Box paddingLeft 2')).toHaveClass(
'mm-box--padding-left-2',
);
expect(getByText('Box paddingLeft 3')).toHaveClass(
'mm-box--padding-left-3',
);
expect(getByText('Box paddingLeft 4')).toHaveClass(
'mm-box--padding-left-4',
);
expect(getByText('Box paddingLeft 5')).toHaveClass(
'mm-box--padding-left-5',
);
expect(getByText('Box paddingLeft 6')).toHaveClass(
'mm-box--padding-left-6',
);
expect(getByText('Box paddingLeft 7')).toHaveClass(
'mm-box--padding-left-7',
);
expect(getByText('Box paddingLeft 8')).toHaveClass(
'mm-box--padding-left-8',
);
expect(getByText('Box paddingLeft 9')).toHaveClass(
'mm-box--padding-left-9',
);
expect(getByText('Box paddingLeft 10')).toHaveClass(
'mm-box--padding-left-10',
);
expect(getByText('Box paddingLeft 11')).toHaveClass(
'mm-box--padding-left-11',
);
expect(getByText('Box paddingLeft 12')).toHaveClass(
'mm-box--padding-left-12',
);
});
it('should render the Box with the responsive paddingLeft classes', () => {
const { getByText } = render(
<>
Box paddingLeft 0
Box paddingLeft 1
Box paddingLeft 2
Box paddingLeft 3
Box paddingLeft 4
Box paddingLeft 5
Box paddingLeft 6
Box paddingLeft 7
Box paddingLeft 8
Box paddingLeft 9
Box paddingLeft 10
Box paddingLeft 11
Box paddingLeft 12
>,
);
expect(getByText('Box paddingLeft 0')).toHaveClass(
'mm-box--padding-left-0 mm-box--sm:padding-left-0 mm-box--md:padding-left-0 mm-box--lg:padding-left-0',
);
expect(getByText('Box paddingLeft 1')).toHaveClass(
'mm-box--padding-left-1 mm-box--sm:padding-left-1 mm-box--md:padding-left-1 mm-box--lg:padding-left-1',
);
expect(getByText('Box paddingLeft 2')).toHaveClass(
'mm-box--padding-left-2 mm-box--sm:padding-left-2 mm-box--md:padding-left-2 mm-box--lg:padding-left-2',
);
expect(getByText('Box paddingLeft 3')).toHaveClass(
'mm-box--padding-left-3 mm-box--sm:padding-left-3 mm-box--md:padding-left-3 mm-box--lg:padding-left-3',
);
expect(getByText('Box paddingLeft 4')).toHaveClass(
'mm-box--padding-left-4 mm-box--sm:padding-left-4 mm-box--md:padding-left-4 mm-box--lg:padding-left-4',
);
expect(getByText('Box paddingLeft 5')).toHaveClass(
'mm-box--padding-left-5 mm-box--sm:padding-left-5 mm-box--md:padding-left-5 mm-box--lg:padding-left-5',
);
expect(getByText('Box paddingLeft 6')).toHaveClass(
'mm-box--padding-left-6 mm-box--sm:padding-left-6 mm-box--md:padding-left-6 mm-box--lg:padding-left-6',
);
expect(getByText('Box paddingLeft 7')).toHaveClass(
'mm-box--padding-left-7 mm-box--sm:padding-left-7 mm-box--md:padding-left-7 mm-box--lg:padding-left-7',
);
expect(getByText('Box paddingLeft 8')).toHaveClass(
'mm-box--padding-left-8 mm-box--sm:padding-left-8 mm-box--md:padding-left-8 mm-box--lg:padding-left-8',
);
expect(getByText('Box paddingLeft 9')).toHaveClass(
'mm-box--padding-left-9 mm-box--sm:padding-left-9 mm-box--md:padding-left-9 mm-box--lg:padding-left-9',
);
expect(getByText('Box paddingLeft 10')).toHaveClass(
'mm-box--padding-left-10 mm-box--sm:padding-left-10 mm-box--md:padding-left-10 mm-box--lg:padding-left-10',
);
expect(getByText('Box paddingLeft 11')).toHaveClass(
'mm-box--padding-left-11 mm-box--sm:padding-left-11 mm-box--md:padding-left-11 mm-box--lg:padding-left-11',
);
expect(getByText('Box paddingLeft 12')).toHaveClass(
'mm-box--padding-left-12 mm-box--sm:padding-left-12 mm-box--md:padding-left-12 mm-box--lg:padding-left-12',
);
});
it('should render the Box with the responsive paddingInline classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass('mm-box--padding-inline-1');
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:padding-inline-2',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:padding-inline-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:padding-inline-4',
);
});
it('should render the Box with the responsive paddingInlineStart classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--padding-inline-start-1',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:padding-inline-start-2',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:padding-inline-start-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:padding-inline-start-4',
);
});
it('should render the Box with the responsive paddingInlineEnd classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--padding-inline-end-1',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:padding-inline-end-2',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:padding-inline-end-3',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:padding-inline-end-4',
);
});
});
describe('border', () => {
it('should render the Box with the borderWidth class', () => {
const { getByText } = render(Box content);
expect(getByText('Box content')).toHaveClass('mm-box--border-width-1');
});
it('should render the Box with the responsive borderWidth classes', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass('mm-box--border-width-1');
expect(getByText('Box content')).toHaveClass('mm-box--sm:border-width-2');
expect(getByText('Box content')).toHaveClass('mm-box--md:border-width-3');
expect(getByText('Box content')).toHaveClass('mm-box--lg:border-width-4');
});
it('should render the Box with the borderColor class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--border-color-border-default',
);
});
it('should render the Box with the responsive borderColor classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--border-color-border-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:border-color-error-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:border-color-info-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:border-color-warning-default',
);
});
it('should render the Box with a borderStyle class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--border-style-solid',
);
});
it('should render the Box with the responsive borderStyle classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--border-style-solid',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:border-style-dashed',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:border-style-none',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:border-style-dotted',
);
});
it('should render the Box with the borderRadius class', () => {
const { getByText } = render(
<>
border radius xs
border radius sm
border radius md
border radius lg
border radius xl
border radius pill
border radius full
border radius none
>,
);
expect(getByText('border radius xs')).toHaveClass('mm-box--rounded-xs');
expect(getByText('border radius sm')).toHaveClass('mm-box--rounded-sm');
expect(getByText('border radius md')).toHaveClass('mm-box--rounded-md');
expect(getByText('border radius lg')).toHaveClass('mm-box--rounded-lg');
expect(getByText('border radius xl')).toHaveClass('mm-box--rounded-xl');
expect(getByText('border radius pill')).toHaveClass(
'mm-box--rounded-pill',
);
expect(getByText('border radius full')).toHaveClass(
'mm-box--rounded-full',
);
expect(getByText('border radius none')).toHaveClass(
'mm-box--rounded-none',
);
});
it('should render the Box with the responsive borderRadius classes', () => {
const { getByText } = render(
<>
Border radius set 1
Border radius set 2
>,
);
expect(getByText('Border radius set 1')).toHaveClass(
'mm-box--rounded-xs',
);
expect(getByText('Border radius set 1')).toHaveClass(
'mm-box--sm:rounded-sm',
);
expect(getByText('Border radius set 1')).toHaveClass(
'mm-box--md:rounded-md',
);
expect(getByText('Border radius set 1')).toHaveClass(
'mm-box--lg:rounded-lg',
);
expect(getByText('Border radius set 2')).toHaveClass(
'mm-box--rounded-xl',
);
expect(getByText('Border radius set 2')).toHaveClass(
'mm-box--sm:rounded-pill',
);
expect(getByText('Border radius set 2')).toHaveClass(
'mm-box--md:rounded-none',
);
expect(getByText('Border radius set 2')).toHaveClass(
'mm-box--lg:rounded-full',
);
});
});
describe('display, gap, flexDirection, flexWrap, alignItems, justifyContent', () => {
it('should render the Box with the display classes', () => {
const { getByText } = render(
<>
Box display-block
Box display-flex
Box display-grid
Box display-inline
Box display-inline-block
Box display-inline-flex
Box display-inline-grid
Box display-list-item
Box display-none
>,
);
expect(getByText('Box display-block')).toHaveClass(
'mm-box--display-block',
);
expect(getByText('Box display-flex')).toHaveClass('mm-box--display-flex');
expect(getByText('Box display-grid')).toHaveClass('mm-box--display-grid');
expect(getByText('Box display-inline')).toHaveClass(
'mm-box--display-inline',
);
expect(getByText('Box display-inline-block')).toHaveClass(
'mm-box--display-inline-block',
);
expect(getByText('Box display-inline-flex')).toHaveClass(
'mm-box--display-inline-flex',
);
expect(getByText('Box display-inline-grid')).toHaveClass(
'mm-box--display-inline-grid',
);
expect(getByText('Box display-list-item')).toHaveClass(
'mm-box--display-list-item',
);
});
it('should render the Box with the responsive display classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass('mm-box--display-block');
expect(getByText('Box content')).toHaveClass('mm-box--sm:display-flex');
expect(getByText('Box content')).toHaveClass('mm-box--md:display-grid');
expect(getByText('Box content')).toHaveClass('mm-box--lg:display-none');
});
it('should render the Box with the gap class', () => {
const { getByText } = render(
<>
Box gap 0
Box gap 1
Box gap 2
Box gap 3
Box gap 4
Box gap 5
Box gap 6
Box gap 7
Box gap 8
Box gap 9
Box gap 10
Box gap 11
Box gap 12
>,
);
expect(getByText('Box gap 1')).toHaveClass('mm-box--gap-1');
expect(getByText('Box gap 2')).toHaveClass('mm-box--gap-2');
expect(getByText('Box gap 3')).toHaveClass('mm-box--gap-3');
expect(getByText('Box gap 4')).toHaveClass('mm-box--gap-4');
expect(getByText('Box gap 5')).toHaveClass('mm-box--gap-5');
expect(getByText('Box gap 6')).toHaveClass('mm-box--gap-6');
expect(getByText('Box gap 7')).toHaveClass('mm-box--gap-7');
expect(getByText('Box gap 8')).toHaveClass('mm-box--gap-8');
expect(getByText('Box gap 9')).toHaveClass('mm-box--gap-9');
expect(getByText('Box gap 10')).toHaveClass('mm-box--gap-10');
expect(getByText('Box gap 11')).toHaveClass('mm-box--gap-11');
expect(getByText('Box gap 12')).toHaveClass('mm-box--gap-12');
});
it('should render the Box with the responsive gap classes', () => {
const { getByText } = render(
<>
Box gap 0123
Box gap 4567
Box gap 891011
Box gap 12
>,
);
expect(getByText('Box gap 0123')).toHaveClass(
'mm-box--gap-0 mm-box--sm:gap-1 mm-box--md:gap-2 mm-box--lg:gap-3',
);
expect(getByText('Box gap 4567')).toHaveClass(
'mm-box--gap-4 mm-box--sm:gap-5 mm-box--md:gap-6 mm-box--lg:gap-7',
);
expect(getByText('Box gap 891011')).toHaveClass(
'mm-box--gap-8 mm-box--sm:gap-9 mm-box--md:gap-10 mm-box--lg:gap-11',
);
expect(getByText('Box gap 12')).toHaveClass(
'mm-box--gap-12 mm-box--sm:gap-12 mm-box--md:gap-12 mm-box--lg:gap-12',
);
});
it('should render the Box with the flexDirection classes', () => {
const { getByText } = render(
<>
Box flex-direction-row
Box flex-direction-row-reverse
Box flex-direction-column
Box flex-direction-column-reverse
>,
);
expect(getByText('Box flex-direction-row')).toHaveClass(
'mm-box--flex-direction-row',
);
expect(getByText('Box flex-direction-row-reverse')).toHaveClass(
'mm-box--flex-direction-row-reverse',
);
expect(getByText('Box flex-direction-column')).toHaveClass(
'mm-box--flex-direction-column',
);
expect(getByText('Box flex-direction-column-reverse')).toHaveClass(
'mm-box--flex-direction-column-reverse',
);
});
it('should render the Box with the responsive flexDirection classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--flex-direction-row',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:flex-direction-row-reverse',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:flex-direction-column',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:flex-direction-column-reverse',
);
});
it('should render the Box with the flexWrap classes', () => {
const { getByText } = render(
<>
Box flex-wrap-wrap
Box flex-wrap-wrap-reverse
Box flex-wrap-nowrap
>,
);
expect(getByText('Box flex-wrap-wrap')).toHaveClass(
'mm-box--flex-wrap-wrap',
);
expect(getByText('Box flex-wrap-wrap-reverse')).toHaveClass(
'mm-box--flex-wrap-wrap-reverse',
);
expect(getByText('Box flex-wrap-nowrap')).toHaveClass(
'mm-box--flex-wrap-nowrap',
);
});
it('should render the Box with the responsive flexWrap classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass('mm-box--flex-wrap-wrap');
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:flex-wrap-wrap-reverse',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:flex-wrap-nowrap',
);
});
it('should render the Box with the alignItems classes', () => {
const { getByText } = render(
<>
Box align-items-flex-start
Box align-items-flex-end
Box align-items-center
Box align-items-baseline
Box align-items-stretch
>,
);
expect(getByText('Box align-items-flex-start')).toHaveClass(
'mm-box--align-items-flex-start',
);
expect(getByText('Box align-items-flex-end')).toHaveClass(
'mm-box--align-items-flex-end',
);
expect(getByText('Box align-items-center')).toHaveClass(
'mm-box--align-items-center',
);
expect(getByText('Box align-items-baseline')).toHaveClass(
'mm-box--align-items-baseline',
);
expect(getByText('Box align-items-stretch')).toHaveClass(
'mm-box--align-items-stretch',
);
});
it('should render the Box with the responsive alignItems classes', () => {
const { getByText } = render(
<>
Box content
>,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--align-items-flex-start',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:align-items-flex-end',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:align-items-center',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:align-items-baseline',
);
});
it('should render the Box with the justifyContent classes', () => {
const { getByText } = render(
<>
Box justify-content-flex-start
Box justify-content-flex-end
Box justify-content-center
Box justify-content-space-around
Box justify-content-space-between
Box justify-content-space-evenly
>,
);
expect(getByText('Box justify-content-flex-start')).toHaveClass(
'mm-box--justify-content-flex-start',
);
expect(getByText('Box justify-content-flex-end')).toHaveClass(
'mm-box--justify-content-flex-end',
);
expect(getByText('Box justify-content-center')).toHaveClass(
'mm-box--justify-content-center',
);
expect(getByText('Box justify-content-space-around')).toHaveClass(
'mm-box--justify-content-space-around',
);
expect(getByText('Box justify-content-space-between')).toHaveClass(
'mm-box--justify-content-space-between',
);
});
it('should render the Box with the responsive justifyContent classes', () => {
const { getByText } = render(
<>
Box content
>,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--justify-content-flex-start',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:justify-content-flex-end',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:justify-content-center',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:justify-content-space-around',
);
});
});
describe('textAlign', () => {
it('should render the Box with the textAlign auto class', () => {
const { getByText } = render(
<>
Box left
Box center
Box right
Box justify
Box end
>,
);
expect(getByText('Box left')).toHaveClass('mm-box--text-align-left');
expect(getByText('Box center')).toHaveClass('mm-box--text-align-center');
expect(getByText('Box right')).toHaveClass('mm-box--text-align-right');
expect(getByText('Box justify')).toHaveClass(
'mm-box--text-align-justify',
);
expect(getByText('Box end')).toHaveClass('mm-box--text-align-end');
});
it('should render the Box with the responsive textAlign classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass('mm-box--text-align-left');
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:text-align-center',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:text-align-right',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:text-align-justify',
);
});
});
describe('background', () => {
it('should render the Box with the backgroundColor class', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--background-color-background-default',
);
});
it('should render the Box with the responsive backgroundColor classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--background-color-background-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:background-color-error-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:background-color-info-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:background-color-warning-default',
);
});
});
describe('color', () => {
it('should render the Box with the color class', () => {
const { getByText } = render(
Box content,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--color-text-default',
);
});
it('should render the Box with the responsive color classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass(
'mm-box--color-text-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--sm:color-primary-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--md:color-error-default',
);
expect(getByText('Box content')).toHaveClass(
'mm-box--lg:color-success-default',
);
});
});
describe('width, height', () => {
it('should render the Box with the width class', () => {
const { getByText } = render(
<>
Box half
Box one fourth
Box max
Box min
>,
);
expect(getByText('Box half')).toHaveClass('mm-box--width-1/2');
expect(getByText('Box one fourth')).toHaveClass('mm-box--width-1/4');
expect(getByText('Box max')).toHaveClass('mm-box--width-max');
expect(getByText('Box min')).toHaveClass('mm-box--width-min');
});
it('should render the Box with the responsive width classes', () => {
const { getByText } = render(
Box content
,
);
expect(getByText('Box content')).toHaveClass('mm-box--width-1/2');
expect(getByText('Box content')).toHaveClass('mm-box--sm:width-1/4');
expect(getByText('Box content')).toHaveClass('mm-box--md:width-max');
expect(getByText('Box content')).toHaveClass('mm-box--lg:width-min');
});
it('should render the Box with the height class', () => {
const { getByText } = render(
<>
Box half
Box one fourth
Box max
Box min
>,
);
expect(getByText('Box half')).toHaveClass('mm-box--height-1/2');
expect(getByText('Box one fourth')).toHaveClass('mm-box--height-1/4');
expect(getByText('Box max')).toHaveClass('mm-box--height-max');
expect(getByText('Box min')).toHaveClass('mm-box--height-min');
});
it('should render the Box with the responsive height classes', () => {
const { getByText } = render(
<>
Box content
>,
);
expect(getByText('Box content')).toHaveClass('mm-box--height-1/2');
expect(getByText('Box content')).toHaveClass('mm-box--sm:height-1/4');
expect(getByText('Box content')).toHaveClass('mm-box--md:height-max');
expect(getByText('Box content')).toHaveClass('mm-box--lg:height-min');
});
});
describe('polymorphic "as" prop', () => {
it('should render the Box with different html root elements', () => {
const { container } = render(
<>
Box as div (default)
Box as ul
Box as button
>,
);
expect(container.querySelector('div')).toHaveTextContent(
'Box as div (default)',
);
expect(container.querySelector('ul')).toHaveTextContent('Box as ul');
expect(container.querySelector('button')).toHaveTextContent(
'Box as button',
);
});
});
it('should accept a ref prop that is passed down to the html element', () => {
const mockRef = React.createRef();
render(hello);
expect(mockRef.current).toBeInTheDocument();
expect(mockRef.current?.tagName).toBe('DIV');
});
it('should render with a varying range of array props', () => {
const { getByText } = render(
<>
1 item
2 items
3 items
too many items
>,
);
expect(getByText('1 item')).toHaveClass('mm-box--margin-0');
expect(getByText('2 items')).toHaveClass(
'mm-box--margin-0 mm-box--sm:margin-1',
);
expect(getByText('3 items')).toHaveClass(
'mm-box--margin-0 mm-box--sm:margin-1 mm-box--md:margin-2',
);
});
});