forked from FormidableLabs/radium
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathremove-nested-styles-test.js
More file actions
41 lines (34 loc) · 1.17 KB
/
remove-nested-styles-test.js
File metadata and controls
41 lines (34 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* eslint-disable react/prop-types */
import Radium, {StyleRoot} from 'index';
import React from 'react';
import {getElement, renderFcIntoDocument} from 'test-helpers';
describe('removeNestedStyles plugin tests', () => {
it('removes nested style objects', () => {
const ChildComponent = Radium(() => (
<span style={{color: 'red', foo: {color: 'blue'}}} />
));
const TestComponent = Radium(() => (
<StyleRoot>
<ChildComponent />
</StyleRoot>
));
const output = renderFcIntoDocument(<TestComponent />);
const span = getElement(output, 'span');
expect(span.style.foo).to.not.exist;
});
it('should not remove style objects that have a toString function defined', () => {
const styleObject = {color: 'blue'};
styleObject.toString = () => 'bar';
const ChildComponent = Radium(() => (
<span style={{color: 'red', foo: styleObject}} />
));
const TestComponent = Radium(() => (
<StyleRoot>
<ChildComponent />
</StyleRoot>
));
const output = renderFcIntoDocument(<TestComponent />);
const span = getElement(output, 'span');
expect(span.style.foo).to.equal('bar');
});
});