1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
8 |
|
9 | exports.getRenderOutput = getRenderOutput;
|
10 | exports.getElement = getElement;
|
11 | exports.getElements = getElements;
|
12 | exports.expectCSS = expectCSS;
|
13 | exports.expectColor = expectColor;
|
14 | exports.createEsClass = createEsClass;
|
15 |
|
16 | var _color = require('color');
|
17 |
|
18 | var _color2 = _interopRequireDefault(_color);
|
19 |
|
20 | var _react = require('react');
|
21 |
|
22 | var _react2 = _interopRequireDefault(_react);
|
23 |
|
24 | var _reactDom = require('react-dom');
|
25 |
|
26 | var _reactDom2 = _interopRequireDefault(_reactDom);
|
27 |
|
28 | var _shallow = require('react-test-renderer/shallow');
|
29 |
|
30 | var _shallow2 = _interopRequireDefault(_shallow);
|
31 |
|
32 | var _testUtils = require('react-dom/test-utils');
|
33 |
|
34 | var _testUtils2 = _interopRequireDefault(_testUtils);
|
35 |
|
36 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
37 |
|
38 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
39 |
|
40 | function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
41 |
|
42 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
43 |
|
44 | function getRenderOutput(element) {
|
45 | var renderer = new _shallow2.default();
|
46 | renderer.render(element);
|
47 | return renderer.getRenderOutput();
|
48 | }
|
49 |
|
50 | function getElement(output, tagName) {
|
51 | return _reactDom2.default.findDOMNode(_testUtils2.default.findRenderedDOMComponentWithTag(output, tagName));
|
52 | }
|
53 |
|
54 | function getElements(output, tagName) {
|
55 | return _testUtils2.default.scryRenderedDOMComponentsWithTag(output, tagName).map(function (component) {
|
56 | return _reactDom2.default.findDOMNode(component);
|
57 | });
|
58 | }
|
59 |
|
60 | function cleanCSS(css) {
|
61 | return css.replace(/\s*\n\s*/g, '').replace(/\s*([{};:,])\s*/g, '$1');
|
62 | }
|
63 |
|
64 | function expectCSS(styleElement, css) {
|
65 |
|
66 |
|
67 |
|
68 |
|
69 | expect(cleanCSS(styleElement.innerText)).to.equal(cleanCSS(css));
|
70 | }
|
71 |
|
72 | function expectColor(actual, expected) {
|
73 | expect((0, _color2.default)(actual).hex()).to.equal((0, _color2.default)(expected).hex());
|
74 | }
|
75 |
|
76 | function createEsClass(renderFn) {
|
77 | var Composed = function (_Component) {
|
78 | _inherits(Composed, _Component);
|
79 |
|
80 | function Composed() {
|
81 | _classCallCheck(this, Composed);
|
82 |
|
83 | return _possibleConstructorReturn(this, (Composed.__proto__ || Object.getPrototypeOf(Composed)).apply(this, arguments));
|
84 | }
|
85 |
|
86 | _createClass(Composed, [{
|
87 | key: 'render',
|
88 | value: function render() {
|
89 | return renderFn() || _react2.default.createElement('div', null);
|
90 | }
|
91 | }]);
|
92 |
|
93 | return Composed;
|
94 | }(_react.Component);
|
95 |
|
96 | return Composed;
|
97 | } |
\ | No newline at end of file |