-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPane.spec.jsx
More file actions
38 lines (34 loc) · 1.47 KB
/
Pane.spec.jsx
File metadata and controls
38 lines (34 loc) · 1.47 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
import expect from 'expect';
import React from 'react';
import TestUtils from 'react-addons-test-utils';
import Pane from '../src/components/Pane';
function setupPane(content, props) {
props = props || {};
const renderer = TestUtils.createRenderer();
renderer.render(<Pane {...props}>{content}</Pane>);
const output = renderer.getRenderOutput();
return { props, output, renderer };
}
describe('Pane', () => {
it('should render a Pane correctly', () => {
const { output } = setupPane('test pane');
expect(output.type).toBe('div');
expect(output.props.className).toBe('layout-pane');
expect(output.props.style).toEqual({ width: '0px' });
expect(output.props.children).toBe('test pane');
});
it('should render properties of a Pane correctly if requested', () => {
const { output } = setupPane('test pane', { vertical: true, size: 2, percentage: true });
expect(output.type).toBe('div');
expect(output.props.className).toBe('layout-pane');
expect(output.props.style).toEqual({ height: '2%' });
expect(output.props.children).toBe('test pane');
});
it('should render a primary Pane correctly if requested', () => {
const { output } = setupPane('test pane', { primary: true, vertical: true, size: 2, percentage: true });
expect(output.type).toBe('div');
expect(output.props.className).toBe('layout-pane layout-pane-primary');
expect(output.props.style).toEqual({});
expect(output.props.children).toBe('test pane');
});
});