mobility-toolbox-js 2.0.0-beta.36 → 2.0.0-beta.39

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 (93) hide show
  1. package/README.md +14 -8
  2. package/api/RealtimeAPI.test.d.ts +2 -0
  3. package/api/RealtimeAPI.test.d.ts.map +1 -0
  4. package/api/RealtimeAPI.test.js +67 -0
  5. package/api/RoutingAPI.d.ts +6 -2
  6. package/api/RoutingAPI.d.ts.map +1 -1
  7. package/api/RoutingAPI.test.d.ts +2 -0
  8. package/api/RoutingAPI.test.d.ts.map +1 -0
  9. package/api/RoutingAPI.test.js +29 -0
  10. package/api/StopsAPI.test.d.ts +2 -0
  11. package/api/StopsAPI.test.d.ts.map +1 -0
  12. package/api/StopsAPI.test.js +26 -0
  13. package/common/api/HttpAPI.d.ts +4 -4
  14. package/common/api/HttpAPI.d.ts.map +1 -1
  15. package/common/api/HttpAPI.test.d.ts +2 -0
  16. package/common/api/HttpAPI.test.d.ts.map +1 -0
  17. package/common/api/HttpAPI.test.js +54 -0
  18. package/common/api/WebSocketAPI.d.ts +6 -2
  19. package/common/api/WebSocketAPI.d.ts.map +1 -1
  20. package/common/api/WebSocketAPI.js +57 -31
  21. package/common/api/WebSocketAPI.test.d.ts +2 -0
  22. package/common/api/WebSocketAPI.test.d.ts.map +1 -0
  23. package/common/api/WebSocketAPI.test.js +380 -0
  24. package/common/controls/Control.test.d.ts +2 -0
  25. package/common/controls/Control.test.d.ts.map +1 -0
  26. package/common/controls/Control.test.js +89 -0
  27. package/common/layers/Layer.test.d.ts +2 -0
  28. package/common/layers/Layer.test.d.ts.map +1 -0
  29. package/common/layers/Layer.test.js +137 -0
  30. package/common/mixins/UserInteractionsLayerMixin.test.d.ts +2 -0
  31. package/common/mixins/UserInteractionsLayerMixin.test.d.ts.map +1 -0
  32. package/common/mixins/UserInteractionsLayerMixin.test.js +214 -0
  33. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -1
  34. package/common/styles/realtimeDefaultStyle.js +2 -4
  35. package/common/styles/realtimeSimpleStyle.js +1 -1
  36. package/common/utils/createTrackerFilters.test.d.ts +2 -0
  37. package/common/utils/createTrackerFilters.test.d.ts.map +1 -0
  38. package/common/utils/createTrackerFilters.test.js +79 -0
  39. package/common/utils/getMapboxMapCopyrights.test.d.ts +2 -0
  40. package/common/utils/getMapboxMapCopyrights.test.d.ts.map +1 -0
  41. package/common/utils/getMapboxMapCopyrights.test.js +40 -0
  42. package/common/utils/removeDuplicate.test.d.ts +2 -0
  43. package/common/utils/removeDuplicate.test.d.ts.map +1 -0
  44. package/common/utils/removeDuplicate.test.js +19 -0
  45. package/common/utils/timeUtils.test.d.ts +2 -0
  46. package/common/utils/timeUtils.test.d.ts.map +1 -0
  47. package/common/utils/timeUtils.test.js +10 -0
  48. package/common/utils/trackerConfig.test.d.ts +2 -0
  49. package/common/utils/trackerConfig.test.d.ts.map +1 -0
  50. package/common/utils/trackerConfig.test.js +23 -0
  51. package/mapbox/layers/Layer.test.d.ts +2 -0
  52. package/mapbox/layers/Layer.test.d.ts.map +1 -0
  53. package/mapbox/layers/Layer.test.js +204 -0
  54. package/mapbox/layers/RealtimeLayer.test.d.ts +2 -0
  55. package/mapbox/layers/RealtimeLayer.test.d.ts.map +1 -0
  56. package/mapbox/layers/RealtimeLayer.test.js +10 -0
  57. package/mbt.js +4723 -4172
  58. package/mbt.js.map +3 -3
  59. package/mbt.min.js +193 -118
  60. package/mbt.min.js.map +3 -3
  61. package/ol/controls/CopyrightControl.test.d.ts +2 -0
  62. package/ol/controls/CopyrightControl.test.d.ts.map +1 -0
  63. package/ol/controls/CopyrightControl.test.js +177 -0
  64. package/ol/controls/RoutingControl.test.d.ts +2 -0
  65. package/ol/controls/RoutingControl.test.d.ts.map +1 -0
  66. package/ol/controls/RoutingControl.test.js +150 -0
  67. package/ol/controls/StopFinderControl.test.d.ts +2 -0
  68. package/ol/controls/StopFinderControl.test.d.ts.map +1 -0
  69. package/ol/controls/StopFinderControl.test.js +49 -0
  70. package/ol/layers/Layer.test.d.ts +2 -0
  71. package/ol/layers/Layer.test.d.ts.map +1 -0
  72. package/ol/layers/Layer.test.js +196 -0
  73. package/ol/layers/MapboxLayer.d.ts.map +1 -1
  74. package/ol/layers/MapboxLayer.js +4 -0
  75. package/ol/layers/MapboxLayer.test.d.ts +2 -0
  76. package/ol/layers/MapboxLayer.test.d.ts.map +1 -0
  77. package/ol/layers/MapboxLayer.test.js +164 -0
  78. package/ol/layers/MapboxStyleLayer.test.d.ts +2 -0
  79. package/ol/layers/MapboxStyleLayer.test.d.ts.map +1 -0
  80. package/ol/layers/MapboxStyleLayer.test.js +232 -0
  81. package/ol/layers/RealtimeLayer.test.d.ts +2 -0
  82. package/ol/layers/RealtimeLayer.test.d.ts.map +1 -0
  83. package/ol/layers/RealtimeLayer.test.js +71 -0
  84. package/ol/layers/RoutingLayer.test.d.ts +2 -0
  85. package/ol/layers/RoutingLayer.test.d.ts.map +1 -0
  86. package/ol/layers/RoutingLayer.test.js +39 -0
  87. package/ol/layers/VectorLayer.test.d.ts +2 -0
  88. package/ol/layers/VectorLayer.test.d.ts.map +1 -0
  89. package/ol/layers/VectorLayer.test.js +87 -0
  90. package/ol/layers/WMSLayer.test.d.ts +2 -0
  91. package/ol/layers/WMSLayer.test.d.ts.map +1 -0
  92. package/ol/layers/WMSLayer.test.js +66 -0
  93. package/package.json +12 -15
