UNPKG

1.58 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.getRenderOutput = getRenderOutput;
7exports.getElement = getElement;
8exports.expectCSS = expectCSS;
9exports.expectColor = expectColor;
10
11var _color = require('color');
12
13var _color2 = _interopRequireDefault(_color);
14
15var _reactDom = require('react-dom');
16
17var _reactDom2 = _interopRequireDefault(_reactDom);
18
19var _reactAddonsTestUtils = require('react-addons-test-utils');
20
21var _reactAddonsTestUtils2 = _interopRequireDefault(_reactAddonsTestUtils);
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25function getRenderOutput(element) {
26 var renderer = _reactAddonsTestUtils2.default.createRenderer();
27 renderer.render(element);
28 return renderer.getRenderOutput();
29}
30
31function getElement(output, tagName) {
32 return _reactDom2.default.findDOMNode(_reactAddonsTestUtils2.default.findRenderedDOMComponentWithTag(output, tagName));
33}
34
35function cleanCSS(css) {
36 return css.replace(/\s*\n\s*/g, '').replace(/\s*([{};:,])\s*/g, '$1');
37}
38
39function expectCSS(styleElement, css) {
40 // strip newlines and excess whitespace from both to normalize browsers.
41 // IE9, for instance, does not include new lines in innerText.
42 // Also allows us to write our expected CSS cleanly, without worring about the
43 // format of the actual output.
44 expect(cleanCSS(styleElement.innerText)).to.equal(cleanCSS(css));
45}
46
47function expectColor(actual, expected) {
48 expect((0, _color2.default)(actual).hexString()).to.equal((0, _color2.default)(expected).hexString());
49}
\No newline at end of file