From 91d4220879ec5e19097839c3461765cb56b0ef39 Mon Sep 17 00:00:00 2001 From: Paul Le Cam Date: Wed, 30 Sep 2015 08:38:30 +0100 Subject: [PATCH] Move tests out of src --- {src/__tests__ => __tests__}/Map.js | 6 +- {src/__tests__ => __tests__}/MapComponent.js | 4 +- {src/__tests__ => __tests__}/MapLayer.js | 10 +- {src/__tests__ => __tests__}/Marker.js | 18 +- {src/__tests__ => __tests__}/Popup.js | 20 +- lib/__tests__/Map.js | 191 ------------------- lib/__tests__/MapComponent.js | 178 ----------------- lib/__tests__/MapLayer.js | 115 ----------- lib/__tests__/Marker.js | 41 ---- lib/__tests__/Popup.js | 127 ------------ package.json | 8 +- 11 files changed, 34 insertions(+), 684 deletions(-) rename {src/__tests__ => __tests__}/Map.js (97%) rename {src/__tests__ => __tests__}/MapComponent.js (97%) rename {src/__tests__ => __tests__}/MapLayer.js (87%) rename {src/__tests__ => __tests__}/Marker.js (62%) rename {src/__tests__ => __tests__}/Popup.js (84%) delete mode 100644 lib/__tests__/Map.js delete mode 100644 lib/__tests__/MapComponent.js delete mode 100644 lib/__tests__/MapLayer.js delete mode 100644 lib/__tests__/Marker.js delete mode 100644 lib/__tests__/Popup.js diff --git a/src/__tests__/Map.js b/__tests__/Map.js similarity index 97% rename from src/__tests__/Map.js rename to __tests__/Map.js index 45e441ff..632b5a50 100644 --- a/src/__tests__/Map.js +++ b/__tests__/Map.js @@ -2,10 +2,10 @@ import React from 'react'; import { findDOMNode, render } from 'react-dom'; import { renderToStaticMarkup } from 'react-dom/server'; -jest.dontMock('../Map'); -jest.dontMock('../MapComponent'); +jest.dontMock('../src/Map'); +jest.dontMock('../src/MapComponent'); -const Map = require('../Map'); +const Map = require('../src/Map'); describe('Map', () => { beforeEach(() => { diff --git a/src/__tests__/MapComponent.js b/__tests__/MapComponent.js similarity index 97% rename from src/__tests__/MapComponent.js rename to __tests__/MapComponent.js index fb4f9bff..a35d2d03 100644 --- a/src/__tests__/MapComponent.js +++ b/__tests__/MapComponent.js @@ -2,9 +2,9 @@ import Leaflet from 'leaflet'; import React from 'react'; import { render } from 'react-dom'; -jest.dontMock('../MapComponent'); +jest.dontMock('../src/MapComponent'); -const MapComponent = require('../MapComponent'); +const MapComponent = require('../src/MapComponent'); describe('MapComponent', () => { class Component extends MapComponent { diff --git a/src/__tests__/MapLayer.js b/__tests__/MapLayer.js similarity index 87% rename from src/__tests__/MapLayer.js rename to __tests__/MapLayer.js index e742eba9..fe52dead 100644 --- a/src/__tests__/MapLayer.js +++ b/__tests__/MapLayer.js @@ -2,12 +2,12 @@ import Leaflet from 'leaflet'; import React from 'react'; import { render } from 'react-dom'; -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../Map'); +jest.dontMock('../src/MapComponent'); +jest.dontMock('../src/MapLayer'); +jest.dontMock('../src/Map'); -const MapLayer = require('../MapLayer'); -const Map = require('../Map'); +const MapLayer = require('../src/MapLayer'); +const Map = require('../src/Map'); describe('MapLayer', () => { it('passes its `map` prop to its children', () => { diff --git a/src/__tests__/Marker.js b/__tests__/Marker.js similarity index 62% rename from src/__tests__/Marker.js rename to __tests__/Marker.js index e3a9f0aa..7c593cd5 100644 --- a/src/__tests__/Marker.js +++ b/__tests__/Marker.js @@ -1,16 +1,16 @@ import React from 'react'; import { render } from 'react-dom'; -jest.dontMock('../BaseTileLayer'); -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../PopupContainer'); -jest.dontMock('../Map'); -jest.dontMock('../TileLayer'); -jest.dontMock('../Marker'); -jest.dontMock('../index'); +jest.dontMock('../src/BaseTileLayer'); +jest.dontMock('../src/MapComponent'); +jest.dontMock('../src/MapLayer'); +jest.dontMock('../src/PopupContainer'); +jest.dontMock('../src/Map'); +jest.dontMock('../src/TileLayer'); +jest.dontMock('../src/Marker'); +jest.dontMock('../src/index'); -const { Map, Marker, TileLayer } = require('../'); +const { Map, Marker, TileLayer } = require('../src/'); describe('Marker', () => { it('adds the marker to the map', () => { diff --git a/src/__tests__/Popup.js b/__tests__/Popup.js similarity index 84% rename from src/__tests__/Popup.js rename to __tests__/Popup.js index 83a60125..b2a602e2 100644 --- a/src/__tests__/Popup.js +++ b/__tests__/Popup.js @@ -3,17 +3,17 @@ import React from 'react'; import { render } from 'react-dom'; -jest.dontMock('../BaseTileLayer'); -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../PopupContainer'); -jest.dontMock('../Map'); -jest.dontMock('../Marker'); -jest.dontMock('../Popup'); -jest.dontMock('../TileLayer'); -jest.dontMock('../index'); +jest.dontMock('../src/BaseTileLayer'); +jest.dontMock('../src/MapComponent'); +jest.dontMock('../src/MapLayer'); +jest.dontMock('../src/PopupContainer'); +jest.dontMock('../src/Map'); +jest.dontMock('../src/Marker'); +jest.dontMock('../src/Popup'); +jest.dontMock('../src/TileLayer'); +jest.dontMock('../src/index'); -const { Map, Popup, TileLayer } = require('../'); +const { Map, Popup, TileLayer } = require('../src/'); describe('Popup', () => { it('adds the popup to the map', () => { diff --git a/lib/__tests__/Map.js b/lib/__tests__/Map.js deleted file mode 100644 index 13ad3907..00000000 --- a/lib/__tests__/Map.js +++ /dev/null @@ -1,191 +0,0 @@ -'use strict'; - -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; }; })(); - -var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - -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; } - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDomServer = require('react-dom/server'); - -jest.dontMock('../Map'); -jest.dontMock('../MapComponent'); - -var Map = require('../Map'); - -describe('Map', function () { - beforeEach(function () { - document.body.innerHTML = '
'; - }); - - it('only renders the container div server-side', function () { - var Component = (function (_React$Component) { - _inherits(Component, _React$Component); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).apply(this, arguments); - } - - _createClass(Component, [{ - key: 'render', - value: function render() { - return _react2['default'].createElement( - 'span', - null, - 'test' - ); - } - }]); - - return Component; - })(_react2['default'].Component); - - var component = _react2['default'].createElement( - Map, - null, - _react2['default'].createElement(Component, null) - ); - var html = (0, _reactDomServer.renderToStaticMarkup)(component, document.getElementById('test')); - - expect(html).toBe('
'); - }); - - it('initializes the map in the rendered container', function () { - var component = _react2['default'].createElement(Map, null); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - var node = (0, _reactDom.findDOMNode)(instance); - - expect(node._leaflet).toBe(true); - }); - - it('sets center and zoom props', function () { - var center = [1.2, 3.4]; - var zoom = 10; - - var component = _react2['default'].createElement(Map, { center: center, zoom: zoom }); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - var mapLeaflet = instance.leafletElement; - - expect(mapLeaflet.getCenter().lat).toBe(center[0]); - expect(mapLeaflet.getCenter().lng).toBe(center[1]); - expect(mapLeaflet.getZoom()).toBe(zoom); - }); - - it('sets bounds', function () { - var bounds = [[0, 0], [2, 2]]; - var component = _react2['default'].createElement(Map, { bounds: bounds }); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - var mapLeaflet = instance.leafletElement; - - expect(mapLeaflet.getCenter().lat).toBeCloseTo(1); - expect(mapLeaflet.getCenter().lng).toBeCloseTo(1); - }); - - it('updates center and zoom props', function () { - var Component = (function (_React$Component2) { - _inherits(Component, _React$Component2); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).call(this); - this.state = { - center: [1.2, 3.4], - zoom: 10 - }; - } - - _createClass(Component, [{ - key: 'getLeafletMap', - value: function getLeafletMap() { - return this.refs.map.leafletElement; - } - }, { - key: 'updatePosition', - value: function updatePosition() { - this.setState({ - center: [2.3, 4.5], - zoom: 12 - }); - } - }, { - key: 'render', - value: function render() { - return _react2['default'].createElement(Map, { center: this.state.center, ref: 'map', zoom: this.state.zoom }); - } - }]); - - return Component; - })(_react2['default'].Component); - - var instance = (0, _reactDom.render)(_react2['default'].createElement(Component, null), document.getElementById('test')); - var mapLeaflet = instance.getLeafletMap(); - - expect(mapLeaflet.getCenter().lat).toBe(1.2); - expect(mapLeaflet.getCenter().lng).toBe(3.4); - expect(mapLeaflet.getZoom()).toBe(10); - - instance.updatePosition(); - expect(mapLeaflet.getCenter().lat).toBe(2.3); - expect(mapLeaflet.getCenter().lng).toBe(4.5); - expect(mapLeaflet.getZoom()).toBe(12); - }); - - it('updates bounds props', function () { - var Component = (function (_React$Component3) { - _inherits(Component, _React$Component3); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).call(this); - this.state = { - bounds: [[0, 0], [2, 2]] - }; - } - - _createClass(Component, [{ - key: 'getLeafletMap', - value: function getLeafletMap() { - return this.refs.map.leafletElement; - } - }, { - key: 'updatePosition', - value: function updatePosition() { - this.setState({ - bounds: [[0, 0], [-2, -2]] - }); - } - }, { - key: 'render', - value: function render() { - return _react2['default'].createElement(Map, { bounds: this.state.bounds, ref: 'map' }); - } - }]); - - return Component; - })(_react2['default'].Component); - - var instance = (0, _reactDom.render)(_react2['default'].createElement(Component, null), document.getElementById('test')); - var mapLeaflet = instance.getLeafletMap(); - - expect(mapLeaflet.getCenter().lat).toBeCloseTo(1); - expect(mapLeaflet.getCenter().lng).toBeCloseTo(1); - - instance.updatePosition(); - expect(mapLeaflet.getCenter().lat).toBeCloseTo(-1); - expect(mapLeaflet.getCenter().lng).toBeCloseTo(-1); - }); -}); \ No newline at end of file diff --git a/lib/__tests__/MapComponent.js b/lib/__tests__/MapComponent.js deleted file mode 100644 index 1cad44ff..00000000 --- a/lib/__tests__/MapComponent.js +++ /dev/null @@ -1,178 +0,0 @@ -'use strict'; - -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; }; })(); - -var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - -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; } - -var _leaflet = require('leaflet'); - -var _leaflet2 = _interopRequireDefault(_leaflet); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -jest.dontMock('../MapComponent'); - -var MapComponent = require('../MapComponent'); - -describe('MapComponent', function () { - var Component = (function (_MapComponent) { - _inherits(Component, _MapComponent); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).apply(this, arguments); - } - - _createClass(Component, [{ - key: 'componentWillMount', - value: function componentWillMount() { - _get(Object.getPrototypeOf(Component.prototype), 'componentWillMount', this).call(this); - this.leafletElement = _leaflet2['default'].map('test'); - } - }, { - key: 'render', - value: function render() { - return null; - } - }]); - - return Component; - })(MapComponent); - - it('exposes a `leafletElement` getter', function () { - document.body.innerHTML = '
'; - - var component = _react2['default'].createElement(Component, null); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - - expect(instance.leafletElement._container).toBeDefined(); - }); - - it('binds the event', function () { - document.body.innerHTML = '
'; - - var callback = jest.genMockFn(); - var component = _react2['default'].createElement(Component, { onLeafletClick: callback }); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - - instance.fireLeafletEvent('click'); - expect(callback.mock.calls.length).toBe(1); - }); - - it('binds events as Leaflet events', function () { - document.body.innerHTML = '
'; - - var callback = jest.genMockFn(); - var component = _react2['default'].createElement(Component, { onClick: callback }); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - - instance.fireLeafletEvent('click'); - expect(callback.mock.calls.length).toBe(1); - }); - - it('unbinds the event', function () { - document.body.innerHTML = '
'; - - var callback = jest.genMockFn(); - - var TestComponent = (function (_React$Component) { - _inherits(TestComponent, _React$Component); - - function TestComponent() { - _classCallCheck(this, TestComponent); - - _get(Object.getPrototypeOf(TestComponent.prototype), 'constructor', this).call(this); - this.state = { bindEvent: true }; - } - - _createClass(TestComponent, [{ - key: 'dontBind', - value: function dontBind() { - this.setState({ bindEvent: false }); - } - }, { - key: 'fire', - value: function fire() { - this.refs.c.fireLeafletEvent('click'); - } - }, { - key: 'render', - value: function render() { - return this.state.bindEvent ? _react2['default'].createElement(Component, { onClick: callback, ref: 'c' }) : _react2['default'].createElement(Component, { ref: 'c' }); - } - }]); - - return TestComponent; - })(_react2['default'].Component); - - var component = _react2['default'].createElement(TestComponent, null); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - - instance.fire(); - expect(callback.mock.calls.length).toBe(1); - - instance.dontBind(); - instance.fire(); - expect(callback.mock.calls.length).toBe(1); - }); - - it('replaces the event', function () { - document.body.innerHTML = '
'; - - var callback1 = jest.genMockFn(); - var callback2 = jest.genMockFn(); - - var TestComponent = (function (_React$Component2) { - _inherits(TestComponent, _React$Component2); - - function TestComponent() { - _classCallCheck(this, TestComponent); - - _get(Object.getPrototypeOf(TestComponent.prototype), 'constructor', this).call(this); - this.state = { cb: callback1 }; - } - - _createClass(TestComponent, [{ - key: 'replaceCallback', - value: function replaceCallback() { - this.setState({ cb: callback2 }); - } - }, { - key: 'fire', - value: function fire() { - this.refs.c.fireLeafletEvent('click'); - } - }, { - key: 'render', - value: function render() { - return _react2['default'].createElement(Component, { onClick: this.state.cb, ref: 'c' }); - } - }]); - - return TestComponent; - })(_react2['default'].Component); - - var component = _react2['default'].createElement(TestComponent, null); - var instance = (0, _reactDom.render)(component, document.getElementById('test')); - - instance.fire(); - expect(callback1.mock.calls.length).toBe(1); - expect(callback2.mock.calls.length).toBe(0); - - instance.replaceCallback(); - instance.fire(); - expect(callback1.mock.calls.length).toBe(1); - expect(callback2.mock.calls.length).toBe(1); - }); -}); \ No newline at end of file diff --git a/lib/__tests__/MapLayer.js b/lib/__tests__/MapLayer.js deleted file mode 100644 index c202bfd4..00000000 --- a/lib/__tests__/MapLayer.js +++ /dev/null @@ -1,115 +0,0 @@ -'use strict'; - -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; }; })(); - -var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - -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; } - -var _leaflet = require('leaflet'); - -var _leaflet2 = _interopRequireDefault(_leaflet); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../Map'); - -var MapLayer = require('../MapLayer'); -var Map = require('../Map'); - -describe('MapLayer', function () { - it('passes its `map` prop to its children', function () { - document.body.innerHTML = '
'; - - var Component = (function (_MapLayer) { - _inherits(Component, _MapLayer); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).apply(this, arguments); - } - - _createClass(Component, [{ - key: 'componentWillMount', - value: function componentWillMount() { - _get(Object.getPrototypeOf(Component.prototype), 'componentWillMount', this).call(this); - expect(this.props.map).toBeDefined(); - this.leafletElement = _leaflet2['default'].marker([0, 0]); - } - }, { - key: 'render', - value: function render() { - var children = this.getClonedChildrenWithMap({ parent: true }); - return _react2['default'].createElement( - 'div', - null, - children - ); - } - }], [{ - key: 'propTypes', - value: { - map: _react2['default'].PropTypes.instanceOf(_leaflet2['default'].Map) - }, - enumerable: true - }]); - - return Component; - })(MapLayer); - - var ChildComponent = (function (_React$Component) { - _inherits(ChildComponent, _React$Component); - - function ChildComponent() { - _classCallCheck(this, ChildComponent); - - _get(Object.getPrototypeOf(ChildComponent.prototype), 'constructor', this).apply(this, arguments); - } - - _createClass(ChildComponent, [{ - key: 'componentWillMount', - value: function componentWillMount() { - expect(this.props.map).toBeDefined(); - expect(this.props.parent).toBe(true); - } - }, { - key: 'render', - value: function render() { - return null; - } - }], [{ - key: 'propTypes', - value: { - map: _react2['default'].PropTypes.instanceOf(_leaflet2['default'].Map), - parent: _react2['default'].PropTypes.bool - }, - enumerable: true - }]); - - return ChildComponent; - })(_react2['default'].Component); - - var component = _react2['default'].createElement( - Map, - null, - _react2['default'].createElement( - Component, - null, - _react2['default'].createElement(ChildComponent, null) - ) - ); - - (0, _reactDom.render)(component, document.getElementById('test')); - }); -}); \ No newline at end of file diff --git a/lib/__tests__/Marker.js b/lib/__tests__/Marker.js deleted file mode 100644 index f0b1d548..00000000 --- a/lib/__tests__/Marker.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -jest.dontMock('../BaseTileLayer'); -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../PopupContainer'); -jest.dontMock('../Map'); -jest.dontMock('../TileLayer'); -jest.dontMock('../Marker'); -jest.dontMock('../index'); - -var _require = require('../'); - -var Map = _require.Map; -var Marker = _require.Marker; -var TileLayer = _require.TileLayer; - -describe('Marker', function () { - it('adds the marker to the map', function () { - var position = [0, 0]; - var component = _react2['default'].createElement( - Map, - { center: position, zoom: 10 }, - _react2['default'].createElement(TileLayer, { url: 'http://{s}.tile.osm.org/{z}/{x}/{y}.png' }), - _react2['default'].createElement(Marker, { position: position }) - ); - - document.body.innerHTML = '
'; - (0, _reactDom.render)(component, document.getElementById('test')); - - expect(document.querySelector('#test .leaflet-marker-pane img')).toBeDefined(); - }); -}); \ No newline at end of file diff --git a/lib/__tests__/Popup.js b/lib/__tests__/Popup.js deleted file mode 100644 index 7448a5d4..00000000 --- a/lib/__tests__/Popup.js +++ /dev/null @@ -1,127 +0,0 @@ -/* eslint-disable react/no-did-mount-set-state, react/no-did-update-set-state */ - -'use strict'; - -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; }; })(); - -var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - -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; } - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -jest.dontMock('../BaseTileLayer'); -jest.dontMock('../MapComponent'); -jest.dontMock('../MapLayer'); -jest.dontMock('../PopupContainer'); -jest.dontMock('../Map'); -jest.dontMock('../Marker'); -jest.dontMock('../Popup'); -jest.dontMock('../TileLayer'); -jest.dontMock('../index'); - -var _require = require('../'); - -var Map = _require.Map; -var Popup = _require.Popup; -var TileLayer = _require.TileLayer; - -describe('Popup', function () { - it('adds the popup to the map', function () { - var position = [0, 0]; - var component = _react2['default'].createElement( - Map, - { center: position, zoom: 10 }, - _react2['default'].createElement(TileLayer, { url: 'http://{s}.tile.osm.org/{z}/{x}/{y}.png' }), - _react2['default'].createElement( - Popup, - { position: position }, - _react2['default'].createElement( - 'span', - null, - 'Test Popup' - ) - ) - ); - - document.body.innerHTML = '
'; - (0, _reactDom.render)(component, document.getElementById('test')); - - expect(document.querySelector('#test .leaflet-popup-content span').textContent).toBe('Test Popup'); - }); - - it('adds and removes the popup on the map', function () { - var getNode = function getNode() { - return document.querySelector('#test .leaflet-popup-content span'); - }; - - var Component = (function (_React$Component) { - _inherits(Component, _React$Component); - - function Component() { - _classCallCheck(this, Component); - - _get(Object.getPrototypeOf(Component.prototype), 'constructor', this).call(this); - this.state = { - show: false, - test: true - }; - } - - _createClass(Component, [{ - key: 'componentDidMount', - value: function componentDidMount() { - expect(getNode()).toBe(null); - this.setState({ show: true }); - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - if (this.state.test) { - expect(getNode()).toBeDefined(); - this.setState({ - show: false, - test: false - }); - } else { - expect(getNode()).toBe(null); - } - } - }, { - key: 'render', - value: function render() { - var position = [0, 0]; - var popup = this.state.show ? _react2['default'].createElement( - Popup, - { position: position }, - _react2['default'].createElement( - 'span', - null, - 'Test Popup' - ) - ) : null; - - return _react2['default'].createElement( - Map, - { center: position, ref: 'map', zoom: 10 }, - _react2['default'].createElement(TileLayer, { url: 'http://{s}.tile.osm.org/{z}/{x}/{y}.png' }), - popup - ); - } - }]); - - return Component; - })(_react2['default'].Component); - - document.body.innerHTML = '
'; - (0, _reactDom.render)(_react2['default'].createElement(Component, null), document.getElementById('test')); - }); -}); \ No newline at end of file diff --git a/package.json b/package.json index d5496cef..09629163 100644 --- a/package.json +++ b/package.json @@ -7,15 +7,15 @@ "clean": "rm -Rf ./lib", "compile": "npm run clean && babel src --out-dir lib", "watch": "babel src --watch --out-dir lib", - "test": "jest --coverage ./lib", + "test": "jest --coverage", "start": "npm run lint && npm run compile && npm test", - "onchange": "onchange 'lib/*.js' 'lib/**/*.js' -- npm run lintAndTest", + "onchange": "onchange 'src/*.js' 'src/**/*.js' -- npm run lintAndTest", "dev": "npm run watch & npm run onchange", "prepublish": "npm ls && npm run lint && npm test", "example:compile": "gulp", "example:watch": "gulp watch:example", "lint": "eslint ./src", - "lintAndTest": "npm run lint && jest ./lib" + "lintAndTest": "npm run lint && jest" }, "repository": { "type": "git", @@ -44,6 +44,7 @@ "devDependencies": { "babel": "^5.8.23", "babel-eslint": "^4.1.3", + "babel-jest": "^5.3.0", "babelify": "^6.3.0", "browserify": "^11.2.0", "eslint": "^1.5.1", @@ -61,6 +62,7 @@ "watchify": "^3.4.0" }, "jest": { + "scriptPreprocessor": "/node_modules/babel-jest", "unmockedModulePathPatterns": [ "/node_modules/fbjs", "/node_modules/jest-cli",