UNPKG

unveil

Version:

A React-based Reactive Presentation Framework

66 lines (47 loc) 5.81 kB
'use strict'; var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _reactAddonsTestUtils = require('react-addons-test-utils'); var _reactAddonsTestUtils2 = _interopRequireDefault(_reactAddonsTestUtils); var _rxjs = require('rxjs'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } jest.dontMock('../UIControls'); jest.dontMock('../Navigator'); jest.dontMock('marked'); var createNavigator = require('../Navigator').default; var UIControls = require('../UIControls').default; describe('UIControls', function () { var controller = undefined, node = undefined, navigator = undefined, directions = undefined, motions = undefined; directions = [{ next: [0], previous: [0] }, { next: [0], previous: [0] }]; motions = { left: { level: 0, direction: 'previous' }, up: { level: 1, direction: 'previous' }, right: { level: 0, direction: 'next' }, down: { level: 1, direction: 'next' } }; beforeEach(function () { navigator = createNavigator({ stateObservable: new _rxjs.Subject() }); navigator.next = jest.genMockFunction(); controller = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement(UIControls, { navigator: navigator })); node = _reactDom2.default.findDOMNode(controller); }); var find = function find(name) { return _reactDom2.default.findDOMNode(controller.refs['button-' + name]); }; (0, _keys2.default)(motions).forEach(function (motion) { it('calls navigate(' + motion + ') when pressing ' + motion, function () { node = find(motion); _reactAddonsTestUtils2.default.Simulate.click(node); expect(navigator.next).toBeCalledWith(motion); }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL19fdGVzdHNfXy9VSUNvbnRyb2xzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxLQUFLLFFBQUwsQ0FBYyxlQUFkO0FBQ0EsS0FBSyxRQUFMLENBQWMsY0FBZDtBQUNBLEtBQUssUUFBTCxDQUFjLFFBQWQ7O0FBUUEsSUFBTSxrQkFBa0IsUUFBUSxjQUFSLEVBQXdCLE9BQXhCO0FBQ3hCLElBQU0sYUFBa0IsUUFBUSxlQUFSLEVBQXlCLE9BQXpCOztBQUV4QixTQUFTLFlBQVQsRUFBdUIsWUFBTTtBQUMzQixNQUFJLHNCQUFKO01BQWdCLGdCQUFoQjtNQUFzQixxQkFBdEI7TUFBaUMsc0JBQWpDO01BQTZDLG1CQUE3QyxDQUQyQjs7QUFHM0IsZUFBYSxDQUNYLEVBQUMsTUFBTSxDQUFDLENBQUQsQ0FBTixFQUFXLFVBQVUsQ0FBQyxDQUFELENBQVYsRUFERCxFQUVYLEVBQUMsTUFBTSxDQUFDLENBQUQsQ0FBTixFQUFXLFVBQVUsQ0FBQyxDQUFELENBQVYsRUFGRCxDQUFiLENBSDJCO0FBTzNCLFlBQWE7QUFDWCxVQUFPLEVBQUUsT0FBTyxDQUFQLEVBQVUsV0FBVyxVQUFYLEVBQW5CO0FBQ0EsUUFBTyxFQUFFLE9BQU8sQ0FBUCxFQUFVLFdBQVcsVUFBWCxFQUFuQjtBQUNBLFdBQU8sRUFBRSxPQUFPLENBQVAsRUFBVSxXQUFXLE1BQVgsRUFBbkI7QUFDQSxVQUFPLEVBQUUsT0FBTyxDQUFQLEVBQVUsV0FBVyxNQUFYLEVBQW5CO0dBSkYsQ0FQMkI7O0FBYzNCLGFBQVksWUFBTTtBQUNoQixnQkFBWSxnQkFBZ0IsRUFBRSxpQkFBaUIsbUJBQWpCLEVBQWxCLENBQVosQ0FEZ0I7QUFFaEIsY0FBVSxJQUFWLEdBQWlCLEtBQUssZUFBTCxFQUFqQixDQUZnQjs7QUFJaEIsaUJBQWEsK0JBQVUsa0JBQVYsQ0FDWCw4QkFBQyxVQUFELElBQVksV0FBVyxTQUFYLEVBQVosQ0FEVyxDQUFiLENBSmdCOztBQVFoQixXQUFPLG1CQUFTLFdBQVQsQ0FBcUIsVUFBckIsQ0FBUCxDQVJnQjtHQUFOLENBQVosQ0FkMkI7O0FBeUIzQixNQUFJLE9BQU8sU0FBUCxJQUFPLENBQUMsSUFBRDtXQUNULG1CQUFTLFdBQVQsQ0FBcUIsV0FBVyxJQUFYLGFBQTBCLElBQTFCLENBQXJCO0dBRFMsQ0F6QmdCOztBQTRCM0Isc0JBQVksT0FBWixFQUFxQixPQUFyQixDQUE4QixVQUFDLE1BQUQsRUFBWTtBQUN4QywyQkFBcUIsOEJBQXlCLE1BQTlDLEVBQXdELFlBQU07QUFDNUQsYUFBTyxLQUFLLE1BQUwsQ0FBUCxDQUQ0RDtBQUU1RCxxQ0FBVSxRQUFWLENBQW1CLEtBQW5CLENBQXlCLElBQXpCLEVBRjREO0FBRzVELGFBQU8sVUFBVSxJQUFWLENBQVAsQ0FBdUIsY0FBdkIsQ0FBc0MsTUFBdEMsRUFINEQ7S0FBTixDQUF4RCxDQUR3QztHQUFaLENBQTlCLENBNUIyQjtDQUFOLENBQXZCIiwiZmlsZSI6IlVJQ29udHJvbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJqZXN0LmRvbnRNb2NrKCcuLi9VSUNvbnRyb2xzJyk7XG5qZXN0LmRvbnRNb2NrKCcuLi9OYXZpZ2F0b3InKTtcbmplc3QuZG9udE1vY2soJ21hcmtlZCcpO1xuXG5pbXBvcnQgUmVhY3QgICAgICAgICAgIGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSAgICAgICAgZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBUZXN0VXRpbHMgICAgICAgZnJvbSAncmVhY3QtYWRkb25zLXRlc3QtdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IGNyZWF0ZU5hdmlnYXRvciA9IHJlcXVpcmUoJy4uL05hdmlnYXRvcicpLmRlZmF1bHQ7XG5jb25zdCBVSUNvbnRyb2xzICAgICAgPSByZXF1aXJlKCcuLi9VSUNvbnRyb2xzJykuZGVmYXVsdDtcblxuZGVzY3JpYmUoJ1VJQ29udHJvbHMnLCAoKSA9PiB7XG4gIGxldCBjb250cm9sbGVyLCBub2RlLCBuYXZpZ2F0b3IsIGRpcmVjdGlvbnMsIG1vdGlvbnM7XG5cbiAgZGlyZWN0aW9ucyA9IFtcbiAgICB7bmV4dDogWzBdLCBwcmV2aW91czogWzBdfSxcbiAgICB7bmV4dDogWzBdLCBwcmV2aW91czogWzBdfVxuICBdO1xuICBtb3Rpb25zICAgID0ge1xuICAgIGxlZnQ6ICB7IGxldmVsOiAwLCBkaXJlY3Rpb246ICdwcmV2aW91cycgfSxcbiAgICB1cDogICAgeyBsZXZlbDogMSwgZGlyZWN0aW9uOiAncHJldmlvdXMnIH0sXG4gICAgcmlnaHQ6IHsgbGV2ZWw6IDAsIGRpcmVjdGlvbjogJ25leHQnIH0sXG4gICAgZG93bjogIHsgbGV2ZWw6IDEsIGRpcmVjdGlvbjogJ25leHQnIH1cbiAgfTtcblxuICBiZWZvcmVFYWNoKCAoKSA9PiB7XG4gICAgbmF2aWdhdG9yID0gY3JlYXRlTmF2aWdhdG9yKHsgc3RhdGVPYnNlcnZhYmxlOiBuZXcgU3ViamVjdCgpIH0pO1xuICAgIG5hdmlnYXRvci5uZXh0ID0gamVzdC5nZW5Nb2NrRnVuY3Rpb24oKTtcblxuICAgIGNvbnRyb2xsZXIgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KCAoXG4gICAgICA8VUlDb250cm9scyBuYXZpZ2F0b3I9e25hdmlnYXRvcn0gPlxuICAgICAgPC9VSUNvbnRyb2xzPikpO1xuXG4gICAgbm9kZSA9IFJlYWN0RE9NLmZpbmRET01Ob2RlKGNvbnRyb2xsZXIpO1xuICB9KTtcblxuICBsZXQgZmluZCA9IChuYW1lKSA9PlxuICAgIFJlYWN0RE9NLmZpbmRET01Ob2RlKGNvbnRyb2xsZXIucmVmc1tgYnV0dG9uLSR7bmFtZX1gXSk7XG5cbiAgT2JqZWN0LmtleXMobW90aW9ucykuZm9yRWFjaCggKG1vdGlvbikgPT4ge1xuICAgIGl0KGBjYWxscyBuYXZpZ2F0ZSgke21vdGlvbn0pIHdoZW4gcHJlc3NpbmcgJHttb3Rpb259YCwgKCkgPT4ge1xuICAgICAgbm9kZSA9IGZpbmQobW90aW9uKTtcbiAgICAgIFRlc3RVdGlscy5TaW11bGF0ZS5jbGljayhub2RlKTtcbiAgICAgIGV4cGVjdChuYXZpZ2F0b3IubmV4dCkudG9CZUNhbGxlZFdpdGgobW90aW9uKTtcbiAgICB9KTtcbiAgfSk7XG5cblxufSk7XG4iXX0=