react-spatial 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/CanvasSaveButton/CanvasSaveButton.test.js +1 -1
- package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +1 -1
- package/components/Copyright/Copyright.test.js +1 -1
- package/components/Copyright/Copyright.test.js.map +1 -1
- package/components/FeatureExportButton/FeatureExportButton.test.js +2 -2
- package/components/FeatureExportButton/FeatureExportButton.test.js.map +1 -1
- package/components/FilterButton/FilterButton.test.js +1 -1
- package/components/FilterButton/FilterButton.test.js.map +1 -1
- package/components/FitExtent/FitExtent.test.js +1 -1
- package/components/FitExtent/FitExtent.test.js.map +1 -1
- package/components/FollowButton/FollowButton.test.js +1 -1
- package/components/FollowButton/FollowButton.test.js.map +1 -1
- package/components/Geolocation/Geolocation.test.js +1 -1
- package/components/Geolocation/Geolocation.test.js.map +1 -1
- package/components/LayerTree/LayerTree.js +17 -1
- package/components/LayerTree/LayerTree.js.map +1 -1
- package/components/LayerTree/LayerTree.test.js +1 -1
- package/components/LayerTree/LayerTree.test.js.map +1 -1
- package/components/MousePosition/MousePosition.test.js +1 -1
- package/components/MousePosition/MousePosition.test.js.map +1 -1
- package/components/NorthArrow/NorthArrow.test.js +1 -1
- package/components/NorthArrow/NorthArrow.test.js.map +1 -1
- package/components/Overlay/Overlay.js +2 -2
- package/components/Overlay/Overlay.js.map +1 -1
- package/components/Overlay/Overlay.test.js +1 -1
- package/components/Overlay/Overlay.test.js.map +1 -1
- package/components/Permalink/Permalink.js +26 -12
- package/components/Permalink/Permalink.js.map +1 -1
- package/components/Permalink/Permalink.test.js +1 -1
- package/components/Permalink/Permalink.test.js.map +1 -1
- package/components/Popup/Popup.test.js +1 -1
- package/components/Popup/Popup.test.js.map +1 -1
- package/components/ResizeHandler/ResizeHandler.js +2 -2
- package/components/ResizeHandler/ResizeHandler.js.map +1 -1
- package/components/ResizeHandler/ResizeHandler.test.js +1 -1
- package/components/ResizeHandler/ResizeHandler.test.js.map +1 -1
- package/components/RouteSchedule/RouteSchedule.js +6 -5
- package/components/RouteSchedule/RouteSchedule.js.map +1 -1
- package/components/ScaleLine/ScaleLine.test.js +1 -1
- package/components/ScaleLine/ScaleLine.test.js.map +1 -1
- package/components/Zoom/Zoom.test.js +1 -1
- package/components/Zoom/Zoom.test.js.map +1 -1
- package/package.json +12 -12
- package/utils/KML.test.js +1 -1
- package/utils/KML.test.js.map +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'jest-canvas-mock';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { configure, mount } from 'enzyme';
|
|
4
|
-
import Adapter from 'enzyme-adapter-react-
|
|
4
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
5
5
|
import MapEvent from 'ol/MapEvent';
|
|
6
6
|
import OLMap from 'ol/Map';
|
|
7
7
|
import View from 'ol/View';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permalink.test.js","sources":["../../../src/components/Permalink/Permalink.test.js"],"sourcesContent":["import 'jest-canvas-mock';\nimport React from 'react';\nimport { configure, mount } from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport MapEvent from 'ol/MapEvent';\nimport OLMap from 'ol/Map';\nimport View from 'ol/View';\nimport { Layer, MapboxLayer } from 'mobility-toolbox-js/ol';\nimport LayerService from '../../LayerService';\nimport Permalink from './Permalink';\n\nconfigure({ adapter: new Adapter() });\n\ndescribe('Permalink', () => {\n let layers;\n beforeEach(() => {\n // Ensure default empty url.\n window.history.pushState({}, undefined, '/');\n layers = [\n new Layer({\n name: 'Ultimate layer',\n key: 'ultimate.layer',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new Layer({\n name: 'Swiss boundaries',\n key: 'swiss.boundaries',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new MapboxLayer({\n name: 'Base - Bright',\n key: 'basebright.baselayer',\n isBaseLayer: true,\n properties: {\n radioGroup: 'baseLayer',\n },\n }),\n new MapboxLayer({\n name: 'Base - Dark',\n key: 'basedark.baselayer',\n isBaseLayer: true,\n visible: false,\n properties: {\n radioGroup: 'baseLayer',\n },\n }),\n new Layer({\n name: 'Layer with children that are hidden',\n key: 'children.hidden.layer',\n visible: true,\n children: [\n new Layer({\n name: 'Child 1 hidden',\n key: 'child.hidden.1',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new Layer({\n name: 'Childr 2 hidden',\n key: 'child.hidden.2',\n visible: false,\n properties: {\n hideInLegend: true,\n },\n }),\n ],\n }),\n ];\n });\n\n test('should initialize x, y & z with history.', () => {\n const history = {\n replace: jest.fn((v) => {\n return v;\n }),\n };\n\n const params = {\n x: 0,\n y: 0,\n z: 7,\n };\n\n const permalink = mount(<Permalink params={params} history={history} />);\n\n permalink\n .setProps({\n params: {\n x: 1,\n y: 2,\n z: 7,\n },\n })\n .update();\n const search = '?x=1&y=2&z=7';\n\n expect(history.replace.mock.results[0].value.search).toEqual(search);\n });\n\n test('should initialize x, y & z Permalink without history.', () => {\n const params = {\n x: 0,\n y: 0,\n z: 7,\n };\n\n const permalink = mount(<Permalink params={params} />);\n\n permalink\n .setProps({\n params: {\n x: 1,\n y: 2,\n z: 7,\n },\n })\n .update();\n const search = '?x=1&y=2&z=7';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with layerService.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n const search =\n '?baselayers=basebright.baselayer,basedark.baselayer&layers=ultimate.layer,swiss.boundaries,child.hidden.1';\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with isLayerHidden.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(\n <Permalink\n layerService={layerService}\n isLayerHidden={(l) => {\n return (\n l.get('hideInLegend') ||\n layerService.getParents(l).some((pl) => {\n return pl.get('hideInLegend');\n })\n );\n }}\n />,\n );\n const search =\n '?baselayers=basebright.baselayer,basedark.baselayer&layers=children.hidden.layer';\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with map.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [1, 2],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=1&y=2&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should limit 2 decimals by default for x, y.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.555555, 10.5555555],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=10.56&y=10.56&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should round values x & y \".00\" for readability.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.99999, 1.000001],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=11&y=1&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should limit 4 decimals with props \"coordinateDecimals\".', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.555555, 10.5555555],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} coordinateDecimals={4} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=10.5556&y=10.5556&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should react on layerService change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n const permalink = mount(<Permalink layerService={layerService} />);\n const search = '?layers=foo.layer';\n const layerService2 = new LayerService([\n new Layer({\n name: 'foo',\n key: 'foo.layer',\n }),\n ]);\n permalink.setProps({ layerService: layerService2 }).update();\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should react on layer visiblity change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n layerService.getLayer('Swiss boundaries').setVisible(true);\n\n expect(\n /layers=ultimate.layer,swiss.boundaries/.test(window.location.search),\n ).toBe(true);\n });\n\n test('should react on base layer visiblity change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n expect(\n /baselayers=basebright.baselayer,basedark.baselayer/.test(\n window.location.search,\n ),\n ).toBe(true);\n\n layerService.getLayer('Base - Dark').setVisible(true);\n\n expect(\n /baselayers=basedark.baselayer,basebright.baselayer/.test(\n window.location.search,\n ),\n ).toBe(true);\n });\n});\n"],"names":["let","const"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Permalink.test.js","sources":["../../../src/components/Permalink/Permalink.test.js"],"sourcesContent":["import 'jest-canvas-mock';\nimport React from 'react';\nimport { configure, mount } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport MapEvent from 'ol/MapEvent';\nimport OLMap from 'ol/Map';\nimport View from 'ol/View';\nimport { Layer, MapboxLayer } from 'mobility-toolbox-js/ol';\nimport LayerService from '../../LayerService';\nimport Permalink from './Permalink';\n\nconfigure({ adapter: new Adapter() });\n\ndescribe('Permalink', () => {\n let layers;\n beforeEach(() => {\n // Ensure default empty url.\n window.history.pushState({}, undefined, '/');\n layers = [\n new Layer({\n name: 'Ultimate layer',\n key: 'ultimate.layer',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new Layer({\n name: 'Swiss boundaries',\n key: 'swiss.boundaries',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new MapboxLayer({\n name: 'Base - Bright',\n key: 'basebright.baselayer',\n isBaseLayer: true,\n properties: {\n radioGroup: 'baseLayer',\n },\n }),\n new MapboxLayer({\n name: 'Base - Dark',\n key: 'basedark.baselayer',\n isBaseLayer: true,\n visible: false,\n properties: {\n radioGroup: 'baseLayer',\n },\n }),\n new Layer({\n name: 'Layer with children that are hidden',\n key: 'children.hidden.layer',\n visible: true,\n children: [\n new Layer({\n name: 'Child 1 hidden',\n key: 'child.hidden.1',\n visible: true,\n properties: {\n hideInLegend: true,\n },\n }),\n new Layer({\n name: 'Childr 2 hidden',\n key: 'child.hidden.2',\n visible: false,\n properties: {\n hideInLegend: true,\n },\n }),\n ],\n }),\n ];\n });\n\n test('should initialize x, y & z with history.', () => {\n const history = {\n replace: jest.fn((v) => {\n return v;\n }),\n };\n\n const params = {\n x: 0,\n y: 0,\n z: 7,\n };\n\n const permalink = mount(<Permalink params={params} history={history} />);\n\n permalink\n .setProps({\n params: {\n x: 1,\n y: 2,\n z: 7,\n },\n })\n .update();\n const search = '?x=1&y=2&z=7';\n\n expect(history.replace.mock.results[0].value.search).toEqual(search);\n });\n\n test('should initialize x, y & z Permalink without history.', () => {\n const params = {\n x: 0,\n y: 0,\n z: 7,\n };\n\n const permalink = mount(<Permalink params={params} />);\n\n permalink\n .setProps({\n params: {\n x: 1,\n y: 2,\n z: 7,\n },\n })\n .update();\n const search = '?x=1&y=2&z=7';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with layerService.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n const search =\n '?baselayers=basebright.baselayer,basedark.baselayer&layers=ultimate.layer,swiss.boundaries,child.hidden.1';\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with isLayerHidden.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(\n <Permalink\n layerService={layerService}\n isLayerHidden={(l) => {\n return (\n l.get('hideInLegend') ||\n layerService.getParents(l).some((pl) => {\n return pl.get('hideInLegend');\n })\n );\n }}\n />,\n );\n const search =\n '?baselayers=basebright.baselayer,basedark.baselayer&layers=children.hidden.layer';\n expect(window.location.search).toEqual(search);\n });\n\n test('should initialize Permalink with map.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [1, 2],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=1&y=2&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should limit 2 decimals by default for x, y.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.555555, 10.5555555],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=10.56&y=10.56&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should round values x & y \".00\" for readability.', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.99999, 1.000001],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=11&y=1&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should limit 4 decimals with props \"coordinateDecimals\".', () => {\n expect(window.location.search).toEqual('');\n const olMap = new OLMap({\n controls: [],\n view: new View({\n center: [10.555555, 10.5555555],\n zoom: 5,\n }),\n });\n mount(<Permalink map={olMap} coordinateDecimals={4} />);\n olMap.dispatchEvent(new MapEvent('moveend', olMap));\n const search = '?x=10.5556&y=10.5556&z=5';\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should react on layerService change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n const permalink = mount(<Permalink layerService={layerService} />);\n const search = '?layers=foo.layer';\n const layerService2 = new LayerService([\n new Layer({\n name: 'foo',\n key: 'foo.layer',\n }),\n ]);\n permalink.setProps({ layerService: layerService2 }).update();\n\n expect(window.location.search).toEqual(search);\n });\n\n test('should react on layer visiblity change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n layerService.getLayer('Swiss boundaries').setVisible(true);\n\n expect(\n /layers=ultimate.layer,swiss.boundaries/.test(window.location.search),\n ).toBe(true);\n });\n\n test('should react on base layer visiblity change.', () => {\n expect(window.location.search).toEqual('');\n const layerService = new LayerService(layers);\n mount(<Permalink layerService={layerService} />);\n expect(\n /baselayers=basebright.baselayer,basedark.baselayer/.test(\n window.location.search,\n ),\n ).toBe(true);\n\n layerService.getLayer('Base - Dark').setVisible(true);\n\n expect(\n /baselayers=basedark.baselayer,basebright.baselayer/.test(\n window.location.search,\n ),\n ).toBe(true);\n });\n});\n"],"names":["let","const"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import renderer from 'react-test-renderer';
|
|
3
3
|
import { configure, mount, shallow } from 'enzyme';
|
|
4
|
-
import Adapter from 'enzyme-adapter-react-
|
|
4
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
5
5
|
import 'jest-canvas-mock';
|
|
6
6
|
|
|
7
7
|
import OLMap from 'ol/Map';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.test.js","sources":["../../../src/components/Popup/Popup.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, mount, shallow } from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport 'jest-canvas-mock';\n\nimport OLMap from 'ol/Map';\nimport View from 'ol/View';\nimport Feature from 'ol/Feature';\nimport Point from 'ol/geom/Point';\nimport Line from 'ol/geom/LineString';\nimport Popup from './Popup';\n\nlet map;\n\nconfigure({ adapter: new Adapter() });\n\nconst feat = new Feature({\n geometry: new Point([0, 0]),\n});\n\nconst featLine = new Feature({\n geometry: new Line([\n [0, 0],\n [1, 1],\n ]),\n});\n\ndescribe('Popup', () => {\n beforeEach(() => {\n map = new OLMap({});\n });\n\n describe('should match snapshot', () => {\n test('without feature', () => {\n const component = renderer.create(\n <Popup map={map}>\n <div id=\"foo\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with default values.', () => {\n const component = renderer.create(\n <Popup map={map} feature={feat}>\n <div id=\"foo\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('without close button.', () => {\n const component = renderer.create(\n <Popup\n map={map}\n feature={feat}\n renderCloseButton={() => {\n return null;\n }}\n >\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('without header.', () => {\n const component = renderer.create(\n <Popup\n map={map}\n feature={feat}\n renderHeader={() => {\n return null;\n }}\n >\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with tabIndex defined.', () => {\n const component = renderer.create(\n <Popup map={map} feature={feat} tabIndex=\"0\">\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n });\n\n [\n ['click', {}],\n ['keypress', { which: 13 }],\n ].forEach((evt) => {\n test(`should trigger onCloseClick function on ${evt[0]} event.`, () => {\n const spy = jest.fn(() => {});\n\n const component = mount(\n <Popup map={map} feature={feat} onCloseClick={spy}>\n <div id=\"gux\" />\n </Popup>,\n );\n\n component\n .find('div')\n .at(3)\n .simulate(...evt);\n expect(spy).toHaveBeenCalled();\n });\n\n test(`should trigger default onCloseClick function on ${evt[0]} event without errors.`, () => {\n const component = mount(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n // test if no js error triggered by the default value\n try {\n component\n .find('div')\n .at(3)\n .simulate(...evt);\n expect(true).toBe(true);\n } catch (e) {\n expect(false).toBe(true);\n }\n });\n });\n\n describe(`init position`, () => {\n test(`using popupCoordinate.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = mount(\n <Popup map={map} popupCoordinate={[1, 2]}>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(component.state().left).toBe(10);\n expect(component.state().top).toBe(200);\n component.setProps({ feature: featLine });\n map.getPixelFromCoordinate = jest.fn(() => {\n return [11, 100];\n });\n component.setProps({ popupCoordinate: [9, 9] });\n expect(component.state().left).toBe(11);\n expect(component.state().top).toBe(100);\n });\n\n test(`using feature.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = mount(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(component.state().left).toBe(10);\n expect(component.state().top).toBe(200);\n map.getPixelFromCoordinate = jest.fn(() => {\n return [11, 100];\n });\n component.setProps({ feature: featLine });\n expect(component.state().left).toBe(11);\n expect(component.state().top).toBe(100);\n });\n });\n\n describe(`updates position`, () => {\n test(`on map postrender event.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = shallow(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n const spy = jest.spyOn(component.instance(), 'updatePixelPosition');\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(`#panIntoView`, () => {\n beforeEach(() => {\n const target = document.createElement('div');\n const { style } = target;\n style.position = 'absolute';\n style.left = '-1000px';\n style.top = '-1000px';\n style.width = '100px';\n style.height = '100px';\n document.body.appendChild(target);\n\n map = new OLMap({\n target,\n view: new View({\n center: [0, 0],\n resolutions: [1],\n zoom: 0,\n }),\n });\n map.renderSync();\n });\n\n afterEach(() => {\n const target = map.getTarget();\n map.setTarget(null);\n if (target && target.parentNode) {\n target.parentNode.removeChild(target);\n }\n map.dispose();\n });\n\n test(`animate the map.`, () => {\n map.getTarget().getBoundingClientRect = jest.fn(() => {\n return {\n bottom: -10,\n left: 5,\n right: -5,\n top: 5,\n };\n });\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup map={map} feature={feat} panIntoView>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith({ center: [5, -10], duration: 500 });\n });\n\n test(`using panRect`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup\n map={map}\n feature={feat}\n panIntoView\n panRect={{ top: 0, left: 0, bottom: -10, right: 0 }}\n >\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith({ center: [0, -10], duration: 500 });\n });\n\n test(`doesn't animate the map`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup\n map={map}\n feature={feat}\n panIntoView\n panRect={{ top: 0, left: 0, bottom: 0, right: 0 }}\n >\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(0);\n });\n });\n\n test(`deregisters postrender on unmount.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = shallow(\n <Popup map={map} feature={featLine}>\n <div id=\"gux\" />\n </Popup>,\n );\n const spy = jest.spyOn(component.instance(), 'updatePixelPosition');\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n component.unmount();\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n });\n});\n"],"names":["let","const"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popup.test.js","sources":["../../../src/components/Popup/Popup.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, mount, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport 'jest-canvas-mock';\n\nimport OLMap from 'ol/Map';\nimport View from 'ol/View';\nimport Feature from 'ol/Feature';\nimport Point from 'ol/geom/Point';\nimport Line from 'ol/geom/LineString';\nimport Popup from './Popup';\n\nlet map;\n\nconfigure({ adapter: new Adapter() });\n\nconst feat = new Feature({\n geometry: new Point([0, 0]),\n});\n\nconst featLine = new Feature({\n geometry: new Line([\n [0, 0],\n [1, 1],\n ]),\n});\n\ndescribe('Popup', () => {\n beforeEach(() => {\n map = new OLMap({});\n });\n\n describe('should match snapshot', () => {\n test('without feature', () => {\n const component = renderer.create(\n <Popup map={map}>\n <div id=\"foo\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with default values.', () => {\n const component = renderer.create(\n <Popup map={map} feature={feat}>\n <div id=\"foo\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('without close button.', () => {\n const component = renderer.create(\n <Popup\n map={map}\n feature={feat}\n renderCloseButton={() => {\n return null;\n }}\n >\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('without header.', () => {\n const component = renderer.create(\n <Popup\n map={map}\n feature={feat}\n renderHeader={() => {\n return null;\n }}\n >\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with tabIndex defined.', () => {\n const component = renderer.create(\n <Popup map={map} feature={feat} tabIndex=\"0\">\n <div id=\"bar\" />\n </Popup>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n });\n\n [\n ['click', {}],\n ['keypress', { which: 13 }],\n ].forEach((evt) => {\n test(`should trigger onCloseClick function on ${evt[0]} event.`, () => {\n const spy = jest.fn(() => {});\n\n const component = mount(\n <Popup map={map} feature={feat} onCloseClick={spy}>\n <div id=\"gux\" />\n </Popup>,\n );\n\n component\n .find('div')\n .at(3)\n .simulate(...evt);\n expect(spy).toHaveBeenCalled();\n });\n\n test(`should trigger default onCloseClick function on ${evt[0]} event without errors.`, () => {\n const component = mount(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n // test if no js error triggered by the default value\n try {\n component\n .find('div')\n .at(3)\n .simulate(...evt);\n expect(true).toBe(true);\n } catch (e) {\n expect(false).toBe(true);\n }\n });\n });\n\n describe(`init position`, () => {\n test(`using popupCoordinate.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = mount(\n <Popup map={map} popupCoordinate={[1, 2]}>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(component.state().left).toBe(10);\n expect(component.state().top).toBe(200);\n component.setProps({ feature: featLine });\n map.getPixelFromCoordinate = jest.fn(() => {\n return [11, 100];\n });\n component.setProps({ popupCoordinate: [9, 9] });\n expect(component.state().left).toBe(11);\n expect(component.state().top).toBe(100);\n });\n\n test(`using feature.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = mount(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(component.state().left).toBe(10);\n expect(component.state().top).toBe(200);\n map.getPixelFromCoordinate = jest.fn(() => {\n return [11, 100];\n });\n component.setProps({ feature: featLine });\n expect(component.state().left).toBe(11);\n expect(component.state().top).toBe(100);\n });\n });\n\n describe(`updates position`, () => {\n test(`on map postrender event.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = shallow(\n <Popup map={map} feature={feat}>\n <div id=\"gux\" />\n </Popup>,\n );\n const spy = jest.spyOn(component.instance(), 'updatePixelPosition');\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(`#panIntoView`, () => {\n beforeEach(() => {\n const target = document.createElement('div');\n const { style } = target;\n style.position = 'absolute';\n style.left = '-1000px';\n style.top = '-1000px';\n style.width = '100px';\n style.height = '100px';\n document.body.appendChild(target);\n\n map = new OLMap({\n target,\n view: new View({\n center: [0, 0],\n resolutions: [1],\n zoom: 0,\n }),\n });\n map.renderSync();\n });\n\n afterEach(() => {\n const target = map.getTarget();\n map.setTarget(null);\n if (target && target.parentNode) {\n target.parentNode.removeChild(target);\n }\n map.dispose();\n });\n\n test(`animate the map.`, () => {\n map.getTarget().getBoundingClientRect = jest.fn(() => {\n return {\n bottom: -10,\n left: 5,\n right: -5,\n top: 5,\n };\n });\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup map={map} feature={feat} panIntoView>\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith({ center: [5, -10], duration: 500 });\n });\n\n test(`using panRect`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup\n map={map}\n feature={feat}\n panIntoView\n panRect={{ top: 0, left: 0, bottom: -10, right: 0 }}\n >\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith({ center: [0, -10], duration: 500 });\n });\n\n test(`doesn't animate the map`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const spy = jest.spyOn(map.getView(), 'animate');\n mount(\n <Popup\n map={map}\n feature={feat}\n panIntoView\n panRect={{ top: 0, left: 0, bottom: 0, right: 0 }}\n >\n <div id=\"gux\" />\n </Popup>,\n );\n expect(spy).toHaveBeenCalledTimes(0);\n });\n });\n\n test(`deregisters postrender on unmount.`, () => {\n map.getPixelFromCoordinate = jest.fn(() => {\n return [10, 200];\n });\n const component = shallow(\n <Popup map={map} feature={featLine}>\n <div id=\"gux\" />\n </Popup>,\n );\n const spy = jest.spyOn(component.instance(), 'updatePixelPosition');\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n component.unmount();\n map.dispatchEvent({ type: 'postrender' });\n expect(spy).toHaveBeenCalledTimes(1);\n });\n});\n"],"names":["let","const"],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,SAAS,SAAS,EAAE,KAAK,EAAE,OAAO,QAAQ,QAAQ,CAAC;AACnD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,kBAAkB,CAAC;AAC1B;AACA,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B;AACAA,GAAG,CAAC,GAAG,CAAC;AACR;AACA,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC;AACAC,GAAK,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;AACzB,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH;AACAA,GAAK,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC;AAC7B,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;AACrB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACV,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CACR,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,QAAQ,CAAC,OAAO,WAAE,GAAM;AACxB,EAAE,UAAU,UAAC,GAAM;AACnB,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,CAAC;AACL;AACA,EAAE,QAAQ,CAAC,uBAAuB,WAAE,GAAM;AAC1C,IAAI,IAAI,CAAC,iBAAiB,WAAE,GAAM;AAClC,MAAMA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACvC,QAAQ,qBAAC,QAAK,CAAC,KAAK,MAAK;AACzB,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,sBAAsB,WAAE,GAAM;AACvC,MAAMA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACvC,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,OAAM;AACxC,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,uBAAuB,WAAE,GAAM;AACxC,MAAMA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACvC,QAAQ,qBAAC,QAAK;AACd,UAAU,KAAK,GAAI,EACT,SAAS,IAAK,EACd,4BAAmB,GAAM;AACnC,YAAY,OAAO,IAAI,CAAC;AACxB,cACS;AACT,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,iBAAiB,WAAE,GAAM;AAClC,MAAMA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACvC,QAAQ,qBAAC,QAAK;AACd,UAAU,KAAK,GAAI,EACT,SAAS,IAAK,EACd,uBAAc,GAAM;AAC9B,YAAY,OAAO,IAAI,CAAC;AACxB,cACS;AACT,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,wBAAwB,WAAE,GAAM;AACzC,MAAMA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACvC,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,IAAK,EAAC,UAAS,MAAI;AACrD,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;AACA,EAAE;AACF,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AACjB,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC7B,CAAC,CAAC,OAAO,UAAC,CAAC,GAAG,EAAK;AACrB,IAAI,IAAI,CAAC,+CAA2C,GAAG,CAAC,CAAC,EAAC,aAAS,WAAE,GAAM;;AAAC;AAC5E,MAAMA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM,EAAE,CAAC,CAAC;AACpC;AACA,MAAMA,GAAK,CAAC,SAAS,GAAG,KAAK;AAC7B,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,IAAK,EAAC,cAAc,MAAK;AAC3D,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR;AACA,aAAM,SAAS;AACf,SAAS,IAAI,CAAC,KAAK,CAAC;AACpB,SAAS,EAAE,CAAC,CAAC,EAAC;AACd,SAAS,cAAQ,MAAI,GAAG,CAAC,CAAC;AAC1B,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,uDAAmD,GAAG,CAAC,CAAC,EAAC,4BAAwB,WAAE,GAAM;;AAAC;AACnG,MAAMA,GAAK,CAAC,SAAS,GAAG,KAAK;AAC7B,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,OAAM;AACxC,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR;AACA,MAAM,IAAI;AACV,eAAQ,SAAS;AACjB,WAAW,IAAI,CAAC,KAAK,CAAC;AACtB,WAAW,EAAE,CAAC,CAAC,EAAC;AAChB,WAAW,cAAQ,MAAI,GAAG,CAAC,CAAC;AAC5B,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;AACA,EAAE,QAAQ,CAAC,eAAe,WAAE,GAAM;AAClC,IAAI,IAAI,CAAC,wBAAwB,WAAE,GAAM;AACzC,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,SAAS,GAAG,KAAK;AAC7B,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAG;AAClD,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,gBAAgB,WAAE,GAAM;AACjC,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,SAAS,GAAG,KAAK;AAC7B,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,OAAM;AACxC,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;AACA,EAAE,QAAQ,CAAC,kBAAkB,WAAE,GAAM;AACrC,IAAI,IAAI,CAAC,0BAA0B,WAAE,GAAM;AAC3C,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,SAAS,GAAG,OAAO;AAC/B,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,OAAM;AACxC,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAMA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC1E,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAChD,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;AACA,EAAE,QAAQ,CAAC,cAAc,WAAE,GAAM;AACjC,IAAI,UAAU,UAAC,GAAM;AACrB,MAAMA,GAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACnD,MAAc,yBAAiB;AAC/B,MAAM,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAClC,MAAM,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;AAC7B,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;AAC5B,MAAM,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;AAC5B,MAAM,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;AAC7B,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACxC;AACA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC;AACtB,gBAAQ,MAAM;AACd,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC;AACvB,UAAU,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC;AAC1B,UAAU,IAAI,EAAE,CAAC;AACjB,SAAS,CAAC;AACV,OAAO,CAAC,CAAC;AACT,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;AACvB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,SAAS,UAAC,GAAM;AACpB,MAAMA,GAAK,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;AACrC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;AACvC,QAAQ,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,OAAO;AACP,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;AACpB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,kBAAkB,WAAE,GAAM;AACnC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AAC5D,QAAQ,OAAO;AACf,UAAU,MAAM,EAAE,CAAC,EAAE;AACrB,UAAU,IAAI,EAAE,CAAC;AACjB,UAAU,KAAK,EAAE,CAAC,CAAC;AACnB,UAAU,GAAG,EAAE,CAAC;AAChB,SAAS,CAAC;AACV,OAAO,CAAC,CAAC;AACT,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,MAAM,KAAK;AACX,QAAQ,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,IAAK,EAAC,oBAAY;AACpD,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5E,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,eAAe,WAAE,GAAM;AAChC,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,MAAM,KAAK;AACX,QAAQ,qBAAC,QAAK;AACd,UAAU,KAAK,GAAI,EACT,SAAS,IAAK,EACd,iBAAW,EACX,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,KAClD;AACT,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5E,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,yBAAyB,WAAE,GAAM;AAC1C,MAAM,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AACjD,QAAQ,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,MAAMA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,MAAM,KAAK;AACX,QAAQ,qBAAC,QAAK;AACd,UAAU,KAAK,GAAI,EACT,SAAS,IAAK,EACd,iBAAW,EACX,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAChD;AACT,UAAU,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AAC1B,QAAQ,CAAS;AACjB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;AACA,EAAE,IAAI,CAAC,oCAAoC,WAAE,GAAM;AACnD,IAAI,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AAC/C,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,IAAIA,GAAK,CAAC,SAAS,GAAG,OAAO;AAC7B,MAAM,qBAAC,QAAK,CAAC,KAAK,GAAI,EAAC,SAAS,WAAU;AAC1C,QAAQ,sBAAC,OAAG,CAAC,IAAG,OAAK,CAAG;AACxB,MAAM,CAAS;AACf,KAAK,CAAC;AACN,IAAIA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxE,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;AACxB,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzC,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;"}
|
|
@@ -6,9 +6,9 @@ import ResizeObserver from 'resize-observer-polyfill';
|
|
|
6
6
|
var propTypes = {
|
|
7
7
|
observe: PropTypes.oneOfType([
|
|
8
8
|
PropTypes.string,
|
|
9
|
-
PropTypes.
|
|
9
|
+
PropTypes.node,
|
|
10
10
|
PropTypes.instanceOf(Component),
|
|
11
|
-
PropTypes.shape({ current: PropTypes.
|
|
11
|
+
PropTypes.shape({ current: PropTypes.node }),
|
|
12
12
|
PropTypes.shape({ current: PropTypes.instanceOf(Component) }) ]),
|
|
13
13
|
maxHeightBrkpts: PropTypes.objectOf(PropTypes.number),
|
|
14
14
|
maxWidthBrkpts: PropTypes.objectOf(PropTypes.number),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizeHandler.js","sources":["../../../src/components/ResizeHandler/ResizeHandler.js"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport { PureComponent, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nconst propTypes = {\n observe: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.
|
|
1
|
+
{"version":3,"file":"ResizeHandler.js","sources":["../../../src/components/ResizeHandler/ResizeHandler.js"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport { PureComponent, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nconst propTypes = {\n observe: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.instanceOf(Component),\n PropTypes.shape({ current: PropTypes.node }),\n PropTypes.shape({ current: PropTypes.instanceOf(Component) }),\n ]),\n maxHeightBrkpts: PropTypes.objectOf(PropTypes.number),\n maxWidthBrkpts: PropTypes.objectOf(PropTypes.number),\n stylePropHeight: PropTypes.string,\n onResize: PropTypes.func,\n\n // This property is used to re-apply the classes, for example when the className of the observed node changes.\n forceUpdate: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n};\n\n// Same as bootstrap\nconst defaultProps = {\n observe: null,\n maxHeightBrkpts: {\n xs: 576,\n s: 768,\n m: 992,\n l: 1200,\n xl: Infinity,\n },\n maxWidthBrkpts: {\n xs: 576,\n s: 768,\n m: 992,\n l: 1200,\n xl: Infinity,\n },\n stylePropHeight: null,\n onResize: null,\n forceUpdate: null,\n};\n/**\n * This component adds css class to an element depending on his size.\n */\nclass ResizeHandler extends PureComponent {\n static applyBreakpoints(entry, breakpoints, size, direction) {\n let found = false;\n let screenSize;\n Object.entries(breakpoints).forEach((brkpt) => {\n const cssClass = `rs-${direction}-${brkpt[0]}`;\n entry.target.classList.remove(cssClass);\n if (!found && size <= brkpt[1]) {\n found = true;\n [screenSize] = brkpt;\n entry.target.classList.add(cssClass);\n }\n });\n return screenSize;\n }\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver((entries) => {\n return this.onResize(entries);\n });\n this.nodes = [];\n }\n\n componentDidMount() {\n this.observe();\n }\n\n componentDidUpdate(prevProps) {\n const { observe, forceUpdate } = this.props;\n\n if (\n observe !== prevProps.observe ||\n forceUpdate !== prevProps.forceUpdate\n ) {\n this.observe();\n }\n }\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n onResize(entries) {\n const { maxHeightBrkpts, maxWidthBrkpts, stylePropHeight, onResize } =\n this.props;\n\n if (stylePropHeight) {\n const vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty(stylePropHeight, `${vh}px`);\n }\n\n if (!maxWidthBrkpts && !maxHeightBrkpts) {\n onResize(entries);\n return;\n }\n\n let newScreenWidth;\n let newScreenHeight;\n\n for (let i = 0; i < entries.length; i += 1) {\n const entry = entries[i];\n const rect = entry.contentRect;\n const { height, width } = rect;\n\n if (maxWidthBrkpts) {\n newScreenWidth = ResizeHandler.applyBreakpoints(\n entry,\n maxWidthBrkpts,\n width,\n 'w',\n );\n }\n if (maxHeightBrkpts) {\n newScreenHeight = ResizeHandler.applyBreakpoints(\n entry,\n maxHeightBrkpts,\n height,\n 'h',\n );\n }\n }\n\n if (onResize) {\n onResize(entries, newScreenWidth, newScreenHeight);\n }\n }\n\n observe() {\n this.observer.disconnect();\n const { observe } = this.props;\n\n if (!observe) {\n return;\n }\n\n if (typeof observe === 'string' || observe instanceof String) {\n this.nodes = document.querySelectorAll(observe);\n } else if (observe instanceof Component) {\n // eslint-disable-next-line react/no-find-dom-node\n this.nodes.push(ReactDOM.findDOMNode(observe));\n } else if (observe instanceof Element) {\n this.nodes.push(observe);\n } else if (observe.current instanceof Element) {\n // observe value created with React.createRef() on a html node.\n this.nodes.push(observe.current);\n } else if (observe.current instanceof Component) {\n // observe value created with React.createRef() on a React component.\n // eslint-disable-next-line react/no-find-dom-node\n this.nodes.push(ReactDOM.findDOMNode(observe.current));\n }\n\n if (this.nodes.length) {\n this.nodes.forEach((node) => {\n return this.observer.observe(node);\n });\n }\n }\n\n render() {\n return null;\n }\n}\n\nResizeHandler.propTypes = propTypes;\nResizeHandler.defaultProps = defaultProps;\n\nexport default ResizeHandler;\n"],"names":["const","let","super","this"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* eslint-disable react/no-multi-comp,react/prefer-stateless-function,react/prop-types */
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { configure, mount, shallow } from 'enzyme';
|
|
5
|
-
import Adapter from 'enzyme-adapter-react-
|
|
5
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
6
6
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
7
7
|
import ResizeHandler from './ResizeHandler';
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizeHandler.test.js","sources":["../../../src/components/ResizeHandler/ResizeHandler.test.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\n/* eslint-disable react/no-multi-comp,react/prefer-stateless-function,react/prop-types */\nimport React from 'react';\nimport { configure, mount, shallow } from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport ResizeHandler from './ResizeHandler';\n\njest.mock('resize-observer-polyfill');\n\nconfigure({ adapter: new Adapter() });\n\nclass Div extends React.Component {\n render() {\n return <div />;\n }\n}\n\nclass BasicComponent extends React.Component {\n render() {\n const { onResize, stylePropHeight } = this.props;\n return (\n <div id=\"basic\">\n <ResizeHandler\n observe={this}\n onResize={onResize}\n stylePropHeight={stylePropHeight}\n />\n </div>\n );\n }\n}\n\nclass BasicComponent3 extends React.Component {\n render() {\n return (\n <div id=\"basic\">\n <ResizeHandler\n observe={this}\n maxHeightBrkpts={{\n niedrig: 150,\n hoch: Infinity,\n }}\n maxWidthBrkpts={{\n schmal: 150,\n breit: Infinity,\n }}\n />\n </div>\n );\n }\n}\n\nclass StrComponent extends React.Component {\n render() {\n return (\n <span id=\"basic\">\n <ResizeHandler observe=\"#basic\" />\n </span>\n );\n }\n}\n\nclass ThisComponent extends React.Component {\n render() {\n return (\n <div>\n <ResizeHandler observe={this} />\n </div>\n );\n }\n}\n\nclass RefComponent extends React.Component {\n constructor(props) {\n super(props);\n this.ref = React.createRef();\n }\n\n render() {\n return (\n <>\n <Div ref={this.ref} />\n <ResizeHandler observe={this.ref} />\n </>\n );\n }\n}\n\nclass CallbackComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ref: null,\n };\n }\n\n render() {\n const { ref } = this.state;\n return (\n <>\n <div\n ref={(node) => {\n if (node && !ref) {\n this.setState({\n ref: node,\n });\n }\n }}\n />\n <ResizeHandler observe={ref} />\n </>\n );\n }\n}\n\nclass RefNodeComponent extends React.Component {\n constructor(props) {\n super(props);\n this.ref = React.createRef();\n }\n\n render() {\n return (\n <>\n <div ref={this.ref} />\n <ResizeHandler observe={this.ref} />\n </>\n );\n }\n}\n\n// eslint-disable-next-line react/prefer-stateless-function\nclass CallbackNodeComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ref: null,\n };\n }\n\n render() {\n const { ref } = this.state;\n return (\n <>\n <div\n ref={(node) => {\n if (node && !ref) {\n this.setState({\n ref: node,\n });\n }\n }}\n />\n <ResizeHandler observe={ref} />\n </>\n );\n }\n}\n\nconst comps = [\n ThisComponent,\n RefComponent,\n RefNodeComponent,\n CallbackComponent,\n CallbackNodeComponent,\n];\n\ndescribe('ResizeHandler', () => {\n describe('when observe property is not set', () => {\n test(\"doesn't observe\", () => {\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n shallow(<ResizeHandler />);\n expect(spy).not.toHaveBeenCalled();\n spy.mockRestore();\n });\n\n test('disconnect on unmount', () => {\n const wrapper = shallow(<ResizeHandler />);\n const spy = jest.spyOn(wrapper.instance().observer, 'disconnect');\n wrapper.unmount();\n expect(spy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('when observe property is set', () => {\n test('try t get an html node from a string on (un)mount', () => {\n const div = document.createElement('div');\n document.querySelectorAll = jest.fn().mockImplementation(() => {\n return [div];\n });\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');\n mount(<StrComponent />);\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBe(div);\n expect(spy2.mock.calls.length >= 1).toBe(true);\n spy.mockRestore();\n spy2.mockRestore();\n document.querySelectorAll.mockRestore();\n });\n\n comps.forEach((Comp) => {\n test(`(un)observes an html node from ${Comp.name} on (un)mount`, () => {\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');\n const wrapper = mount(<Comp />);\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBeInstanceOf(Element);\n expect(spy2.mock.calls.length >= 1).toBe(true);\n ResizeObserver.prototype.observe.mockRestore();\n spy.mockRestore();\n spy2.mockRestore();\n wrapper.unmount();\n });\n });\n\n test('set the default css class on resize ', () => {\n const wrapper = mount(<BasicComponent />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 200,\n height: 200,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-xs rs-h-xs');\n\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 577,\n height: 577,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-s rs-h-s');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 769,\n height: 769,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-m rs-h-m');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 993,\n height: 993,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-l rs-h-l');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 1201,\n height: 1201,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-xl rs-h-xl');\n });\n\n test('uses user defined breakpoints', () => {\n const wrapper = mount(<BasicComponent3 />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-schmal rs-h-niedrig');\n\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 1000,\n height: 1000,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-breit rs-h-hoch');\n });\n\n test('calls onResize property', () => {\n const fn = jest.fn();\n const wrapper = mount(<BasicComponent onResize={fn} />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(fn).toHaveBeenCalledTimes(1);\n });\n\n test('set a style property on resize', () => {\n const spy = jest.spyOn(document.documentElement.style, 'setProperty');\n const wrapper = mount(<BasicComponent stylePropHeight=\"foo\" />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(spy).toHaveBeenCalledWith('foo', '7.68px');\n });\n });\n});\n"],"names":["const","super","this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResizeHandler.test.js","sources":["../../../src/components/ResizeHandler/ResizeHandler.test.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\n/* eslint-disable react/no-multi-comp,react/prefer-stateless-function,react/prop-types */\nimport React from 'react';\nimport { configure, mount, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport ResizeHandler from './ResizeHandler';\n\njest.mock('resize-observer-polyfill');\n\nconfigure({ adapter: new Adapter() });\n\nclass Div extends React.Component {\n render() {\n return <div />;\n }\n}\n\nclass BasicComponent extends React.Component {\n render() {\n const { onResize, stylePropHeight } = this.props;\n return (\n <div id=\"basic\">\n <ResizeHandler\n observe={this}\n onResize={onResize}\n stylePropHeight={stylePropHeight}\n />\n </div>\n );\n }\n}\n\nclass BasicComponent3 extends React.Component {\n render() {\n return (\n <div id=\"basic\">\n <ResizeHandler\n observe={this}\n maxHeightBrkpts={{\n niedrig: 150,\n hoch: Infinity,\n }}\n maxWidthBrkpts={{\n schmal: 150,\n breit: Infinity,\n }}\n />\n </div>\n );\n }\n}\n\nclass StrComponent extends React.Component {\n render() {\n return (\n <span id=\"basic\">\n <ResizeHandler observe=\"#basic\" />\n </span>\n );\n }\n}\n\nclass ThisComponent extends React.Component {\n render() {\n return (\n <div>\n <ResizeHandler observe={this} />\n </div>\n );\n }\n}\n\nclass RefComponent extends React.Component {\n constructor(props) {\n super(props);\n this.ref = React.createRef();\n }\n\n render() {\n return (\n <>\n <Div ref={this.ref} />\n <ResizeHandler observe={this.ref} />\n </>\n );\n }\n}\n\nclass CallbackComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ref: null,\n };\n }\n\n render() {\n const { ref } = this.state;\n return (\n <>\n <div\n ref={(node) => {\n if (node && !ref) {\n this.setState({\n ref: node,\n });\n }\n }}\n />\n <ResizeHandler observe={ref} />\n </>\n );\n }\n}\n\nclass RefNodeComponent extends React.Component {\n constructor(props) {\n super(props);\n this.ref = React.createRef();\n }\n\n render() {\n return (\n <>\n <div ref={this.ref} />\n <ResizeHandler observe={this.ref} />\n </>\n );\n }\n}\n\n// eslint-disable-next-line react/prefer-stateless-function\nclass CallbackNodeComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ref: null,\n };\n }\n\n render() {\n const { ref } = this.state;\n return (\n <>\n <div\n ref={(node) => {\n if (node && !ref) {\n this.setState({\n ref: node,\n });\n }\n }}\n />\n <ResizeHandler observe={ref} />\n </>\n );\n }\n}\n\nconst comps = [\n ThisComponent,\n RefComponent,\n RefNodeComponent,\n CallbackComponent,\n CallbackNodeComponent,\n];\n\ndescribe('ResizeHandler', () => {\n describe('when observe property is not set', () => {\n test(\"doesn't observe\", () => {\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n shallow(<ResizeHandler />);\n expect(spy).not.toHaveBeenCalled();\n spy.mockRestore();\n });\n\n test('disconnect on unmount', () => {\n const wrapper = shallow(<ResizeHandler />);\n const spy = jest.spyOn(wrapper.instance().observer, 'disconnect');\n wrapper.unmount();\n expect(spy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('when observe property is set', () => {\n test('try t get an html node from a string on (un)mount', () => {\n const div = document.createElement('div');\n document.querySelectorAll = jest.fn().mockImplementation(() => {\n return [div];\n });\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');\n mount(<StrComponent />);\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBe(div);\n expect(spy2.mock.calls.length >= 1).toBe(true);\n spy.mockRestore();\n spy2.mockRestore();\n document.querySelectorAll.mockRestore();\n });\n\n comps.forEach((Comp) => {\n test(`(un)observes an html node from ${Comp.name} on (un)mount`, () => {\n const spy = jest.spyOn(ResizeObserver.prototype, 'observe');\n const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');\n const wrapper = mount(<Comp />);\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBeInstanceOf(Element);\n expect(spy2.mock.calls.length >= 1).toBe(true);\n ResizeObserver.prototype.observe.mockRestore();\n spy.mockRestore();\n spy2.mockRestore();\n wrapper.unmount();\n });\n });\n\n test('set the default css class on resize ', () => {\n const wrapper = mount(<BasicComponent />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 200,\n height: 200,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-xs rs-h-xs');\n\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 577,\n height: 577,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-s rs-h-s');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 769,\n height: 769,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-m rs-h-m');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 993,\n height: 993,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-l rs-h-l');\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 1201,\n height: 1201,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-xl rs-h-xl');\n });\n\n test('uses user defined breakpoints', () => {\n const wrapper = mount(<BasicComponent3 />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-schmal rs-h-niedrig');\n\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 1000,\n height: 1000,\n },\n },\n ]);\n expect(basic.className).toBe('rs-w-breit rs-h-hoch');\n });\n\n test('calls onResize property', () => {\n const fn = jest.fn();\n const wrapper = mount(<BasicComponent onResize={fn} />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(fn).toHaveBeenCalledTimes(1);\n });\n\n test('set a style property on resize', () => {\n const spy = jest.spyOn(document.documentElement.style, 'setProperty');\n const wrapper = mount(<BasicComponent stylePropHeight=\"foo\" />);\n const basic = wrapper.getDOMNode();\n\n // The mock class set the onResize property, we just have to run it to\n // simulate a resize\n ResizeObserver.onResize([\n {\n target: basic,\n contentRect: {\n width: 100,\n height: 100,\n },\n },\n ]);\n expect(spy).toHaveBeenCalledWith('foo', '7.68px');\n });\n });\n});\n"],"names":["const","super","this"],"mappings":"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"}
|
|
@@ -77,13 +77,13 @@ var defaultRenderStationImg = function (
|
|
|
77
77
|
isNotStation
|
|
78
78
|
) {
|
|
79
79
|
var length = stations.length;
|
|
80
|
-
var src = station;
|
|
80
|
+
var src = station.src || station;
|
|
81
81
|
if (index === 0) {
|
|
82
|
-
src = firstStation;
|
|
82
|
+
src = firstStation.src || firstStation;
|
|
83
83
|
} else if (index === length - 1) {
|
|
84
|
-
src = lastStation;
|
|
84
|
+
src = lastStation.src || lastStation;
|
|
85
85
|
} else if (isNotStation) {
|
|
86
|
-
src = line;
|
|
86
|
+
src = line.src || line;
|
|
87
87
|
}
|
|
88
88
|
return React.createElement( 'img', { src: src, alt: "routeScheduleLine", className: "rt-route-icon" });
|
|
89
89
|
};
|
|
@@ -101,8 +101,9 @@ var defaultRenderStation = function (ref) {
|
|
|
101
101
|
var departureDelay = stop.departureDelay;
|
|
102
102
|
var arrivalTime = stop.arrivalTime;
|
|
103
103
|
var departureTime = stop.departureTime;
|
|
104
|
-
var
|
|
104
|
+
var state = stop.state;
|
|
105
105
|
var stationName = stop.stationName;
|
|
106
|
+
var cancelled = state === 'JOURNEY_CANCELLED' || state === 'STOP_CANCELLED';
|
|
106
107
|
var stations = lineInfos.stations;
|
|
107
108
|
var isFirstStation = idx === 0;
|
|
108
109
|
var isLastStation = idx === stations.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteSchedule.js","sources":["../../../src/components/RouteSchedule/RouteSchedule.js"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TrackerLayer } from 'mobility-toolbox-js/ol';\nimport { getBgColor } from 'mobility-toolbox-js/common/trackerConfig';\nimport { getHoursAndMinutes, getDelayString } from '../../utils/timeUtils';\nimport ReactTransitPropTypes from '../../propTypes';\nimport firstStation from '../../images/RouteSchedule/firstStation.png';\nimport station from '../../images/RouteSchedule/station.png';\nimport lastStation from '../../images/RouteSchedule/lastStation.png';\nimport line from '../../images/RouteSchedule/line.png';\n\n/**\n * Returns a color class to display the delay.\n * @param {Number} time Delay time in milliseconds.\n */\nconst getDelayColor = (time) => {\n const secs = Math.round(((time / 1800 / 2) * 3600) / 1000);\n if (secs >= 3600) {\n return 'dark-red';\n }\n if (secs >= 500) {\n return 'middle-red';\n }\n if (secs >= 300) {\n return 'light-red';\n }\n if (secs >= 180) {\n return 'orange';\n }\n return 'green';\n};\n\n/**\n * Returns true if the train doesn't stop to the station.\n * @param {Object} stop Station information.\n */\nconst isNotStop = (stop) => {\n return !stop.arrivalTime && !stop.departureTime;\n};\n\n/**\n * Returns if the station has already been passed by the vehicule.\n * @param {Object} stop Station information.\n * @param {number} time The current time to test in ms.\n * @param {Array<Object>} stops the list of all stops of the train.\n * @param {idx} idx The index of the stop object in the stops array.\n */\nconst isPassed = (stop, time, stops, idx) => {\n // If the train doesn't stop to the stop object, we test if the stop just before has been passed or not.\n // if yes the current stop is considered as passed.\n if (isNotStop(stop)) {\n if (stops[idx - 1] && idx > 0) {\n return isPassed(stops[idx - 1], time, stops, idx);\n }\n return true;\n }\n\n // Sometimes stop.departureDelay is undefined.\n const timeToCompare = stop.departureTime || stop.arrivalTime || 0;\n const delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;\n return timeToCompare + delayToCompare <= time;\n};\n\n/**\n * Returns an image for first, middle or last stations.\n * @param {Number} stations The stations list.\n * @param {Number} index Index of the station in the list.\n * @param {Boolean} isStationPassed If the train is already passed at this station.\n * @param {Boolean} isNotStation If the train doesn't stop to this station.\n */\nconst defaultRenderStationImg = (\n stations,\n index,\n isStationPassed,\n isNotStation,\n) => {\n const { length } = stations;\n let src = station;\n if (index === 0) {\n src = firstStation;\n } else if (index === length - 1) {\n src = lastStation;\n } else if (isNotStation) {\n src = line;\n }\n return <img src={src} alt=\"routeScheduleLine\" className=\"rt-route-icon\" />;\n};\n\nconst defaultRenderStation = ({\n lineInfos,\n onStationClick,\n trackerLayer,\n renderStationImg,\n stop,\n idx,\n}) => {\n const {\n stationId,\n arrivalDelay,\n departureDelay,\n arrivalTime,\n departureTime,\n cancelled,\n stationName,\n } = stop;\n const { stations } = lineInfos;\n const isFirstStation = idx === 0;\n const isLastStation = idx === stations.length - 1;\n const isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);\n const isNotStation = isNotStop(stop);\n return (\n <div\n // Train line can go in circle so begin and end have the same id,\n // using the time in the key should fix the issue.\n key={(stationId || stationName) + arrivalTime + departureTime}\n role=\"button\"\n className={[\n 'rt-route-station',\n isStationPassed ? ' rt-passed' : '',\n isNotStation ? ' rt-no-stop' : '',\n ].join('')}\n onClick={(e) => {\n return onStationClick(stop, e);\n }}\n tabIndex={0}\n onKeyPress={(e) => {\n return e.which === 13 && onStationClick(stop, e);\n }}\n >\n <div className=\"rt-route-delay\">\n {typeof arrivalDelay === 'undefined' || isFirstStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-arrival${` ${getDelayColor(\n arrivalDelay,\n )}`}`}\n >\n {`+${getDelayString(arrivalDelay)}`}\n </span>\n )}\n {typeof departureDelay === 'undefined' || isLastStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-departure${` ${getDelayColor(\n departureDelay,\n )}`}`}\n >\n {`+${getDelayString(departureDelay)}`}\n </span>\n )}\n </div>\n <div className=\"rt-route-times\">\n <span\n className={`rt-route-time-arrival ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(arrivalTime)}\n </span>\n <span\n className={`rt-route-time-departure ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(departureTime)}\n </span>\n </div>\n {renderStationImg(stations, idx, isStationPassed, isNotStation)}\n <div className={cancelled ? 'rt-route-cancelled' : ''}>{stationName}</div>\n </div>\n );\n};\n\nconst renderRouteIdentifier = ({ routeIdentifier, longName }) => {\n if (routeIdentifier) {\n // first part of the id, without leading zeros.\n const id = parseInt(routeIdentifier.split('.')[0], 10);\n if (!longName.includes(id)) {\n return ` (${id})`;\n }\n }\n return null;\n};\n\nconst defaultRenderHeader = ({ lineInfos, renderHeaderButtons }) => {\n const {\n type,\n vehicleType,\n shortName,\n longName,\n stroke,\n destination,\n routeIdentifier,\n text_color: textColor,\n } = lineInfos;\n return (\n <div className=\"rt-route-header\">\n <span\n className=\"rt-route-icon\"\n style={{\n /* stylelint-disable-next-line value-keyword-case */\n backgroundColor: stroke || getBgColor(type || vehicleType),\n color: textColor || 'black',\n }}\n >\n {shortName}\n </span>\n <div className=\"rt-route-title\">\n <span className=\"rt-route-name\">{destination}</span>\n <span>\n {longName}\n {renderRouteIdentifier(lineInfos)}\n </span>\n </div>\n <div className=\"rt-route-buttons\">\n {renderHeaderButtons(routeIdentifier)}\n </div>\n </div>\n );\n};\n\nconst defaultRenderFooter = (props) => {\n const { lineInfos, renderCopyright } = props;\n if (!lineInfos.operator && !lineInfos.publisher) {\n return null;\n }\n return <div className=\"rt-route-footer\">{renderCopyright({ ...props })}</div>;\n};\n\nconst defaultRenderLink = (text, url) => {\n return (\n <div className=\"rt-route-copyright-link\">\n {url ? (\n <a href={url} target=\"_blank\" rel=\"noreferrer\">\n {text}\n </a>\n ) : (\n <>{text}</>\n )}\n </div>\n );\n};\n\nconst defaultRenderCopyright = ({ lineInfos }) => {\n return (\n <span className=\"rt-route-copyright\">\n {lineInfos.operator &&\n defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl)}\n {lineInfos.operator && lineInfos.publisher && <span> - </span>}\n {lineInfos.publisher &&\n defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl)}\n {lineInfos.license && <span> (</span>}\n {lineInfos.license &&\n defaultRenderLink(lineInfos.license, lineInfos.licenseUrl)}\n {lineInfos.license && ')'}\n </span>\n );\n};\n\nconst propTypes = {\n /**\n * CSS class of the route schedule wrapper.\n */\n className: PropTypes.string,\n\n /**\n * Trajectory stations informations.\n */\n lineInfos: ReactTransitPropTypes.lineInfos,\n\n /**\n * Trackerlayer.\n */\n trackerLayer: PropTypes.instanceOf(TrackerLayer).isRequired,\n\n /**\n * Render Header of the route scheduler.\n */\n renderHeader: PropTypes.func,\n\n /**\n * Render Footer of the route scheduler.\n */\n renderFooter: PropTypes.func,\n\n /**\n * Render Copyright of the route scheduler.\n */\n renderCopyright: PropTypes.func,\n\n /**\n * Render the status of the station image.\n */\n renderStationImg: PropTypes.func,\n\n /**\n * Render a station.\n */\n renderStation: PropTypes.func,\n\n /**\n * Function triggered on station's click event.\n */\n onStationClick: PropTypes.func,\n\n /**\n * Function to render header buttons.\n */\n renderHeaderButtons: PropTypes.func,\n};\n\nconst defaultProps = {\n className: 'rt-route-schedule',\n lineInfos: null,\n renderHeader: defaultRenderHeader,\n renderStation: defaultRenderStation,\n renderStationImg: defaultRenderStationImg,\n renderCopyright: defaultRenderCopyright,\n renderFooter: defaultRenderFooter,\n renderHeaderButtons: () => {\n return null;\n },\n onStationClick: () => {},\n};\n\n/**\n * RouteSchedule displays information, stops and punctuality about the clicked route.\n */\nfunction RouteSchedule(props) {\n const { lineInfos, className, renderStation, renderHeader, renderFooter } =\n props;\n\n if (!lineInfos) {\n return null;\n }\n\n return (\n <div className={className}>\n {renderHeader({ ...props })}\n <div className=\"rt-route-body\">\n {lineInfos.stations.map((stop, idx) => {\n return renderStation({ ...props, stop, idx });\n })}\n </div>\n {renderFooter({ ...props })}\n </div>\n );\n}\n\nRouteSchedule.propTypes = propTypes;\nRouteSchedule.defaultProps = defaultProps;\n\nexport default React.memo(RouteSchedule);\n"],"names":["const","let"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RouteSchedule.js","sources":["../../../src/components/RouteSchedule/RouteSchedule.js"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TrackerLayer } from 'mobility-toolbox-js/ol';\nimport { getBgColor } from 'mobility-toolbox-js/common/trackerConfig';\nimport { getHoursAndMinutes, getDelayString } from '../../utils/timeUtils';\nimport ReactTransitPropTypes from '../../propTypes';\nimport firstStation from '../../images/RouteSchedule/firstStation.png';\nimport station from '../../images/RouteSchedule/station.png';\nimport lastStation from '../../images/RouteSchedule/lastStation.png';\nimport line from '../../images/RouteSchedule/line.png';\n\n/**\n * Returns a color class to display the delay.\n * @param {Number} time Delay time in milliseconds.\n */\nconst getDelayColor = (time) => {\n const secs = Math.round(((time / 1800 / 2) * 3600) / 1000);\n if (secs >= 3600) {\n return 'dark-red';\n }\n if (secs >= 500) {\n return 'middle-red';\n }\n if (secs >= 300) {\n return 'light-red';\n }\n if (secs >= 180) {\n return 'orange';\n }\n return 'green';\n};\n\n/**\n * Returns true if the train doesn't stop to the station.\n * @param {Object} stop Station information.\n */\nconst isNotStop = (stop) => {\n return !stop.arrivalTime && !stop.departureTime;\n};\n\n/**\n * Returns if the station has already been passed by the vehicule.\n * @param {Object} stop Station information.\n * @param {number} time The current time to test in ms.\n * @param {Array<Object>} stops the list of all stops of the train.\n * @param {idx} idx The index of the stop object in the stops array.\n */\nconst isPassed = (stop, time, stops, idx) => {\n // If the train doesn't stop to the stop object, we test if the stop just before has been passed or not.\n // if yes the current stop is considered as passed.\n if (isNotStop(stop)) {\n if (stops[idx - 1] && idx > 0) {\n return isPassed(stops[idx - 1], time, stops, idx);\n }\n return true;\n }\n\n // Sometimes stop.departureDelay is undefined.\n const timeToCompare = stop.departureTime || stop.arrivalTime || 0;\n const delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;\n return timeToCompare + delayToCompare <= time;\n};\n\n/**\n * Returns an image for first, middle or last stations.\n * @param {Number} stations The stations list.\n * @param {Number} index Index of the station in the list.\n * @param {Boolean} isStationPassed If the train is already passed at this station.\n * @param {Boolean} isNotStation If the train doesn't stop to this station.\n */\nconst defaultRenderStationImg = (\n stations,\n index,\n isStationPassed,\n isNotStation,\n) => {\n const { length } = stations;\n let src = station.src || station;\n if (index === 0) {\n src = firstStation.src || firstStation;\n } else if (index === length - 1) {\n src = lastStation.src || lastStation;\n } else if (isNotStation) {\n src = line.src || line;\n }\n return <img src={src} alt=\"routeScheduleLine\" className=\"rt-route-icon\" />;\n};\n\nconst defaultRenderStation = ({\n lineInfos,\n onStationClick,\n trackerLayer,\n renderStationImg,\n stop,\n idx,\n}) => {\n const {\n stationId,\n arrivalDelay,\n departureDelay,\n arrivalTime,\n departureTime,\n state,\n stationName,\n } = stop;\n const cancelled = state === 'JOURNEY_CANCELLED' || state === 'STOP_CANCELLED';\n const { stations } = lineInfos;\n const isFirstStation = idx === 0;\n const isLastStation = idx === stations.length - 1;\n const isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);\n const isNotStation = isNotStop(stop);\n return (\n <div\n // Train line can go in circle so begin and end have the same id,\n // using the time in the key should fix the issue.\n key={(stationId || stationName) + arrivalTime + departureTime}\n role=\"button\"\n className={[\n 'rt-route-station',\n isStationPassed ? ' rt-passed' : '',\n isNotStation ? ' rt-no-stop' : '',\n ].join('')}\n onClick={(e) => {\n return onStationClick(stop, e);\n }}\n tabIndex={0}\n onKeyPress={(e) => {\n return e.which === 13 && onStationClick(stop, e);\n }}\n >\n <div className=\"rt-route-delay\">\n {typeof arrivalDelay === 'undefined' || isFirstStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-arrival${` ${getDelayColor(\n arrivalDelay,\n )}`}`}\n >\n {`+${getDelayString(arrivalDelay)}`}\n </span>\n )}\n {typeof departureDelay === 'undefined' || isLastStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-departure${` ${getDelayColor(\n departureDelay,\n )}`}`}\n >\n {`+${getDelayString(departureDelay)}`}\n </span>\n )}\n </div>\n <div className=\"rt-route-times\">\n <span\n className={`rt-route-time-arrival ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(arrivalTime)}\n </span>\n <span\n className={`rt-route-time-departure ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(departureTime)}\n </span>\n </div>\n {renderStationImg(stations, idx, isStationPassed, isNotStation)}\n <div className={cancelled ? 'rt-route-cancelled' : ''}>{stationName}</div>\n </div>\n );\n};\n\nconst renderRouteIdentifier = ({ routeIdentifier, longName }) => {\n if (routeIdentifier) {\n // first part of the id, without leading zeros.\n const id = parseInt(routeIdentifier.split('.')[0], 10);\n if (!longName.includes(id)) {\n return ` (${id})`;\n }\n }\n return null;\n};\n\nconst defaultRenderHeader = ({ lineInfos, renderHeaderButtons }) => {\n const {\n type,\n vehicleType,\n shortName,\n longName,\n stroke,\n destination,\n routeIdentifier,\n text_color: textColor,\n } = lineInfos;\n return (\n <div className=\"rt-route-header\">\n <span\n className=\"rt-route-icon\"\n style={{\n /* stylelint-disable-next-line value-keyword-case */\n backgroundColor: stroke || getBgColor(type || vehicleType),\n color: textColor || 'black',\n }}\n >\n {shortName}\n </span>\n <div className=\"rt-route-title\">\n <span className=\"rt-route-name\">{destination}</span>\n <span>\n {longName}\n {renderRouteIdentifier(lineInfos)}\n </span>\n </div>\n <div className=\"rt-route-buttons\">\n {renderHeaderButtons(routeIdentifier)}\n </div>\n </div>\n );\n};\n\nconst defaultRenderFooter = (props) => {\n const { lineInfos, renderCopyright } = props;\n if (!lineInfos.operator && !lineInfos.publisher) {\n return null;\n }\n return <div className=\"rt-route-footer\">{renderCopyright({ ...props })}</div>;\n};\n\nconst defaultRenderLink = (text, url) => {\n return (\n <div className=\"rt-route-copyright-link\">\n {url ? (\n <a href={url} target=\"_blank\" rel=\"noreferrer\">\n {text}\n </a>\n ) : (\n <>{text}</>\n )}\n </div>\n );\n};\n\nconst defaultRenderCopyright = ({ lineInfos }) => {\n return (\n <span className=\"rt-route-copyright\">\n {lineInfos.operator &&\n defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl)}\n {lineInfos.operator && lineInfos.publisher && <span> - </span>}\n {lineInfos.publisher &&\n defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl)}\n {lineInfos.license && <span> (</span>}\n {lineInfos.license &&\n defaultRenderLink(lineInfos.license, lineInfos.licenseUrl)}\n {lineInfos.license && ')'}\n </span>\n );\n};\n\nconst propTypes = {\n /**\n * CSS class of the route schedule wrapper.\n */\n className: PropTypes.string,\n\n /**\n * Trajectory stations informations.\n */\n lineInfos: ReactTransitPropTypes.lineInfos,\n\n /**\n * Trackerlayer.\n */\n trackerLayer: PropTypes.instanceOf(TrackerLayer).isRequired,\n\n /**\n * Render Header of the route scheduler.\n */\n renderHeader: PropTypes.func,\n\n /**\n * Render Footer of the route scheduler.\n */\n renderFooter: PropTypes.func,\n\n /**\n * Render Copyright of the route scheduler.\n */\n renderCopyright: PropTypes.func,\n\n /**\n * Render the status of the station image.\n */\n renderStationImg: PropTypes.func,\n\n /**\n * Render a station.\n */\n renderStation: PropTypes.func,\n\n /**\n * Function triggered on station's click event.\n */\n onStationClick: PropTypes.func,\n\n /**\n * Function to render header buttons.\n */\n renderHeaderButtons: PropTypes.func,\n};\n\nconst defaultProps = {\n className: 'rt-route-schedule',\n lineInfos: null,\n renderHeader: defaultRenderHeader,\n renderStation: defaultRenderStation,\n renderStationImg: defaultRenderStationImg,\n renderCopyright: defaultRenderCopyright,\n renderFooter: defaultRenderFooter,\n renderHeaderButtons: () => {\n return null;\n },\n onStationClick: () => {},\n};\n\n/**\n * RouteSchedule displays information, stops and punctuality about the clicked route.\n */\nfunction RouteSchedule(props) {\n const { lineInfos, className, renderStation, renderHeader, renderFooter } =\n props;\n\n if (!lineInfos) {\n return null;\n }\n\n return (\n <div className={className}>\n {renderHeader({ ...props })}\n <div className=\"rt-route-body\">\n {lineInfos.stations.map((stop, idx) => {\n return renderStation({ ...props, stop, idx });\n })}\n </div>\n {renderFooter({ ...props })}\n </div>\n );\n}\n\nRouteSchedule.propTypes = propTypes;\nRouteSchedule.defaultProps = defaultProps;\n\nexport default React.memo(RouteSchedule);\n"],"names":["const","let"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { configure, mount } from 'enzyme';
|
|
4
4
|
import OLMap from 'ol/Map';
|
|
5
5
|
import OLView from 'ol/View';
|
|
6
|
-
import Adapter from 'enzyme-adapter-react-
|
|
6
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
7
7
|
import renderer from 'react-test-renderer';
|
|
8
8
|
import ScaleLine from './ScaleLine';
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaleLine.test.js","sources":["../../../src/components/ScaleLine/ScaleLine.test.js"],"sourcesContent":["import 'jest-canvas-mock';\nimport React from 'react';\nimport { configure, mount } from 'enzyme';\nimport OLMap from 'ol/Map';\nimport OLView from 'ol/View';\nimport Adapter from 'enzyme-adapter-react-
|
|
1
|
+
{"version":3,"file":"ScaleLine.test.js","sources":["../../../src/components/ScaleLine/ScaleLine.test.js"],"sourcesContent":["import 'jest-canvas-mock';\nimport React from 'react';\nimport { configure, mount } from 'enzyme';\nimport OLMap from 'ol/Map';\nimport OLView from 'ol/View';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport renderer from 'react-test-renderer';\nimport ScaleLine from './ScaleLine';\n\nconfigure({ adapter: new Adapter() });\n\ndescribe('ScaleLine', () => {\n test('matches snapshot', () => {\n const map = new OLMap({ view: new OLView({ zoom: 7, center: [0, 0] }) });\n const component = renderer.create(<ScaleLine map={map} />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('remove control on unmount.', () => {\n const map = new OLMap({});\n const spy = jest.spyOn(map, 'removeControl');\n const spy2 = jest.spyOn(map, 'addControl');\n const wrapper = mount(<ScaleLine map={map} />);\n expect(spy).toHaveBeenCalledTimes(0);\n wrapper.unmount();\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBe(spy2.mock.calls[0][0]);\n });\n});\n"],"names":["const"],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,SAAS,SAAS,EAAE,KAAK,QAAQ,QAAQ,CAAC;AAC1C,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC;AACA,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC;AACA,QAAQ,CAAC,WAAW,WAAE,GAAM;AAC5B,EAAE,IAAI,CAAC,kBAAkB,WAAE,GAAM;AACjC,IAAIA,GAAK,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,IAAIA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAC,YAAS,CAAC,KAAK,KAAI,CAAG,CAAC,CAAC;AAC/D,IAAIA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACpC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACnC,GAAG,CAAC,CAAC;AACL;AACA,EAAE,IAAI,CAAC,4BAA4B,WAAE,GAAM;AAC3C,IAAIA,GAAK,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B,IAAIA,GAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACjD,IAAIA,GAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC/C,IAAIA,GAAK,CAAC,OAAO,GAAG,KAAK,CAAC,qBAAC,YAAS,CAAC,KAAK,KAAI,CAAG,CAAC,CAAC;AACnD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;AACtB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import renderer from 'react-test-renderer';
|
|
3
3
|
import { configure, shallow, mount } from 'enzyme';
|
|
4
|
-
import Adapter from 'enzyme-adapter-react-
|
|
4
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
5
5
|
import { act } from 'react-dom/test-utils';
|
|
6
6
|
import MapEvent from 'ol/MapEvent';
|
|
7
7
|
import OLView from 'ol/View';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zoom.test.js","sources":["../../../src/components/Zoom/Zoom.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, shallow, mount } from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport { act } from 'react-dom/test-utils';\nimport MapEvent from 'ol/MapEvent';\nimport OLView from 'ol/View';\nimport OLMap from 'ol/Map';\nimport Zoom from './Zoom';\n\nconfigure({ adapter: new Adapter() });\n\ndescribe('Zoom', () => {\n test('should match snapshot.', () => {\n const map = new OLMap({});\n const component = renderer.create(<Zoom map={map} />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('should match snapshot with custom attributes', () => {\n const map = new OLMap({});\n const component = renderer.create(\n <Zoom map={map} className=\"foo\" tabIndex={-1} title=\"bar\" />,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('should match snapshot with zoom slider', () => {\n const map = new OLMap({});\n const component = renderer.create(<Zoom map={map} zoomSlider />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n [\n ['click', {}],\n ['keypress', { which: 13 }],\n ].forEach((evt) => {\n test(`should zoom in on ${evt[0]}.`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} />);\n zooms\n .find('.rs-zoom-in')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(6);\n });\n\n test(`should zoom in on ${evt[0]} (delta: 0.3).`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} delta={0.3} />);\n zooms\n .find('.rs-zoom-in')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(5.3);\n });\n\n test(`should zoom out on ${evt[0]}.`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} />);\n zooms\n .find('.rs-zoom-out')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(4);\n });\n\n test(`should zoom out on ${evt[0]} (delta: 0.3).`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} delta={0.3} />);\n zooms\n .find('.rs-zoom-out')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(4.7);\n });\n });\n\n test('should remove zoomSlider control on unmount.', () => {\n const map = new OLMap({});\n const spy = jest.spyOn(map, 'removeControl');\n const spy2 = jest.spyOn(map, 'addControl');\n const wrapper = mount(<Zoom map={map} zoomSlider />);\n expect(spy).toHaveBeenCalledTimes(0);\n wrapper.unmount();\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBe(spy2.mock.calls[0][0]);\n });\n\n test('should disable zoom-in button on mount with max zoom..', () => {\n const map = new OLMap({\n view: new OLView({ maxZoom: 20, zoom: 20 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-in').prop('disabled')).toEqual(true);\n wrapper.find('.rs-zoom-in').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(0);\n });\n\n test('should disable zoom-out button on mount with min zoom.', () => {\n const map = new OLMap({\n view: new OLView({ minZoom: 2, zoom: 2 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);\n wrapper.find('.rs-zoom-out').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(0);\n });\n});\n\ntest('should disable zoom-out button when reaching min zoom.', () => {\n const map = new OLMap({\n view: new OLView({ minZoom: 2, zoom: 3 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n wrapper.find('.rs-zoom-out').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(1);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);\n});\n"],"names":["const"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Zoom.test.js","sources":["../../../src/components/Zoom/Zoom.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, shallow, mount } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport { act } from 'react-dom/test-utils';\nimport MapEvent from 'ol/MapEvent';\nimport OLView from 'ol/View';\nimport OLMap from 'ol/Map';\nimport Zoom from './Zoom';\n\nconfigure({ adapter: new Adapter() });\n\ndescribe('Zoom', () => {\n test('should match snapshot.', () => {\n const map = new OLMap({});\n const component = renderer.create(<Zoom map={map} />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('should match snapshot with custom attributes', () => {\n const map = new OLMap({});\n const component = renderer.create(\n <Zoom map={map} className=\"foo\" tabIndex={-1} title=\"bar\" />,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('should match snapshot with zoom slider', () => {\n const map = new OLMap({});\n const component = renderer.create(<Zoom map={map} zoomSlider />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n [\n ['click', {}],\n ['keypress', { which: 13 }],\n ].forEach((evt) => {\n test(`should zoom in on ${evt[0]}.`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} />);\n zooms\n .find('.rs-zoom-in')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(6);\n });\n\n test(`should zoom in on ${evt[0]} (delta: 0.3).`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} delta={0.3} />);\n zooms\n .find('.rs-zoom-in')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(5.3);\n });\n\n test(`should zoom out on ${evt[0]}.`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} />);\n zooms\n .find('.rs-zoom-out')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(4);\n });\n\n test(`should zoom out on ${evt[0]} (delta: 0.3).`, () => {\n const map = new OLMap({ view: new OLView({ zoom: 5 }) });\n const zooms = shallow(<Zoom map={map} delta={0.3} />);\n zooms\n .find('.rs-zoom-out')\n .first()\n .simulate(...evt);\n\n expect(map.getView().getZoom()).toBe(4.7);\n });\n });\n\n test('should remove zoomSlider control on unmount.', () => {\n const map = new OLMap({});\n const spy = jest.spyOn(map, 'removeControl');\n const spy2 = jest.spyOn(map, 'addControl');\n const wrapper = mount(<Zoom map={map} zoomSlider />);\n expect(spy).toHaveBeenCalledTimes(0);\n wrapper.unmount();\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0][0]).toBe(spy2.mock.calls[0][0]);\n });\n\n test('should disable zoom-in button on mount with max zoom..', () => {\n const map = new OLMap({\n view: new OLView({ maxZoom: 20, zoom: 20 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-in').prop('disabled')).toEqual(true);\n wrapper.find('.rs-zoom-in').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(0);\n });\n\n test('should disable zoom-out button on mount with min zoom.', () => {\n const map = new OLMap({\n view: new OLView({ minZoom: 2, zoom: 2 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);\n wrapper.find('.rs-zoom-out').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(0);\n });\n});\n\ntest('should disable zoom-out button when reaching min zoom.', () => {\n const map = new OLMap({\n view: new OLView({ minZoom: 2, zoom: 3 }),\n });\n const spy = jest.spyOn(map.getView(), 'setZoom');\n const wrapper = mount(<Zoom map={map} />);\n wrapper.find('.rs-zoom-out').first().simulate('click');\n expect(spy).toHaveBeenCalledTimes(1);\n act(() => {\n map.dispatchEvent(new MapEvent('moveend', map));\n });\n wrapper.update();\n expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);\n});\n"],"names":["const"],"mappings":"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"}
|