UNPKG

2.65 kBJavaScriptView Raw
1"use strict";
2
3var _react = _interopRequireDefault(require("react"));
4
5var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
6
7var _styledComponents = _interopRequireDefault(require("styled-components"));
8
9require("jest-styled-components");
10
11var _ = require("..");
12
13function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15var CustomBox = _styledComponents.default.div.withConfig({
16 displayName: "default-props-test__CustomBox",
17 componentId: "sc-9t2l2e-0"
18})(["background:", ";"], function (props) {
19 return props.theme.global.colors.brand;
20});
21
22CustomBox.defaultProps = {};
23Object.setPrototypeOf(CustomBox.defaultProps, _.defaultProps);
24test('default theme is used', function () {
25 var component = _reactTestRenderer.default.create(_react.default.createElement(_.Box, {
26 background: "brand"
27 }));
28
29 var tree = component.toJSON();
30 expect(tree).toMatchSnapshot();
31});
32test('extends default theme', function () {
33 (0, _.extendDefaultTheme)({
34 global: {
35 colors: {
36 brand: 'red'
37 }
38 }
39 });
40
41 var component = _reactTestRenderer.default.create(_react.default.createElement(_.Box, {
42 background: "brand"
43 }));
44
45 var tree = component.toJSON();
46 expect(tree).toMatchSnapshot();
47});
48test('extends default theme twice', function () {
49 (0, _.extendDefaultTheme)({
50 global: {
51 colors: {
52 brand: 'red'
53 }
54 }
55 });
56
57 var component = _reactTestRenderer.default.create(_react.default.createElement(_.Box, {
58 background: "brand"
59 }));
60
61 var tree = component.toJSON();
62 expect(tree).toMatchSnapshot();
63 (0, _.extendDefaultTheme)({
64 global: {
65 colors: {
66 brand: 'blue'
67 }
68 }
69 });
70 component = _reactTestRenderer.default.create(_react.default.createElement(_.Box, {
71 background: "brand"
72 }));
73 tree = component.toJSON();
74 expect(tree).toMatchSnapshot();
75});
76test('uses Grommet theme instead of default', function () {
77 (0, _.extendDefaultTheme)({
78 global: {
79 colors: {
80 brand: 'red'
81 }
82 }
83 });
84
85 var component = _reactTestRenderer.default.create(_react.default.createElement(_.Grommet, {
86 theme: _.grommet
87 }, _react.default.createElement(_.Box, {
88 background: "brand"
89 })));
90
91 var tree = component.toJSON();
92 expect(tree).toMatchSnapshot();
93});
94test('leverages default theme', function () {
95 (0, _.extendDefaultTheme)({
96 global: {
97 colors: {
98 brand: 'red'
99 }
100 }
101 });
102
103 var component = _reactTestRenderer.default.create(_react.default.createElement(CustomBox, null));
104
105 var tree = component.toJSON();
106 expect(tree).toMatchSnapshot();
107});
\No newline at end of file