@@ -0,0 +1,204 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Map } from 'maplibre-gl';
11
+ import { toLonLat } from 'ol/proj';
12
+ import Layer from './Layer';
13
+ let map;
14
+ let mapElement;
15
+ describe('Layer', () => {
16
+ beforeEach(() => {
17
+ mapElement = document.createElement('div');
18
+ const { style } = mapElement;
19
+ style.position = 'absolute';
20
+ style.left = '0px';
21
+ style.top = '0px';
22
+ style.width = '400px';
23
+ style.height = '400px';
24
+ mapElement.setAttribute('id', 'map');
25
+ document.body.appendChild(mapElement);
26
+ map = new Map({
27
+ container: document.getElementById('map'),
28
+ style: `path/to/style`,
29
+ center: toLonLat([831634, 5933959]),
30
+ zoom: 9,
31
+ });
32
+ });
33
+ afterEach(() => {
34
+ document.body.removeChild(mapElement);
35
+ });
36
+ test('should initialize.', () => {
37
+ const layer = new Layer({ name: 'Layer' });
38
+ expect(layer).toBeInstanceOf(Layer);
39
+ });
40
+ test('should be visible by default.', () => {
41
+ const layer = new Layer({ name: 'Layer' });
42
+ expect(layer.visible).toBe(true);
43
+ });
44
+ test('should be invisible if defined.', () => {
45
+ const layer = new Layer({ name: 'Layer', visible: false });
46
+ expect(layer.visible).toBe(false);
47
+ });
48
+ test('should be invisible if set.', () => {
49
+ const layer = new Layer({ name: 'Layer' });
50
+ layer.visible = false;
51
+ expect(layer.visible).toBe(false);
52
+ });
53
+ test('should visibility stay unchanged', () => {
54
+ const layer = new Layer({ name: 'Layer', visible: false });
55
+ layer.visible = false;
56
+ expect(layer.visible).toBe(false);
57
+ });
58
+ test('should return its name.', () => {
59
+ const layer = new Layer({ name: 'Layer', visible: false });
60
+ expect(layer.name).toEqual('Layer');
61
+ });
62
+ test('should call terminate on initialization.', () => {
63
+ const layer = new Layer({ name: 'Layer' });
64
+ const spy = jest.spyOn(layer, 'detachFromMap');
65
+ layer.attachToMap(map);
66
+ expect(spy).toHaveBeenCalledTimes(1);
67
+ });
68
+ test('should listen for click/hover events when layer is visible by default then should not when hidden.', () => __awaiter(void 0, void 0, void 0, function* () {
69
+ global.console.error = jest.fn();
70
+ const layer = new Layer({ name: 'Layer' });
71
+ expect(layer.visible).toBe(true);
72
+ const spy = jest.fn();
73
+ const spy2 = jest.fn();
74
+ layer.onHover(spy);
75
+ layer.onClick(spy2);
76
+ layer.attachToMap(map);
77
+ expect(spy).toHaveBeenCalledTimes(0);
78
+ expect(spy2).toHaveBeenCalledTimes(0);
79
+ yield map.fire('mousemove', {
80
+ type: 'mousemove',
81
+ lngLat: { toArray: () => [0, 0] },
82
+ coordinate: [0, 0],
83
+ });
84
+ yield map.fire('click', {
85
+ type: 'click',
86
+ lngLat: { toArray: () => [0, 0] },
87
+ });
88
+ expect(spy).toHaveBeenCalledTimes(1);
89
+ expect(spy2).toHaveBeenCalledTimes(1);
90
+ spy.mockReset();
91
+ spy2.mockReset();
92
+ layer.visible = false;
93
+ yield map.fire('mousemove', {
94
+ type: 'mousemove',
95
+ lngLat: { toArray: () => [0, 0] },
96
+ });
97
+ yield map.fire('click', {
98
+ type: 'click',
99
+ lngLat: { toArray: () => [0, 0] },
100
+ });
101
+ expect(spy).toHaveBeenCalledTimes(0);
102
+ expect(spy2).toHaveBeenCalledTimes(0);
103
+ global.console.error.mockRestore();
104
+ }));
105
+ test('should not listen for click/hover events when layer is not visible by default then should not when visible.', () => __awaiter(void 0, void 0, void 0, function* () {
106
+ global.console.error = jest.fn();
107
+ const layer = new Layer({ name: 'Layer', visible: false });
108
+ expect(layer.visible).toBe(false);
109
+ const spy = jest.fn();
110
+ const spy2 = jest.fn();
111
+ layer.onHover(spy);
112
+ layer.onClick(spy2);
113
+ layer.attachToMap(map);
114
+ expect(spy).toHaveBeenCalledTimes(0);
115
+ expect(spy2).toHaveBeenCalledTimes(0);
116
+ yield map.fire('mousemove', {
117
+ type: 'mousemove',
118
+ lngLat: { toArray: () => [0, 0] },
119
+ coordinate: [0, 0],
120
+ });
121
+ yield map.fire('click', {
122
+ type: 'click',
123
+ lngLat: { toArray: () => [0, 0] },
124
+ });
125
+ expect(spy).toHaveBeenCalledTimes(0);
126
+ expect(spy2).toHaveBeenCalledTimes(0);
127
+ spy.mockReset();
128
+ spy2.mockReset();
129
+ layer.visible = true;
130
+ yield map.fire('mousemove', {
131
+ type: 'mousemove',
132
+ lngLat: { toArray: () => [0, 0] },
133
+ coordinate: [0, 0],
134
+ });
135
+ yield map.fire('click', {
136
+ type: 'click',
137
+ lngLat: { toArray: () => [0, 0] },
138
+ });
139
+ expect(spy).toHaveBeenCalledTimes(1);
140
+ expect(spy2).toHaveBeenCalledTimes(1);
141
+ global.console.error.mockRestore();
142
+ }));
143
+ test('should not listen for click/hover events after layer.detachFromMap()', () => __awaiter(void 0, void 0, void 0, function* () {
144
+ global.console.error = jest.fn();
145
+ const layer = new Layer({ name: 'Layer', visible: true });
146
+ expect(layer.visible).toBe(true);
147
+ const spy = jest.fn();
148
+ const spy2 = jest.fn();
149
+ const spy3 = jest.fn();
150
+ const spy4 = jest.fn();
151
+ layer.onHover(spy);
152
+ layer.onClick(spy2);
153
+ layer.attachToMap(map);
154
+ // Test event after attached to map
155
+ layer.onHover(spy3);
156
+ layer.onClick(spy4);
157
+ expect(spy).toHaveBeenCalledTimes(0);
158
+ expect(spy2).toHaveBeenCalledTimes(0);
159
+ expect(spy3).toHaveBeenCalledTimes(0);
160
+ expect(spy4).toHaveBeenCalledTimes(0);
161
+ yield map.fire('mousemove', {
162
+ type: 'mousemove',
163
+ lngLat: { toArray: () => [0, 0] },
164
+ coordinate: [0, 0],
165
+ });
166
+ yield map.fire('click', {
167
+ type: 'click',
168
+ lngLat: { toArray: () => [0, 0] },
169
+ });
170
+ expect(spy).toHaveBeenCalledTimes(1);
171
+ expect(spy2).toHaveBeenCalledTimes(1);
172
+ expect(spy3).toHaveBeenCalledTimes(1);
173
+ expect(spy4).toHaveBeenCalledTimes(1);
174
+ spy.mockReset();
175
+ spy2.mockReset();
176
+ spy3.mockReset();
177
+ spy4.mockReset();
178
+ layer.detachFromMap();
179
+ yield map.fire('mousemove', {
180
+ type: 'mousemove',
181
+ lngLat: { toArray: () => [0, 0] },
182
+ coordinate: [0, 0],
183
+ });
184
+ yield map.fire('click', {
185
+ type: 'click',
186
+ lngLat: { toArray: () => [0, 0] },
187
+ });
188
+ expect(spy).toHaveBeenCalledTimes(0);
189
+ expect(spy2).toHaveBeenCalledTimes(0);
190
+ expect(spy3).toHaveBeenCalledTimes(0);
191
+ expect(spy4).toHaveBeenCalledTimes(0);
192
+ global.console.error.mockRestore();
193
+ }));
194
+ test('should clone', () => {
195
+ const layer = new Layer({
196
+ name: 'Layer',
197
+ copyrights: ['bar'],
198
+ });
199
+ const clone = layer.clone({ name: 'clone' });
200
+ expect(clone).not.toBe(layer);
201
+ expect(clone.name).toBe('clone');
202
+ expect(clone).toBeInstanceOf(Layer);
203
+ });
204
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RealtimeLayer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeLayer.test.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/RealtimeLayer.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import RealtimeLayer from './RealtimeLayer';
2
+ let layer;
3
+ describe('RealtimeLayer', () => {
4
+ beforeEach(() => {
5
+ layer = new RealtimeLayer();
6
+ });
7
+ test('should be instanced.', () => {
8
+ expect(layer).toBeInstanceOf(RealtimeLayer);
9
+ });
10
+ });