mobility-toolbox-js 2.0.0-beta.8 → 2.0.1-beta.13
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/api/RoutingAPI.js +15 -0
- package/api/RoutingAPI.test.js +25 -0
- package/api/StopsAPI.js +12 -0
- package/api/StopsAPI.test.js +22 -0
- package/api/TralisAPI.js +359 -0
- package/api/TralisAPI.test.js +67 -0
- package/{src/api/tralis → api}/TralisAPIUtils.js +2 -32
- package/api/index.js +3 -0
- package/{index.html → api/typedefs.js} +0 -0
- package/common/Tracker.js +93 -0
- package/common/api/HttpAPI.js +30 -0
- package/common/api/HttpAPI.test.js +50 -0
- package/common/api/WebSocketAPI.js +175 -0
- package/{src/api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
- package/common/controls/Control.js +81 -0
- package/{src/common → common}/controls/Control.test.js +32 -43
- package/common/index.js +4 -0
- package/common/layers/Layer.js +213 -0
- package/{src/common → common}/layers/Layer.test.js +185 -244
- package/common/mixins/CopyrightMixin.js +24 -0
- package/common/mixins/SearchMixin.js +110 -0
- package/common/mixins/TralisLayerMixin.js +479 -0
- package/common/styles/index.js +4 -0
- package/{src/common → common}/styles/trackerDefaultStyle.js +39 -175
- package/common/styles/trackerDelayStyle.js +8 -0
- package/{src/common → common}/styles/trackerSimpleStyle.js +4 -8
- package/{src/common → common}/trackerConfig.js +61 -99
- package/common/trackerConfig.test.js +23 -0
- package/{src/doc/examples/ol-mapbox-layer.md → common/typedefs.js} +0 -0
- package/common/utils/createTrackerFilters.js +56 -0
- package/common/utils/createTrackerFilters.test.js +79 -0
- package/{src/common → common}/utils/getMapboxMapCopyrights.js +3 -16
- package/common/utils/getMapboxMapCopyrights.test.js +40 -0
- package/{src/common → common}/utils/getMapboxStyleUrl.js +3 -13
- package/{src/common → common}/utils/getVehiclePosition.js +3 -33
- package/common/utils/index.js +5 -0
- package/common/utils/removeDuplicate.js +8 -0
- package/common/utils/removeDuplicate.test.js +19 -0
- package/{src/common → common}/utils/sortByDelay.js +2 -7
- package/common/utils/timeUtils.js +20 -0
- package/common/utils/timeUtils.test.js +10 -0
- package/index.js +8 -0
- package/mapbox/controls/CopyrightControl.js +29 -0
- package/mapbox/controls/index.js +1 -0
- package/mapbox/index.js +4 -0
- package/mapbox/layers/Layer.js +57 -0
- package/mapbox/layers/Layer.test.js +182 -0
- package/mapbox/layers/TralisLayer.js +182 -0
- package/{src/mapbox → mapbox}/layers/TralisLayer.test.js +12 -14
- package/mapbox/layers/index.js +2 -0
- package/{src/mapbox → mapbox}/utils.js +7 -21
- package/mbt.js +50444 -0
- package/mbt.js.map +7 -0
- package/mbt.min.js +1005 -0
- package/mbt.min.js.map +7 -0
- package/ol/controls/CopyrightControl.js +42 -0
- package/ol/controls/CopyrightControl.test.js +165 -0
- package/ol/controls/RoutingControl.js +387 -0
- package/ol/controls/RoutingControl.test.js +151 -0
- package/ol/controls/StopFinderControl.js +10 -0
- package/ol/controls/StopFinderControl.test.js +48 -0
- package/ol/controls/index.js +3 -0
- package/ol/index.js +5 -0
- package/ol/layers/Layer.js +88 -0
- package/ol/layers/Layer.test.js +174 -0
- package/ol/layers/MapboxLayer.js +203 -0
- package/{src/ol → ol}/layers/MapboxLayer.test.js +58 -84
- package/ol/layers/MapboxStyleLayer.js +187 -0
- package/{src/ol → ol}/layers/MapboxStyleLayer.test.js +97 -128
- package/ol/layers/MaplibreLayer.js +139 -0
- package/ol/layers/RoutingLayer.js +61 -0
- package/{src/ol → ol}/layers/RoutingLayer.test.js +15 -24
- package/ol/layers/TralisLayer.js +185 -0
- package/ol/layers/TralisLayer.test.js +79 -0
- package/ol/layers/VectorLayer.js +22 -0
- package/{src/ol → ol}/layers/VectorLayer.test.js +34 -45
- package/ol/layers/WMSLayer.js +38 -0
- package/ol/layers/WMSLayer.test.js +76 -0
- package/ol/layers/index.js +8 -0
- package/{src/ol → ol}/styles/fullTrajectoryDelayStyle.js +11 -15
- package/ol/styles/fullTrajectoryStyle.js +43 -0
- package/ol/styles/index.js +2 -0
- package/package.json +34 -74
- package/.babelrc +0 -6
- package/.esdoc.json +0 -17
- package/.eslintignore +0 -1
- package/.github/workflows/conventional-pr-title.yml +0 -21
- package/.github/workflows/cypress.yml +0 -29
- package/.github/workflows/nodejs.yml +0 -28
- package/.husky/commit-msg +0 -4
- package/.husky/post-checkout +0 -4
- package/.husky/post-merge +0 -4
- package/.husky/post-rebase +0 -4
- package/.husky/pre-commit +0 -4
- package/.neutrinorc.js +0 -176
- package/.nvmrc +0 -1
- package/CHANGELOG.md +0 -10
- package/LICENSE +0 -21
- package/__mocks__/mapbox-gl.js +0 -81
- package/__mocks__/maplibre-gl.js +0 -81
- package/commitlint.config.js +0 -1
- package/cypress/fixtures/example.json +0 -5
- package/cypress/integration/examples/api.spec.js +0 -7
- package/cypress/integration/examples/examples.spec.js +0 -7
- package/cypress/integration/examples/navigation.spec.js +0 -29
- package/cypress/plugins/index.js +0 -21
- package/cypress/support/commands.js +0 -25
- package/cypress/support/index.js +0 -20
- package/cypress.json +0 -4
- package/data/fetchRoute.json +0 -292
- package/data/fetchTrajectories.json +0 -18
- package/data/fetchTrajectoryById.json +0 -3
- package/data/fetchTrajectoryStations.json +0 -18
- package/data/stopsSearch.json +0 -15
- package/documentation.yml +0 -4
- package/esdoc/README.md +0 -27
- package/esdoc/plugins/MyPlugin.js +0 -69
- package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
- package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
- package/esdoc/plugins/externals-plugin/externals.js +0 -96
- package/global-setup.js +0 -3
- package/indexweb.html +0 -49
- package/jest.config.js +0 -5
- package/pull_request_template.md +0 -17
- package/renovate.json +0 -4
- package/scripts/read-pkg-json.js +0 -22
- package/src/api/index.js +0 -3
- package/src/api/routing/RoutingAPI.js +0 -44
- package/src/api/routing/RoutingAPI.test.js +0 -41
- package/src/api/stops/StopsAPI.js +0 -41
- package/src/api/stops/StopsAPI.test.js +0 -34
- package/src/api/tralis/TralisAPI.js +0 -731
- package/src/api/tralis/TralisAPI.test.js +0 -75
- package/src/api/tralis/WebSocketConnector.js +0 -338
- package/src/api/tralis/typedefs.js +0 -81
- package/src/assets/Lato-Black.ttf +0 -0
- package/src/assets/Lato-BlackItalic.ttf +0 -0
- package/src/assets/Lato-Bold.ttf +0 -0
- package/src/assets/Lato-BoldItalic.ttf +0 -0
- package/src/assets/Lato-Italic.ttf +0 -0
- package/src/assets/Lato-Light.ttf +0 -0
- package/src/assets/Lato-LightItalic.ttf +0 -0
- package/src/assets/Lato-Regular.ttf +0 -0
- package/src/assets/Lato-Thin.ttf +0 -0
- package/src/assets/Lato-ThinItalic.ttf +0 -0
- package/src/assets/OFL.txt +0 -93
- package/src/common/Tracker.js +0 -197
- package/src/common/api/api.js +0 -64
- package/src/common/api/api.test.js +0 -68
- package/src/common/controls/Control.js +0 -146
- package/src/common/index.js +0 -5
- package/src/common/layers/Layer.js +0 -404
- package/src/common/mixins/CopyrightMixin.js +0 -48
- package/src/common/mixins/SearchMixin.js +0 -176
- package/src/common/mixins/TralisLayerMixin.js +0 -930
- package/src/common/styles/index.js +0 -4
- package/src/common/styles/trackerDelayStyle.js +0 -17
- package/src/common/trackerConfig.test.js +0 -25
- package/src/common/typedefs.js +0 -23
- package/src/common/utils/createTrackerFilters.js +0 -87
- package/src/common/utils/createTrackerFilters.test.js +0 -95
- package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
- package/src/common/utils/index.js +0 -5
- package/src/common/utils/removeDuplicate.js +0 -22
- package/src/common/utils/removeDuplicate.test.js +0 -22
- package/src/common/utils/timeUtils.js +0 -44
- package/src/common/utils/timeUtils.test.js +0 -16
- package/src/doc/App.js +0 -116
- package/src/doc/App.scss +0 -51
- package/src/doc/_redirects +0 -2
- package/src/doc/components/CodeSandboxButton.js +0 -103
- package/src/doc/components/Documentation.js +0 -40
- package/src/doc/components/Esdoc/Anchor.js +0 -57
- package/src/doc/components/Esdoc/ClassDoc.js +0 -272
- package/src/doc/components/Esdoc/DeprecatedHTML.js +0 -16
- package/src/doc/components/Esdoc/DetailDocs.js +0 -281
- package/src/doc/components/Esdoc/DetailHTML.js +0 -33
- package/src/doc/components/Esdoc/DirectSubclassHTML.js +0 -30
- package/src/doc/components/Esdoc/DocBuilderUtils.js +0 -694
- package/src/doc/components/Esdoc/DocLinkHTML.js +0 -62
- package/src/doc/components/Esdoc/DocsLinkHTML.js +0 -38
- package/src/doc/components/Esdoc/Esdoc.js +0 -63
- package/src/doc/components/Esdoc/EsdocContent.js +0 -51
- package/src/doc/components/Esdoc/EsdocNavigation.js +0 -13
- package/src/doc/components/Esdoc/EsdocSearch.js +0 -81
- package/src/doc/components/Esdoc/ExperimentalHTML.js +0 -17
- package/src/doc/components/Esdoc/ExtendsChainHTML.js +0 -32
- package/src/doc/components/Esdoc/FileDocLinkHTML.js +0 -60
- package/src/doc/components/Esdoc/IdentifiersDoc.js +0 -113
- package/src/doc/components/Esdoc/IndirectSubclassHTML.js +0 -30
- package/src/doc/components/Esdoc/InheritedSummaryDoc.js +0 -70
- package/src/doc/components/Esdoc/InheritedSummaryHTML.js +0 -38
- package/src/doc/components/Esdoc/MixinClassesHTML.js +0 -29
- package/src/doc/components/Esdoc/NavDoc.js +0 -112
- package/src/doc/components/Esdoc/OverrideMethod.js +0 -44
- package/src/doc/components/Esdoc/OverrideMethodDescription.js +0 -35
- package/src/doc/components/Esdoc/Properties.js +0 -89
- package/src/doc/components/Esdoc/README.md +0 -45
- package/src/doc/components/Esdoc/SignatureHTML.js +0 -123
- package/src/doc/components/Esdoc/SingleDoc.js +0 -31
- package/src/doc/components/Esdoc/SummaryDoc.js +0 -160
- package/src/doc/components/Esdoc/SummaryHTML.js +0 -96
- package/src/doc/components/Esdoc/TypeDocLinkHTML.js +0 -249
- package/src/doc/components/Esdoc/css/identifiers.css +0 -38
- package/src/doc/components/Esdoc/css/search.css +0 -76
- package/src/doc/components/Esdoc/css/style.css +0 -603
- package/src/doc/components/Esdoc/index.js +0 -7
- package/src/doc/components/Example.js +0 -153
- package/src/doc/components/Examples.js +0 -183
- package/src/doc/components/Home.js +0 -106
- package/src/doc/components/TrackerExample.js +0 -38
- package/src/doc/examples/assets/tralis-live-map/index.js +0 -11
- package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +0 -105
- package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +0 -101
- package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +0 -95
- package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +0 -95
- package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +0 -95
- package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +0 -95
- package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +0 -95
- package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +0 -93
- package/src/doc/examples/assets/tralis-live-map/unknown.svg +0 -107
- package/src/doc/examples/mb-copyright.html +0 -26
- package/src/doc/examples/mb-copyright.js +0 -37
- package/src/doc/examples/mb-tracker.html +0 -1
- package/src/doc/examples/mb-tracker.js +0 -39
- package/src/doc/examples/mb-tracker.md +0 -1
- package/src/doc/examples/mb-tralis.html +0 -1
- package/src/doc/examples/mb-tralis.js +0 -34
- package/src/doc/examples/ol-copyright.html +0 -26
- package/src/doc/examples/ol-copyright.js +0 -43
- package/src/doc/examples/ol-mapbox-layer.html +0 -1
- package/src/doc/examples/ol-mapbox-layer.js +0 -28
- package/src/doc/examples/ol-mapbox-style-layer.html +0 -12
- package/src/doc/examples/ol-mapbox-style-layer.js +0 -44
- package/src/doc/examples/ol-query.html +0 -32
- package/src/doc/examples/ol-query.js +0 -83
- package/src/doc/examples/ol-routing.html +0 -26
- package/src/doc/examples/ol-routing.js +0 -59
- package/src/doc/examples/ol-routing.md +0 -1
- package/src/doc/examples/ol-stop-finder.html +0 -15
- package/src/doc/examples/ol-stop-finder.js +0 -31
- package/src/doc/examples/ol-stop-finder.md +0 -1
- package/src/doc/examples/ol-tracker.html +0 -1
- package/src/doc/examples/ol-tracker.js +0 -44
- package/src/doc/examples/ol-tracker.md +0 -1
- package/src/doc/examples/ol-tralis.html +0 -5
- package/src/doc/examples/ol-tralis.js +0 -57
- package/src/doc/examples/tralis-live-map.html +0 -1
- package/src/doc/examples/tralis-live-map.js +0 -51
- package/src/doc/examples/tralis-live-map.md +0 -3
- package/src/doc/examples.js +0 -107
- package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
- package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
- package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
- package/src/doc/img/examples/mapbox.jpg +0 -0
- package/src/doc/img/examples/mapbox_style.jpg +0 -0
- package/src/doc/img/examples/ol-copyright.png +0 -0
- package/src/doc/img/examples/query_objects.jpg +0 -0
- package/src/doc/img/examples/routing.jpg +0 -0
- package/src/doc/img/examples/simple_map.jpg +0 -0
- package/src/doc/img/examples/stops.jpg +0 -0
- package/src/doc/img/favico.ico +0 -0
- package/src/doc/index.js +0 -21
- package/src/iife.js +0 -7
- package/src/index.js +0 -10
- package/src/mapbox/controls/CopyrightControl.js +0 -58
- package/src/mapbox/controls/index.js +0 -2
- package/src/mapbox/index.js +0 -4
- package/src/mapbox/layers/Layer.js +0 -118
- package/src/mapbox/layers/Layer.test.js +0 -202
- package/src/mapbox/layers/TralisLayer.js +0 -329
- package/src/mapbox/layers/index.js +0 -2
- package/src/ol/README.md +0 -0
- package/src/ol/controls/CopyrightControl.js +0 -80
- package/src/ol/controls/CopyrightControl.test.js +0 -211
- package/src/ol/controls/RoutingControl.js +0 -752
- package/src/ol/controls/RoutingControl.test.js +0 -216
- package/src/ol/controls/StopFinderControl.js +0 -38
- package/src/ol/controls/StopFinderControl.test.js +0 -59
- package/src/ol/controls/index.js +0 -3
- package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
- package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
- package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
- package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
- package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
- package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
- package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
- package/src/ol/index.js +0 -5
- package/src/ol/layers/Layer.js +0 -193
- package/src/ol/layers/Layer.test.js +0 -197
- package/src/ol/layers/MapboxLayer.js +0 -378
- package/src/ol/layers/MapboxStyleLayer.js +0 -417
- package/src/ol/layers/MaplibreLayer.js +0 -280
- package/src/ol/layers/RoutingLayer.js +0 -91
- package/src/ol/layers/TralisLayer.js +0 -359
- package/src/ol/layers/TralisLayer.test.js +0 -97
- package/src/ol/layers/VectorLayer.js +0 -43
- package/src/ol/layers/WMSLayer.js +0 -80
- package/src/ol/layers/WMSLayer.test.js +0 -84
- package/src/ol/layers/index.js +0 -8
- package/src/ol/styles/fullTrajectoryStyle.js +0 -51
- package/src/ol/styles/index.js +0 -2
- package/src/setupTests.js +0 -15
- package/webpack.config.js +0 -6
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import VectorLayer from
|
|
2
|
-
import VectorSource from
|
|
3
|
-
import Layer from
|
|
4
|
-
|
|
1
|
+
import VectorLayer from "ol/layer/Vector";
|
|
2
|
+
import VectorSource from "ol/source/Vector";
|
|
3
|
+
import Layer from "./Layer";
|
|
5
4
|
const olLayer = new VectorLayer({ source: new VectorSource() });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const layer = new Layer({ name: 'Layer', olLayer });
|
|
5
|
+
describe("Layer", () => {
|
|
6
|
+
test("should initialize.", () => {
|
|
7
|
+
const layer = new Layer({ name: "Layer", olLayer });
|
|
10
8
|
expect(layer).toBeInstanceOf(Layer);
|
|
11
9
|
});
|
|
12
|
-
|
|
13
|
-
test('should define default properties.', () => {
|
|
10
|
+
test("should define default properties.", () => {
|
|
14
11
|
const options = {
|
|
15
|
-
name:
|
|
16
|
-
olLayer
|
|
12
|
+
name: "Layer",
|
|
13
|
+
olLayer
|
|
17
14
|
};
|
|
18
15
|
const layer = new Layer(options);
|
|
19
|
-
|
|
20
16
|
expect(layer).toBeInstanceOf(Layer);
|
|
21
17
|
expect(layer.options).toEqual(options);
|
|
22
18
|
expect(layer.name).toEqual(options.name);
|
|
23
|
-
expect(layer.key).toEqual(
|
|
19
|
+
expect(layer.key).toEqual("layer");
|
|
24
20
|
expect(layer.isBaseLayer).toBe(false);
|
|
25
21
|
expect(layer.isBaseLayer).toBe(false);
|
|
26
22
|
expect(layer.isQueryable).toBe(true);
|
|
@@ -31,45 +27,39 @@ describe('Layer', () => {
|
|
|
31
27
|
expect(layer.copyrights).toBe();
|
|
32
28
|
expect(layer.visible).toBe(true);
|
|
33
29
|
expect(layer.properties).toEqual({});
|
|
34
|
-
expect(layer.map).toBe(
|
|
30
|
+
expect(layer.map).toBe(void 0);
|
|
35
31
|
expect(layer.clickCallbacks).toEqual([]);
|
|
36
32
|
expect(layer.hoverCallbacks).toEqual([]);
|
|
37
33
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const layer = new Layer({ name: 'Layer', olLayer });
|
|
34
|
+
test("should be visible by default.", () => {
|
|
35
|
+
const layer = new Layer({ name: "Layer", olLayer });
|
|
41
36
|
expect(layer.visible).toBe(true);
|
|
42
37
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const layer = new Layer({ name: 'Layer', visible: false, olLayer });
|
|
38
|
+
test("should be hidden using constructor.", () => {
|
|
39
|
+
const layer = new Layer({ name: "Layer", visible: false, olLayer });
|
|
46
40
|
expect(layer.visible).toBe(false);
|
|
47
41
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const layer = new Layer({ name: 'Layer', olLayer });
|
|
42
|
+
test("should be hidden using setter.", () => {
|
|
43
|
+
const layer = new Layer({ name: "Layer", olLayer });
|
|
51
44
|
layer.setVisible(false);
|
|
52
45
|
expect(layer.visible).toBe(false);
|
|
53
46
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const layer = new Layer({ name: 'Layer', visible: false, olLayer });
|
|
47
|
+
test("should visibility stay unchanged", () => {
|
|
48
|
+
const layer = new Layer({ name: "Layer", visible: false, olLayer });
|
|
57
49
|
layer.setVisible(false);
|
|
58
50
|
expect(layer.visible).toBe(false);
|
|
59
51
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
expect(layer.name).toEqual('Layer');
|
|
52
|
+
test("should return its name.", () => {
|
|
53
|
+
const layer = new Layer({ name: "Layer", visible: false, olLayer });
|
|
54
|
+
expect(layer.name).toEqual("Layer");
|
|
64
55
|
});
|
|
65
|
-
|
|
66
|
-
test('should set isClickActive and isHoverActive to false if isQueryable is set to false.', () => {
|
|
56
|
+
test("should set isClickActive and isHoverActive to false if isQueryable is set to false.", () => {
|
|
67
57
|
const options = {
|
|
68
|
-
name:
|
|
58
|
+
name: "Layer",
|
|
69
59
|
isQueryable: false,
|
|
70
60
|
isClickActive: true,
|
|
71
61
|
isHoverActive: true,
|
|
72
|
-
olLayer
|
|
62
|
+
olLayer
|
|
73
63
|
};
|
|
74
64
|
const layer = new Layer(options);
|
|
75
65
|
expect(layer).toBeInstanceOf(Layer);
|
|
@@ -77,235 +67,211 @@ describe('Layer', () => {
|
|
|
77
67
|
expect(layer.isClickActive).toBe(false);
|
|
78
68
|
expect(layer.isHoverActive).toBe(false);
|
|
79
69
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
layer.init();
|
|
70
|
+
test("should called terminate on initialization.", () => {
|
|
71
|
+
const layer = new Layer({ name: "Layer", olLayer });
|
|
72
|
+
const spy = jest.spyOn(layer, "detachFromMap");
|
|
73
|
+
layer.attachToMap();
|
|
85
74
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
86
75
|
});
|
|
87
|
-
|
|
88
|
-
test('should properties correctly set and get.', () => {
|
|
76
|
+
test("should properties correctly set and get.", () => {
|
|
89
77
|
const layer = new Layer({
|
|
90
|
-
name:
|
|
78
|
+
name: "Layer",
|
|
91
79
|
olLayer,
|
|
92
80
|
properties: {
|
|
93
|
-
abc:
|
|
94
|
-
}
|
|
81
|
+
abc: "foo"
|
|
82
|
+
}
|
|
95
83
|
});
|
|
96
84
|
expect(layer).toBeInstanceOf(Layer);
|
|
97
|
-
expect(layer.get(
|
|
98
|
-
|
|
99
|
-
layer.
|
|
100
|
-
expect(layer.get('abc')).toEqual('bar');
|
|
85
|
+
expect(layer.get("abc")).toEqual("foo");
|
|
86
|
+
layer.set("abc", "bar");
|
|
87
|
+
expect(layer.get("abc")).toEqual("bar");
|
|
101
88
|
});
|
|
102
|
-
|
|
103
|
-
test('should set children', () => {
|
|
89
|
+
test("should set children", () => {
|
|
104
90
|
const layer = new Layer({
|
|
105
|
-
name:
|
|
91
|
+
name: "foo",
|
|
106
92
|
children: [
|
|
107
93
|
new Layer({
|
|
108
|
-
name:
|
|
94
|
+
name: "bar"
|
|
109
95
|
}),
|
|
110
96
|
new Layer({
|
|
111
|
-
name:
|
|
112
|
-
visible: false
|
|
113
|
-
})
|
|
114
|
-
]
|
|
97
|
+
name: "foobar",
|
|
98
|
+
visible: false
|
|
99
|
+
})
|
|
100
|
+
]
|
|
115
101
|
});
|
|
116
102
|
expect(layer.getVisibleChildren().length).toBe(1);
|
|
117
103
|
expect(layer.hasVisibleChildren()).toBe(true);
|
|
118
104
|
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
test("should set onClick using constructor.", () => {
|
|
106
|
+
const fn = () => {
|
|
107
|
+
};
|
|
122
108
|
const layer = new Layer({
|
|
123
|
-
name:
|
|
109
|
+
name: "Layer",
|
|
124
110
|
olLayer,
|
|
125
111
|
onClick: fn,
|
|
126
|
-
onHover: fn
|
|
112
|
+
onHover: fn
|
|
127
113
|
});
|
|
128
114
|
expect(layer.clickCallbacks[0]).toBe(fn);
|
|
129
115
|
expect(layer.hoverCallbacks[0]).toBe(fn);
|
|
130
116
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const layer = new Layer({ name: 'Layer', olLayer });
|
|
117
|
+
test("should onClick throw error.", () => {
|
|
118
|
+
const layer = new Layer({ name: "Layer", olLayer });
|
|
134
119
|
expect(() => {
|
|
135
|
-
layer.onClick(
|
|
120
|
+
layer.onClick("not of type function");
|
|
136
121
|
}).toThrow(Error);
|
|
137
122
|
});
|
|
138
|
-
|
|
139
|
-
test('should initialize copyrights property.', () => {
|
|
123
|
+
test("should initialize copyrights property.", () => {
|
|
140
124
|
const layer = new Layer({
|
|
141
|
-
name:
|
|
125
|
+
name: "Layer",
|
|
142
126
|
olLayer,
|
|
143
|
-
copyrights: [
|
|
127
|
+
copyrights: ["©: copyright", "another copyright"]
|
|
144
128
|
});
|
|
145
|
-
|
|
146
|
-
expect(layer.copyrights[0]).toEqual('©: copyright');
|
|
129
|
+
expect(layer.copyrights[0]).toEqual("©: copyright");
|
|
147
130
|
});
|
|
148
|
-
|
|
149
|
-
test('should set and get copyright property.', () => {
|
|
131
|
+
test("should set and get copyright property.", () => {
|
|
150
132
|
const layer = new Layer({
|
|
151
|
-
name:
|
|
152
|
-
olLayer
|
|
133
|
+
name: "Layer",
|
|
134
|
+
olLayer
|
|
153
135
|
});
|
|
154
136
|
expect(layer).toBeInstanceOf(Layer);
|
|
155
|
-
expect(layer.copyright).toEqual(
|
|
156
|
-
|
|
157
|
-
layer.copyright
|
|
158
|
-
expect(layer.copyright).toEqual('© OSM Contributors');
|
|
137
|
+
expect(layer.copyright).toEqual(void 0);
|
|
138
|
+
layer.copyright = "© OSM Contributors";
|
|
139
|
+
expect(layer.copyright).toEqual("© OSM Contributors");
|
|
159
140
|
});
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
test('should set map.', () => {
|
|
141
|
+
describe("#attachToMap()", () => {
|
|
142
|
+
test("should set map.", () => {
|
|
163
143
|
const layer = new Layer({
|
|
164
|
-
name:
|
|
165
|
-
olLayer
|
|
144
|
+
name: "Layer",
|
|
145
|
+
olLayer
|
|
166
146
|
});
|
|
167
|
-
|
|
168
|
-
expect(layer.map).toBe(undefined);
|
|
147
|
+
expect(layer.map).toBe(void 0);
|
|
169
148
|
const obj = {};
|
|
170
|
-
layer.
|
|
149
|
+
layer.attachToMap(obj);
|
|
171
150
|
expect(layer.map).toBe(obj);
|
|
172
151
|
});
|
|
173
|
-
|
|
174
|
-
test('should call terminate.', () => {
|
|
152
|
+
test("should call terminate.", () => {
|
|
175
153
|
const layer = new Layer({
|
|
176
|
-
name:
|
|
177
|
-
olLayer
|
|
154
|
+
name: "Layer",
|
|
155
|
+
olLayer
|
|
178
156
|
});
|
|
179
|
-
const spy = jest.spyOn(layer,
|
|
180
|
-
layer.
|
|
157
|
+
const spy = jest.spyOn(layer, "detachFromMap");
|
|
158
|
+
layer.attachToMap();
|
|
181
159
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
182
160
|
});
|
|
183
161
|
});
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
test('should get/set a properties.', () => {
|
|
162
|
+
describe("#get() and #set()", () => {
|
|
163
|
+
test("should get/set a properties.", () => {
|
|
187
164
|
const layer = new Layer({
|
|
188
|
-
name:
|
|
189
|
-
olLayer
|
|
165
|
+
name: "Layer",
|
|
166
|
+
olLayer
|
|
190
167
|
});
|
|
191
|
-
expect(layer.get(
|
|
192
|
-
layer.set(
|
|
193
|
-
expect(layer.get(
|
|
168
|
+
expect(layer.get("foo")).toBe(void 0);
|
|
169
|
+
layer.set("foo", "bar");
|
|
170
|
+
expect(layer.get("foo")).toBe("bar");
|
|
194
171
|
});
|
|
195
172
|
});
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
test('should dispatch a change event.', () => {
|
|
173
|
+
describe("#set()", () => {
|
|
174
|
+
test("should dispatch a change event.", () => {
|
|
199
175
|
const layer = new Layer({
|
|
200
|
-
name:
|
|
201
|
-
olLayer
|
|
176
|
+
name: "Layer",
|
|
177
|
+
olLayer
|
|
202
178
|
});
|
|
203
|
-
const spy = jest.spyOn(layer,
|
|
204
|
-
layer.set(
|
|
205
|
-
expect(spy).toHaveBeenCalledWith({ type:
|
|
179
|
+
const spy = jest.spyOn(layer, "dispatchEvent");
|
|
180
|
+
layer.set("foo", "bar");
|
|
181
|
+
expect(spy).toHaveBeenCalledWith({ type: "change:foo", target: layer });
|
|
206
182
|
});
|
|
207
183
|
});
|
|
208
|
-
|
|
209
|
-
describe('#setVisible()', () => {
|
|
184
|
+
describe("#setVisible()", () => {
|
|
210
185
|
test("should not trigger a change event if the visiblity hasn't changed.", () => {
|
|
211
186
|
const layer = new Layer({
|
|
212
|
-
name:
|
|
187
|
+
name: "Layer",
|
|
213
188
|
visible: false,
|
|
214
|
-
olLayer
|
|
189
|
+
olLayer
|
|
215
190
|
});
|
|
216
|
-
const spy = jest.spyOn(layer,
|
|
217
|
-
layer.setVisible(false,
|
|
191
|
+
const spy = jest.spyOn(layer, "dispatchEvent");
|
|
192
|
+
layer.setVisible(false, "foo", "bar", "qux");
|
|
218
193
|
expect(spy).toHaveBeenCalledTimes(0);
|
|
219
194
|
});
|
|
220
|
-
|
|
221
|
-
test('should trigger a change event only if the visiblity change.', () => {
|
|
195
|
+
test("should trigger a change event only if the visiblity change.", () => {
|
|
222
196
|
const layer = new Layer({
|
|
223
|
-
name:
|
|
197
|
+
name: "Layer",
|
|
224
198
|
visible: false,
|
|
225
|
-
olLayer
|
|
199
|
+
olLayer
|
|
226
200
|
});
|
|
227
|
-
const spy = jest.spyOn(layer,
|
|
228
|
-
layer.setVisible(true,
|
|
201
|
+
const spy = jest.spyOn(layer, "dispatchEvent");
|
|
202
|
+
layer.setVisible(true, "foo", "bar", "qux");
|
|
229
203
|
expect(layer.visible).toBe(true);
|
|
230
204
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
231
205
|
expect(spy).toHaveBeenCalledWith({
|
|
232
|
-
type:
|
|
206
|
+
type: "change:visible",
|
|
233
207
|
target: layer,
|
|
234
|
-
stopPropagationDown:
|
|
235
|
-
stopPropagationUp:
|
|
236
|
-
stopPropagationSiblings:
|
|
208
|
+
stopPropagationDown: "foo",
|
|
209
|
+
stopPropagationUp: "bar",
|
|
210
|
+
stopPropagationSiblings: "qux"
|
|
237
211
|
});
|
|
238
212
|
});
|
|
239
213
|
});
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
test('should return only visible child.', () => {
|
|
214
|
+
describe("#getVisibleChildren()", () => {
|
|
215
|
+
test("should return only visible child.", () => {
|
|
243
216
|
const layerVisible = { visible: true };
|
|
244
217
|
const layerVisible2 = { visible: true };
|
|
245
218
|
const layerHidden = { visible: false };
|
|
246
219
|
const layer = new Layer({
|
|
247
|
-
name:
|
|
220
|
+
name: "Layer",
|
|
248
221
|
visible: false,
|
|
249
222
|
olLayer,
|
|
250
|
-
children: [layerVisible, layerHidden, layerVisible2]
|
|
223
|
+
children: [layerVisible, layerHidden, layerVisible2]
|
|
251
224
|
});
|
|
252
225
|
expect(layer.getVisibleChildren()).toEqual([layerVisible, layerVisible2]);
|
|
253
226
|
});
|
|
254
227
|
});
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
test('should return true.', () => {
|
|
228
|
+
describe("#hasVisibleChildren()", () => {
|
|
229
|
+
test("should return true.", () => {
|
|
258
230
|
const layerVisible = { visible: true };
|
|
259
231
|
const layerVisible2 = { visible: true };
|
|
260
232
|
const layerHidden = { visible: false };
|
|
261
233
|
const layer = new Layer({
|
|
262
|
-
name:
|
|
234
|
+
name: "Layer",
|
|
263
235
|
visible: false,
|
|
264
236
|
olLayer,
|
|
265
|
-
children: [layerVisible, layerHidden, layerVisible2]
|
|
237
|
+
children: [layerVisible, layerHidden, layerVisible2]
|
|
266
238
|
});
|
|
267
239
|
expect(layer.hasVisibleChildren()).toEqual(true);
|
|
268
240
|
});
|
|
269
|
-
|
|
270
|
-
test('should return false.', () => {
|
|
241
|
+
test("should return false.", () => {
|
|
271
242
|
const layerHidden = { visible: false };
|
|
272
243
|
const layer = new Layer({
|
|
273
|
-
name:
|
|
244
|
+
name: "Layer",
|
|
274
245
|
visible: false,
|
|
275
246
|
olLayer,
|
|
276
|
-
children: [layerHidden]
|
|
247
|
+
children: [layerHidden]
|
|
277
248
|
});
|
|
278
249
|
expect(layer.hasVisibleChildren()).toEqual(false);
|
|
279
250
|
});
|
|
280
251
|
});
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
test('return an empty fetaureInfo object and display an error message', (done) => {
|
|
284
|
-
// eslint-disable-next-line no-console
|
|
252
|
+
describe("#getFeatureInfoAtCoordinate()", () => {
|
|
253
|
+
test("return an empty fetaureInfo object and display an error message", (done) => {
|
|
285
254
|
console.error = jest.fn();
|
|
286
255
|
const layer = new Layer({
|
|
287
|
-
name:
|
|
288
|
-
olLayer
|
|
256
|
+
name: "Layer",
|
|
257
|
+
olLayer
|
|
289
258
|
});
|
|
290
259
|
const coord = [0, 0];
|
|
291
260
|
layer.getFeatureInfoAtCoordinate(coord).then((featureInfo) => {
|
|
292
261
|
expect(featureInfo.features).toEqual([]);
|
|
293
262
|
expect(featureInfo.layer).toEqual(layer);
|
|
294
263
|
expect(featureInfo.coordinate).toEqual(coord);
|
|
295
|
-
// eslint-disable-next-line no-console
|
|
296
264
|
expect(console.error).toHaveBeenCalledTimes(1);
|
|
297
265
|
done();
|
|
298
|
-
// eslint-disable-next-line no-console
|
|
299
266
|
console.error.mockRestore();
|
|
300
267
|
});
|
|
301
268
|
});
|
|
302
269
|
});
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
test('adds function to clickCallbacks array', () => {
|
|
270
|
+
describe("#onClick()", () => {
|
|
271
|
+
test("adds function to clickCallbacks array", () => {
|
|
306
272
|
const layer = new Layer({
|
|
307
|
-
name:
|
|
308
|
-
olLayer
|
|
273
|
+
name: "Layer",
|
|
274
|
+
olLayer
|
|
309
275
|
});
|
|
310
276
|
const fn = jest.fn();
|
|
311
277
|
const fn2 = jest.fn();
|
|
@@ -314,26 +280,24 @@ describe('Layer', () => {
|
|
|
314
280
|
layer.onClick(fn2);
|
|
315
281
|
expect(layer.clickCallbacks).toEqual([fn, fn2]);
|
|
316
282
|
});
|
|
317
|
-
|
|
318
|
-
test('triggers Error if parameter is not a function', (done) => {
|
|
283
|
+
test("triggers Error if parameter is not a function", (done) => {
|
|
319
284
|
const layer = new Layer({
|
|
320
|
-
name:
|
|
321
|
-
olLayer
|
|
285
|
+
name: "Layer",
|
|
286
|
+
olLayer
|
|
322
287
|
});
|
|
323
288
|
try {
|
|
324
|
-
layer.onClick(
|
|
289
|
+
layer.onClick("test");
|
|
325
290
|
} catch (e) {
|
|
326
291
|
expect(e).toBeDefined();
|
|
327
292
|
done();
|
|
328
293
|
}
|
|
329
294
|
});
|
|
330
295
|
});
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
test('removes function from clickCallbacks array', () => {
|
|
296
|
+
describe("#unClick()", () => {
|
|
297
|
+
test("removes function from clickCallbacks array", () => {
|
|
334
298
|
const layer = new Layer({
|
|
335
|
-
name:
|
|
336
|
-
olLayer
|
|
299
|
+
name: "Layer",
|
|
300
|
+
olLayer
|
|
337
301
|
});
|
|
338
302
|
const fn = jest.fn();
|
|
339
303
|
const fn2 = jest.fn();
|
|
@@ -343,33 +307,27 @@ describe('Layer', () => {
|
|
|
343
307
|
expect(layer.clickCallbacks).toEqual([fn, fn2]);
|
|
344
308
|
layer.unClick(fn);
|
|
345
309
|
expect(layer.clickCallbacks).toEqual([fn2]);
|
|
346
|
-
// Make sure no callbacks are removed if the callback is not in the list.
|
|
347
310
|
layer.unClick(fn);
|
|
348
311
|
expect(layer.clickCallbacks).toEqual([fn2]);
|
|
349
312
|
});
|
|
350
313
|
});
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
const evt = { type: 'signleclick', coordinate: [0, 0] };
|
|
354
|
-
|
|
314
|
+
describe("#onUserClickCallback()", () => {
|
|
315
|
+
const evt = { type: "signleclick", coordinate: [0, 0] };
|
|
355
316
|
const getFeatureInfo = (layer, features = []) => ({
|
|
356
317
|
features,
|
|
357
318
|
layer,
|
|
358
319
|
coordinate: evt.coordinate,
|
|
359
|
-
event: evt
|
|
320
|
+
event: evt
|
|
360
321
|
});
|
|
361
|
-
|
|
362
|
-
test('calls click callback functions', (done) => {
|
|
322
|
+
test("calls click callback functions", (done) => {
|
|
363
323
|
const layer = new Layer({
|
|
364
|
-
name:
|
|
365
|
-
olLayer
|
|
324
|
+
name: "Layer",
|
|
325
|
+
olLayer
|
|
366
326
|
});
|
|
367
|
-
const goodFeatureInfo = getFeatureInfo(layer, [{ name:
|
|
327
|
+
const goodFeatureInfo = getFeatureInfo(layer, [{ name: "test" }]);
|
|
368
328
|
const fn = jest.fn();
|
|
369
329
|
const fn2 = jest.fn();
|
|
370
|
-
const spy = jest
|
|
371
|
-
.spyOn(layer, 'getFeatureInfoAtCoordinate')
|
|
372
|
-
.mockResolvedValue(goodFeatureInfo);
|
|
330
|
+
const spy = jest.spyOn(layer, "getFeatureInfoAtCoordinate").mockResolvedValue(goodFeatureInfo);
|
|
373
331
|
layer.onClick(fn);
|
|
374
332
|
layer.onClick(fn2);
|
|
375
333
|
layer.onUserClickCallback(evt).then((featureInfo) => {
|
|
@@ -387,13 +345,12 @@ describe('Layer', () => {
|
|
|
387
345
|
done();
|
|
388
346
|
});
|
|
389
347
|
});
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
test('if isClickActive = false', (done) => {
|
|
348
|
+
describe("returns empty feature info", () => {
|
|
349
|
+
test("if isClickActive = false", (done) => {
|
|
393
350
|
const layer = new Layer({
|
|
394
|
-
name:
|
|
351
|
+
name: "Layer",
|
|
395
352
|
isClickActive: false,
|
|
396
|
-
olLayer
|
|
353
|
+
olLayer
|
|
397
354
|
});
|
|
398
355
|
layer.onClick(jest.fn());
|
|
399
356
|
layer.onUserClickCallback(evt).then((featureInfo) => {
|
|
@@ -401,25 +358,23 @@ describe('Layer', () => {
|
|
|
401
358
|
done();
|
|
402
359
|
});
|
|
403
360
|
});
|
|
404
|
-
|
|
405
|
-
test('if clickCallbacks is empty', (done) => {
|
|
361
|
+
test("if clickCallbacks is empty", (done) => {
|
|
406
362
|
const layer = new Layer({
|
|
407
|
-
name:
|
|
408
|
-
olLayer
|
|
363
|
+
name: "Layer",
|
|
364
|
+
olLayer
|
|
409
365
|
});
|
|
410
366
|
layer.onUserClickCallback(evt).then((featureInfo) => {
|
|
411
367
|
expect(featureInfo).toEqual(getFeatureInfo(layer));
|
|
412
368
|
done();
|
|
413
369
|
});
|
|
414
370
|
});
|
|
415
|
-
|
|
416
|
-
test('if an error is thrown in click callback', (done) => {
|
|
371
|
+
test("if an error is thrown in click callback", (done) => {
|
|
417
372
|
const layer = new Layer({
|
|
418
|
-
name:
|
|
419
|
-
olLayer
|
|
373
|
+
name: "Layer",
|
|
374
|
+
olLayer
|
|
420
375
|
});
|
|
421
376
|
layer.onClick(() => {
|
|
422
|
-
throw new Error(
|
|
377
|
+
throw new Error("foo");
|
|
423
378
|
});
|
|
424
379
|
layer.onUserClickCallback(evt).then((featureInfo) => {
|
|
425
380
|
expect(featureInfo).toEqual(getFeatureInfo(layer));
|
|
@@ -427,26 +382,24 @@ describe('Layer', () => {
|
|
|
427
382
|
});
|
|
428
383
|
});
|
|
429
384
|
});
|
|
430
|
-
|
|
431
|
-
test('triggers Error if parameter is not a function', (done) => {
|
|
385
|
+
test("triggers Error if parameter is not a function", (done) => {
|
|
432
386
|
const layer = new Layer({
|
|
433
|
-
name:
|
|
434
|
-
olLayer
|
|
387
|
+
name: "Layer",
|
|
388
|
+
olLayer
|
|
435
389
|
});
|
|
436
390
|
try {
|
|
437
|
-
layer.onClick(
|
|
391
|
+
layer.onClick("test");
|
|
438
392
|
} catch (e) {
|
|
439
393
|
expect(e).toBeDefined();
|
|
440
394
|
done();
|
|
441
395
|
}
|
|
442
396
|
});
|
|
443
397
|
});
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
test('adds function to clickCallbacks array', () => {
|
|
398
|
+
describe("#onHover()", () => {
|
|
399
|
+
test("adds function to clickCallbacks array", () => {
|
|
447
400
|
const layer = new Layer({
|
|
448
|
-
name:
|
|
449
|
-
olLayer
|
|
401
|
+
name: "Layer",
|
|
402
|
+
olLayer
|
|
450
403
|
});
|
|
451
404
|
const fn = jest.fn();
|
|
452
405
|
const fn2 = jest.fn();
|
|
@@ -455,26 +408,24 @@ describe('Layer', () => {
|
|
|
455
408
|
layer.onHover(fn2);
|
|
456
409
|
expect(layer.hoverCallbacks).toEqual([fn, fn2]);
|
|
457
410
|
});
|
|
458
|
-
|
|
459
|
-
test('triggers Error if parameter is not a function', (done) => {
|
|
411
|
+
test("triggers Error if parameter is not a function", (done) => {
|
|
460
412
|
const layer = new Layer({
|
|
461
|
-
name:
|
|
462
|
-
olLayer
|
|
413
|
+
name: "Layer",
|
|
414
|
+
olLayer
|
|
463
415
|
});
|
|
464
416
|
try {
|
|
465
|
-
layer.onHover(
|
|
417
|
+
layer.onHover("test");
|
|
466
418
|
} catch (e) {
|
|
467
419
|
expect(e).toBeDefined();
|
|
468
420
|
done();
|
|
469
421
|
}
|
|
470
422
|
});
|
|
471
423
|
});
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
test('removes function from clickCallbacks array', () => {
|
|
424
|
+
describe("#unHover()", () => {
|
|
425
|
+
test("removes function from clickCallbacks array", () => {
|
|
475
426
|
const layer = new Layer({
|
|
476
|
-
name:
|
|
477
|
-
olLayer
|
|
427
|
+
name: "Layer",
|
|
428
|
+
olLayer
|
|
478
429
|
});
|
|
479
430
|
const fn = jest.fn();
|
|
480
431
|
const fn2 = jest.fn();
|
|
@@ -484,33 +435,27 @@ describe('Layer', () => {
|
|
|
484
435
|
expect(layer.hoverCallbacks).toEqual([fn, fn2]);
|
|
485
436
|
layer.unHover(fn);
|
|
486
437
|
expect(layer.hoverCallbacks).toEqual([fn2]);
|
|
487
|
-
// Make sure no callbacks are removed if the callback is not in the list.
|
|
488
438
|
layer.unHover(fn);
|
|
489
439
|
expect(layer.hoverCallbacks).toEqual([fn2]);
|
|
490
440
|
});
|
|
491
441
|
});
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
const evt = { type: 'pointermove', coordinate: [0, 0] };
|
|
495
|
-
|
|
442
|
+
describe("#onUserMoveCallback()", () => {
|
|
443
|
+
const evt = { type: "pointermove", coordinate: [0, 0] };
|
|
496
444
|
const getFeatureInfo = (layer, features = []) => ({
|
|
497
445
|
features,
|
|
498
446
|
layer,
|
|
499
447
|
coordinate: evt.coordinate,
|
|
500
|
-
event: evt
|
|
448
|
+
event: evt
|
|
501
449
|
});
|
|
502
|
-
|
|
503
|
-
test('calls hover callback functions', (done) => {
|
|
450
|
+
test("calls hover callback functions", (done) => {
|
|
504
451
|
const layer = new Layer({
|
|
505
|
-
name:
|
|
506
|
-
olLayer
|
|
452
|
+
name: "Layer",
|
|
453
|
+
olLayer
|
|
507
454
|
});
|
|
508
|
-
const goodFeatureInfo = getFeatureInfo(layer, [{ name:
|
|
455
|
+
const goodFeatureInfo = getFeatureInfo(layer, [{ name: "test" }]);
|
|
509
456
|
const fn = jest.fn();
|
|
510
457
|
const fn2 = jest.fn();
|
|
511
|
-
const spy = jest
|
|
512
|
-
.spyOn(layer, 'getFeatureInfoAtCoordinate')
|
|
513
|
-
.mockResolvedValue(goodFeatureInfo);
|
|
458
|
+
const spy = jest.spyOn(layer, "getFeatureInfoAtCoordinate").mockResolvedValue(goodFeatureInfo);
|
|
514
459
|
layer.onHover(fn);
|
|
515
460
|
layer.onHover(fn2);
|
|
516
461
|
layer.onUserMoveCallback(evt).then((featureInfo) => {
|
|
@@ -528,13 +473,12 @@ describe('Layer', () => {
|
|
|
528
473
|
done();
|
|
529
474
|
});
|
|
530
475
|
});
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
test('if isHoverActive = false', (done) => {
|
|
476
|
+
describe("returns empty feature info", () => {
|
|
477
|
+
test("if isHoverActive = false", (done) => {
|
|
534
478
|
const layer = new Layer({
|
|
535
|
-
name:
|
|
479
|
+
name: "Layer",
|
|
536
480
|
isHoverActive: false,
|
|
537
|
-
olLayer
|
|
481
|
+
olLayer
|
|
538
482
|
});
|
|
539
483
|
layer.onHover(jest.fn());
|
|
540
484
|
layer.onUserMoveCallback(evt).then((featureInfo) => {
|
|
@@ -542,25 +486,23 @@ describe('Layer', () => {
|
|
|
542
486
|
done();
|
|
543
487
|
});
|
|
544
488
|
});
|
|
545
|
-
|
|
546
|
-
test('if hoverCallbacks is empty', (done) => {
|
|
489
|
+
test("if hoverCallbacks is empty", (done) => {
|
|
547
490
|
const layer = new Layer({
|
|
548
|
-
name:
|
|
549
|
-
olLayer
|
|
491
|
+
name: "Layer",
|
|
492
|
+
olLayer
|
|
550
493
|
});
|
|
551
494
|
layer.onUserMoveCallback(evt).then((featureInfo) => {
|
|
552
495
|
expect(featureInfo).toEqual(getFeatureInfo(layer));
|
|
553
496
|
done();
|
|
554
497
|
});
|
|
555
498
|
});
|
|
556
|
-
|
|
557
|
-
test('if an error is thrown in hover callback', (done) => {
|
|
499
|
+
test("if an error is thrown in hover callback", (done) => {
|
|
558
500
|
const layer = new Layer({
|
|
559
|
-
name:
|
|
560
|
-
olLayer
|
|
501
|
+
name: "Layer",
|
|
502
|
+
olLayer
|
|
561
503
|
});
|
|
562
504
|
layer.onHover(() => {
|
|
563
|
-
throw new Error(
|
|
505
|
+
throw new Error("foo");
|
|
564
506
|
});
|
|
565
507
|
layer.onUserMoveCallback(evt).then((featureInfo) => {
|
|
566
508
|
expect(featureInfo).toEqual(getFeatureInfo(layer));
|
|
@@ -568,14 +510,13 @@ describe('Layer', () => {
|
|
|
568
510
|
});
|
|
569
511
|
});
|
|
570
512
|
});
|
|
571
|
-
|
|
572
|
-
test('triggers Error if parameter is not a function', (done) => {
|
|
513
|
+
test("triggers Error if parameter is not a function", (done) => {
|
|
573
514
|
const layer = new Layer({
|
|
574
|
-
name:
|
|
575
|
-
olLayer
|
|
515
|
+
name: "Layer",
|
|
516
|
+
olLayer
|
|
576
517
|
});
|
|
577
518
|
try {
|
|
578
|
-
layer.onHover(
|
|
519
|
+
layer.onHover("test");
|
|
579
520
|
} catch (e) {
|
|
580
521
|
expect(e).toBeDefined();
|
|
581
522
|
done();
|