mobility-toolbox-js 2.0.0 → 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.
Files changed (102) hide show
  1. package/api/RoutingAPI.js +15 -0
  2. package/api/RoutingAPI.test.js +25 -0
  3. package/api/StopsAPI.js +12 -0
  4. package/api/StopsAPI.test.js +22 -0
  5. package/api/TralisAPI.js +359 -0
  6. package/api/TralisAPI.test.js +67 -0
  7. package/api/{tralis/TralisAPIUtils.js → TralisAPIUtils.js} +2 -32
  8. package/api/index.js +3 -3
  9. package/{ol/README.md → api/typedefs.js} +0 -0
  10. package/common/Tracker.js +14 -118
  11. package/common/api/HttpAPI.js +30 -0
  12. package/common/api/HttpAPI.test.js +50 -0
  13. package/common/api/WebSocketAPI.js +175 -0
  14. package/{api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
  15. package/common/controls/Control.js +26 -91
  16. package/common/controls/Control.test.js +32 -43
  17. package/common/index.js +4 -0
  18. package/common/layers/Layer.js +53 -244
  19. package/common/layers/Layer.test.js +185 -244
  20. package/common/mixins/CopyrightMixin.js +20 -44
  21. package/common/mixins/SearchMixin.js +100 -166
  22. package/common/mixins/TralisLayerMixin.js +443 -894
  23. package/common/styles/index.js +4 -4
  24. package/common/styles/trackerDefaultStyle.js +39 -175
  25. package/common/styles/trackerDelayStyle.js +2 -11
  26. package/common/styles/trackerSimpleStyle.js +4 -8
  27. package/common/trackerConfig.js +61 -99
  28. package/common/trackerConfig.test.js +15 -17
  29. package/common/typedefs.js +0 -23
  30. package/common/utils/createTrackerFilters.js +10 -41
  31. package/common/utils/createTrackerFilters.test.js +40 -56
  32. package/common/utils/getMapboxMapCopyrights.js +3 -16
  33. package/common/utils/getMapboxMapCopyrights.test.js +32 -39
  34. package/common/utils/getMapboxStyleUrl.js +3 -13
  35. package/common/utils/getVehiclePosition.js +3 -33
  36. package/common/utils/index.js +5 -6
  37. package/common/utils/removeDuplicate.js +3 -17
  38. package/common/utils/removeDuplicate.test.js +17 -20
  39. package/common/utils/sortByDelay.js +2 -7
  40. package/common/utils/timeUtils.js +8 -32
  41. package/common/utils/timeUtils.test.js +7 -13
  42. package/index.js +8 -2
  43. package/mapbox/controls/CopyrightControl.js +9 -38
  44. package/mapbox/controls/index.js +1 -0
  45. package/mapbox/index.js +4 -3
  46. package/mapbox/layers/Layer.js +15 -76
  47. package/mapbox/layers/Layer.test.js +81 -101
  48. package/mapbox/layers/TralisLayer.js +46 -193
  49. package/mapbox/layers/TralisLayer.test.js +12 -14
  50. package/mapbox/layers/index.js +2 -0
  51. package/mapbox/utils.js +7 -21
  52. package/mbt.js +50444 -0
  53. package/mbt.js.map +7 -0
  54. package/mbt.min.js +1005 -0
  55. package/mbt.min.js.map +7 -0
  56. package/ol/controls/CopyrightControl.js +8 -46
  57. package/ol/controls/CopyrightControl.test.js +75 -121
  58. package/ol/controls/RoutingControl.js +167 -532
  59. package/ol/controls/RoutingControl.test.js +99 -164
  60. package/ol/controls/StopFinderControl.js +3 -31
  61. package/ol/controls/StopFinderControl.test.js +18 -29
  62. package/ol/controls/index.js +3 -0
  63. package/ol/index.js +5 -13
  64. package/ol/layers/Layer.js +23 -128
  65. package/ol/layers/Layer.test.js +79 -102
  66. package/ol/layers/MapboxLayer.js +62 -237
  67. package/ol/layers/MapboxLayer.test.js +58 -84
  68. package/ol/layers/MapboxStyleLayer.js +38 -268
  69. package/ol/layers/MapboxStyleLayer.test.js +97 -128
  70. package/ol/layers/MaplibreLayer.js +46 -187
  71. package/ol/layers/RoutingLayer.js +21 -51
  72. package/ol/layers/RoutingLayer.test.js +15 -24
  73. package/ol/layers/TralisLayer.js +102 -276
  74. package/ol/layers/TralisLayer.test.js +32 -50
  75. package/ol/layers/VectorLayer.js +3 -24
  76. package/ol/layers/VectorLayer.test.js +34 -45
  77. package/ol/layers/WMSLayer.js +15 -57
  78. package/ol/layers/WMSLayer.test.js +35 -43
  79. package/ol/layers/index.js +8 -0
  80. package/ol/styles/fullTrajectoryDelayStyle.js +11 -15
  81. package/ol/styles/fullTrajectoryStyle.js +17 -25
  82. package/ol/styles/index.js +2 -2
  83. package/package.json +35 -62
  84. package/api/routing/RoutingAPI.js +0 -44
  85. package/api/routing/RoutingAPI.test.js +0 -41
  86. package/api/stops/StopsAPI.js +0 -41
  87. package/api/stops/StopsAPI.test.js +0 -34
  88. package/api/tralis/TralisAPI.js +0 -731
  89. package/api/tralis/TralisAPI.test.js +0 -75
  90. package/api/tralis/WebSocketConnector.js +0 -338
  91. package/api/tralis/typedefs.js +0 -81
  92. package/common/api/api.js +0 -64
  93. package/common/api/api.test.js +0 -68
  94. package/index.js.map +0 -1
  95. package/module.js +0 -23
  96. package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  97. package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  98. package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  99. package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  100. package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  101. package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  102. package/ol/controls/snapshots/RoutingControlStation2.json +0 -49
@@ -1,26 +1,22 @@
1
- import VectorLayer from 'ol/layer/Vector';
2
- import VectorSource from 'ol/source/Vector';
3
- import Layer from './Layer';
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
- describe('Layer', () => {
8
- test('should initialize.', () => {
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: 'Layer',
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('layer');
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(undefined);
30
+ expect(layer.map).toBe(void 0);
35
31
  expect(layer.clickCallbacks).toEqual([]);
36
32
  expect(layer.hoverCallbacks).toEqual([]);
37
33
  });
38
-
39
- test('should be visible by default.', () => {
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
- test('should be hidden using constructor.', () => {
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
- test('should be hidden using setter.', () => {
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
- test('should visibility stay unchanged', () => {
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
- test('should return its name.', () => {
62
- const layer = new Layer({ name: 'Layer', visible: false, olLayer });
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: 'Layer',
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
- test('should called terminate on initialization.', () => {
82
- const layer = new Layer({ name: 'Layer', olLayer });
83
- const spy = jest.spyOn(layer, 'terminate');
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: 'Layer',
78
+ name: "Layer",
91
79
  olLayer,
92
80
  properties: {
93
- abc: 'foo',
94
- },
81
+ abc: "foo"
82
+ }
95
83
  });
96
84
  expect(layer).toBeInstanceOf(Layer);
97
- expect(layer.get('abc')).toEqual('foo');
98
-
99
- layer.set('abc', 'bar');
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: 'foo',
91
+ name: "foo",
106
92
  children: [
107
93
  new Layer({
108
- name: 'bar',
94
+ name: "bar"
109
95
  }),
110
96
  new Layer({
111
- name: 'foobar',
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
- test('should set onClick using constructor.', () => {
121
- const fn = () => {};
105
+ test("should set onClick using constructor.", () => {
106
+ const fn = () => {
107
+ };
122
108
  const layer = new Layer({
123
- name: 'Layer',
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
- test('should onClick throw error.', () => {
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('not of type function');
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: 'Layer',
125
+ name: "Layer",
142
126
  olLayer,
143
- copyrights: ['&copy: copyright', 'another copyright'],
127
+ copyrights: ["&copy: copyright", "another copyright"]
144
128
  });
145
-
146
- expect(layer.copyrights[0]).toEqual('&copy: copyright');
129
+ expect(layer.copyrights[0]).toEqual("&copy: 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: 'Layer',
152
- olLayer,
133
+ name: "Layer",
134
+ olLayer
153
135
  });
154
136
  expect(layer).toBeInstanceOf(Layer);
155
- expect(layer.copyright).toEqual(undefined);
156
-
157
- layer.copyright = '© OSM Contributors';
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
- describe('#init()', () => {
162
- test('should set map.', () => {
141
+ describe("#attachToMap()", () => {
142
+ test("should set map.", () => {
163
143
  const layer = new Layer({
164
- name: 'Layer',
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.init(obj);
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: 'Layer',
177
- olLayer,
154
+ name: "Layer",
155
+ olLayer
178
156
  });
179
- const spy = jest.spyOn(layer, 'terminate');
180
- layer.init();
157
+ const spy = jest.spyOn(layer, "detachFromMap");
158
+ layer.attachToMap();
181
159
  expect(spy).toHaveBeenCalledTimes(1);
182
160
  });
183
161
  });
184
-
185
- describe('#get() and #set()', () => {
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: 'Layer',
189
- olLayer,
165
+ name: "Layer",
166
+ olLayer
190
167
  });
191
- expect(layer.get('foo')).toBe(undefined);
192
- layer.set('foo', 'bar');
193
- expect(layer.get('foo')).toBe('bar');
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
- describe('#set()', () => {
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: 'Layer',
201
- olLayer,
176
+ name: "Layer",
177
+ olLayer
202
178
  });
203
- const spy = jest.spyOn(layer, 'dispatchEvent');
204
- layer.set('foo', 'bar');
205
- expect(spy).toHaveBeenCalledWith({ type: 'change:foo', target: layer });
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: 'Layer',
187
+ name: "Layer",
213
188
  visible: false,
214
- olLayer,
189
+ olLayer
215
190
  });
216
- const spy = jest.spyOn(layer, 'dispatchEvent');
217
- layer.setVisible(false, 'foo', 'bar', 'qux');
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: 'Layer',
197
+ name: "Layer",
224
198
  visible: false,
225
- olLayer,
199
+ olLayer
226
200
  });
227
- const spy = jest.spyOn(layer, 'dispatchEvent');
228
- layer.setVisible(true, 'foo', 'bar', 'qux');
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: 'change:visible',
206
+ type: "change:visible",
233
207
  target: layer,
234
- stopPropagationDown: 'foo',
235
- stopPropagationUp: 'bar',
236
- stopPropagationSiblings: 'qux',
208
+ stopPropagationDown: "foo",
209
+ stopPropagationUp: "bar",
210
+ stopPropagationSiblings: "qux"
237
211
  });
238
212
  });
239
213
  });
240
-
241
- describe('#getVisibleChildren()', () => {
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: 'Layer',
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
- describe('#hasVisibleChildren()', () => {
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: 'Layer',
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: 'Layer',
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
- describe('#getFeatureInfoAtCoordinate()', () => {
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: 'Layer',
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
- describe('#onClick()', () => {
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: 'Layer',
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: 'Layer',
321
- olLayer,
285
+ name: "Layer",
286
+ olLayer
322
287
  });
323
288
  try {
324
- layer.onClick('test');
289
+ layer.onClick("test");
325
290
  } catch (e) {
326
291
  expect(e).toBeDefined();
327
292
  done();
328
293
  }
329
294
  });
330
295
  });
331
-
332
- describe('#unClick()', () => {
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: 'Layer',
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
- describe('#onUserClickCallback()', () => {
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: 'Layer',
365
- olLayer,
324
+ name: "Layer",
325
+ olLayer
366
326
  });
367
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
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
- describe('returns empty feature info', () => {
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: 'Layer',
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: 'Layer',
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: 'Layer',
419
- olLayer,
373
+ name: "Layer",
374
+ olLayer
420
375
  });
421
376
  layer.onClick(() => {
422
- throw new Error('foo');
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: 'Layer',
434
- olLayer,
387
+ name: "Layer",
388
+ olLayer
435
389
  });
436
390
  try {
437
- layer.onClick('test');
391
+ layer.onClick("test");
438
392
  } catch (e) {
439
393
  expect(e).toBeDefined();
440
394
  done();
441
395
  }
442
396
  });
443
397
  });
444
-
445
- describe('#onHover()', () => {
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: 'Layer',
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: 'Layer',
462
- olLayer,
413
+ name: "Layer",
414
+ olLayer
463
415
  });
464
416
  try {
465
- layer.onHover('test');
417
+ layer.onHover("test");
466
418
  } catch (e) {
467
419
  expect(e).toBeDefined();
468
420
  done();
469
421
  }
470
422
  });
471
423
  });
472
-
473
- describe('#unHover()', () => {
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: 'Layer',
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
- describe('#onUserMoveCallback()', () => {
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: 'Layer',
506
- olLayer,
452
+ name: "Layer",
453
+ olLayer
507
454
  });
508
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
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
- describe('returns empty feature info', () => {
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: 'Layer',
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: 'Layer',
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: 'Layer',
560
- olLayer,
501
+ name: "Layer",
502
+ olLayer
561
503
  });
562
504
  layer.onHover(() => {
563
- throw new Error('foo');
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: 'Layer',
575
- olLayer,
515
+ name: "Layer",
516
+ olLayer
576
517
  });
577
518
  try {
578
- layer.onHover('test');
519
+ layer.onHover("test");
579
520
  } catch (e) {
580
521
  expect(e).toBeDefined();
581
522
  done();