Skip to content

Commit 5bfd3a6

Browse files
committed
失败原因:1 leaflet下的dataflowlayer会影响dataflowview 没找到原因 先在配置文件里调整下执行顺序
2.ol和,mapboxgl的ut释放资源方式写的有问题 review by songym
1 parent de8b5a5 commit 5bfd3a6

File tree

4 files changed

+44
-92
lines changed

4 files changed

+44
-92
lines changed

test/leaflet/overlay/DataFlowLayerSpec.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ describe('leaflet_DataFlowLayer', () => {
5959
service.destroy();
6060
}
6161
if (layer) {
62-
layer.remove();
62+
layer.onRemove(map);
63+
layer=null;
6364
}
6465
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
6566
});
@@ -73,7 +74,6 @@ describe('leaflet_DataFlowLayer', () => {
7374
xit('bug', () => {
7475
console.log('1、destroy分支走不进去');
7576
console.log('2、unBroadcast的if分支条件缺少!');
76-
console.log("3、setGeometry、setExcludeField方法报错:Failed to execute 'send' on 'WebSocket: Still in CONNECTING state'");
7777
});
7878

7979
it('broadcast_Point', (done) => {
@@ -89,7 +89,7 @@ describe('leaflet_DataFlowLayer', () => {
8989
};
9090
flowService.broadcast(feature);
9191
}
92-
var service;
92+
9393
var timer;
9494
try {
9595
layer = dataFlowLayer(urlDataFlow, {
@@ -105,7 +105,6 @@ describe('leaflet_DataFlowLayer', () => {
105105
layer.addTo(map);
106106
service = layer.dataService;
107107
spyOn(service.dataFlow, '_connect').and.callFake(() => {
108-
109108
return new WebSocket(urlDataFlow);
110109
});
111110

@@ -184,9 +183,6 @@ describe('leaflet_DataFlowLayer', () => {
184183
};
185184
flowService.broadcast(feature);
186185
}
187-
188-
189-
var service;
190186
var timer;
191187
try {
192188
layer = dataFlowLayer(urlDataFlow);
@@ -228,8 +224,6 @@ describe('leaflet_DataFlowLayer', () => {
228224
flowService.broadcast(feature);
229225
}
230226

231-
232-
var service;
233227
var timer;
234228
try {
235229
layer = dataFlowLayer(urlDataFlow);

test/mapboxgl/services/DataFlowServiceSpec.js

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,23 @@ var wsHost = "ws:\//" + "54.223.164.155:8800";
1010
var urlDataFlow = wsHost + "/iserver/services/dataflow/dataflow";
1111
describe('mapboxgl_DataFlowService', () => {
1212
var originalTimeout;
13+
var service;
1314
var token = "15xQ_l77895DvXHYKWPesuU7x0tenRLuYXgjxX4x_s51Wqh9qrQiLuLKudwWWm6vQVTXej2cXEQKcIcFAxxzOw..";
1415
beforeAll(() => {
1516
SecurityManager.registerToken(urlDataFlow, token);
1617
});
1718
beforeEach(() => {
1819
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
1920
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
21+
service=null;
2022

2123
});
2224
afterEach(() => {
2325
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
26+
if (service) {
27+
service.unSubscribe();
28+
service.unBroadcast();
29+
}
2430
});
2531

2632
/* it('initSubscribe', (done) => {
@@ -50,15 +56,15 @@ describe('mapboxgl_DataFlowService', () => {
5056
type: "Point"
5157
},
5258
id: 1,
53-
type: "Featur\e",
59+
type: "Feature",
5460
properties: {
5561
id: 1,
5662
time: new Date()
5763
}
5864
};
5965
flowService.broadcast(feature);
6066
}
61-
var service;
67+
6268
var timer;
6369
try {
6470
service = new DataFlowService(urlDataFlow);
@@ -79,10 +85,6 @@ describe('mapboxgl_DataFlowService', () => {
7985
if (timer) {
8086
window.clearInterval(timer);
8187
}
82-
if (service) {
83-
service.unSubscribe();
84-
service.unBroadcast();
85-
}
8688
}
8789
});
8890

@@ -107,7 +109,7 @@ describe('mapboxgl_DataFlowService', () => {
107109
flowService.broadcast(feature);
108110
}
109111

110-
var service;
112+
111113
var timer;
112114
try {
113115
service = new DataFlowService(urlDataFlow);
@@ -123,10 +125,7 @@ describe('mapboxgl_DataFlowService', () => {
123125
if (timer) {
124126
window.clearInterval(timer);
125127
}
126-
if (service) {
127-
service.unSubscribe();
128-
service.unBroadcast();
129-
}
128+
130129
}
131130
});
132131

@@ -154,7 +153,7 @@ describe('mapboxgl_DataFlowService', () => {
154153
flowService.broadcast(feature);
155154
}
156155

157-
var service;
156+
158157
var timer;
159158
try {
160159
service = new DataFlowService(urlDataFlow);
@@ -172,10 +171,6 @@ describe('mapboxgl_DataFlowService', () => {
172171
if (timer) {
173172
window.clearInterval(timer);
174173
}
175-
if (service) {
176-
service.unSubscribe();
177-
service.unBroadcast();
178-
}
179174
}
180175
});
181176

@@ -212,7 +207,7 @@ describe('mapboxgl_DataFlowService', () => {
212207
};
213208
flowService.broadcast(feature);
214209
}
215-
var service;
210+
216211
var timer;
217212
try {
218213
service = new DataFlowService(urlDataFlow);
@@ -230,10 +225,6 @@ describe('mapboxgl_DataFlowService', () => {
230225
if (timer) {
231226
window.clearInterval(timer);
232227
}
233-
if (service) {
234-
service.unSubscribe();
235-
service.unBroadcast();
236-
}
237228
}
238229
});
239230

test/openlayers/overlay/DataFlowSpec.js

Lines changed: 27 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ describe('ol_DataFlow', () => {
2525
var fill = new ol.style.Fill({
2626
color: 'rgba(255,0,0,0.9)'
2727
});
28+
var layer,service;
2829
beforeAll(() => {
2930
testDiv = window.document.createElement("div");
3031
testDiv.setAttribute("id", "map");
@@ -52,10 +53,19 @@ describe('ol_DataFlow', () => {
5253
beforeEach(() => {
5354
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
5455
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
56+
layer = null;
57+
service = null;
5558

5659
});
5760
afterEach(() => {
5861
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
62+
if (service) {
63+
service.unSubscribe();
64+
service.unBroadcast();
65+
}
66+
if (layer) {
67+
map.removeLayer(layer);
68+
}
5969
});
6070
afterAll(() => {
6171
window.document.body.removeChild(testDiv);
@@ -79,8 +89,8 @@ describe('ol_DataFlow', () => {
7989
flowService.broadcast(feature);
8090
}
8191

82-
var layer;
83-
var service;
92+
93+
8494
var timer;
8595
try {
8696
var layer = new ol.layer.Vector({
@@ -115,13 +125,7 @@ describe('ol_DataFlow', () => {
115125
if (timer) {
116126
window.clearInterval(timer);
117127
}
118-
if (service) {
119-
service.unSubscribe();
120-
service.unBroadcast();
121-
}
122-
if (layer) {
123-
map.removeLayer(layer);
124-
}
128+
125129
}
126130
});
127131

@@ -146,8 +150,8 @@ describe('ol_DataFlow', () => {
146150
flowService.broadcast(feature);
147151
}
148152

149-
var layer;
150-
var service;
153+
154+
151155
var timer;
152156
try {
153157
var layer = new ol.layer.Vector({
@@ -176,15 +180,7 @@ describe('ol_DataFlow', () => {
176180
if (timer) {
177181
window.clearInterval(timer);
178182
}
179-
if (service) {
180-
service.unSubscribe();
181-
service.unBroadcast();
182-
}
183-
if (layer) {
184-
map.removeLayer(layer);
185-
}
186-
187-
}
183+
}
188184
});
189185

190186
it('broadcast_Polygon', (done) => {
@@ -211,8 +207,8 @@ describe('ol_DataFlow', () => {
211207
flowService.broadcast(feature);
212208
}
213209

214-
var layer;
215-
var service;
210+
211+
216212
var timer;
217213
try {
218214
var layer = new ol.layer.Vector({
@@ -243,14 +239,7 @@ describe('ol_DataFlow', () => {
243239
if (timer) {
244240
window.clearInterval(timer);
245241
}
246-
if (service) {
247-
service.unSubscribe();
248-
service.unBroadcast();
249-
}
250-
if (layer) {
251-
map.removeLayer(layer);
252-
}
253-
242+
254243
}
255244
});
256245

@@ -288,8 +277,8 @@ describe('ol_DataFlow', () => {
288277
flowService.broadcast(feature);
289278
}
290279

291-
var layer;
292-
var service;
280+
281+
293282
var timer;
294283
try {
295284
var layer = new ol.layer.Vector({
@@ -320,27 +309,18 @@ describe('ol_DataFlow', () => {
320309
if (timer) {
321310
window.clearInterval(timer);
322311
}
323-
if (service) {
324-
service.unSubscribe();
325-
service.unBroadcast();
326-
}
327-
if (layer) {
328-
map.removeLayer(layer);
329312
}
330-
331-
}
332313
});
333314

334315
it('setExcludeField', (done) => {
335-
var layer;
336-
try {
316+
337317
var source = new ol.source.DataFlow({
338318
ws: urlDataFlow
339319
});
340-
source.on('subscribeSuccessed',(e) => {
320+
source.on('subscribeSuccessed', (e) => {
341321
source.setExcludeField("id");
342322
});
343-
323+
344324
var layer = new ol.layer.Vector({
345325
source: source,
346326
style: new ol.style.Style({
@@ -357,17 +337,10 @@ describe('ol_DataFlow', () => {
357337
expect(layer).not.toBeNull();
358338
done();
359339
}, 4000)
360-
} finally {
361-
if (layer) {
362-
map.removeLayer(layer);
363-
}
364-
365-
}
340+
366341
});
367342

368343
it('setGeometry', (done) => {
369-
var layer;
370-
try {
371344
var source = new ol.source.DataFlow({
372345
ws: urlDataFlow
373346
});
@@ -383,10 +356,10 @@ describe('ol_DataFlow', () => {
383356
],
384357
type: "Polygon"
385358
};
386-
source.on('subscribeSuccessed',(e) => {
359+
source.on('subscribeSuccessed', (e) => {
387360
source.setGeometry(geometry);
388361
});
389-
362+
390363
var layer = new ol.layer.Vector({
391364
source: source,
392365
style: new ol.style.Style({
@@ -403,12 +376,5 @@ describe('ol_DataFlow', () => {
403376
expect(layer).not.toBeNull();
404377
done();
405378
}, 4000)
406-
} finally {
407-
408-
if (layer) {
409-
map.removeLayer(layer);
410-
}
411-
412-
}
413379
});
414380
});

test/test-main-leaflet.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import './leaflet/mapping/TileLayer.WMTSSpec.js';
1313
import './leaflet/mapping/WebMapSpec.js';
1414

1515
/*leaflet -- overlay*/
16-
import './leaflet/overlay/DataFlowlayerSpec.js';
16+
1717
import './leaflet/overlay/EchartsLayerSpec.js';
1818
/*deck相关测试未通过,待解决后打开注释*/
1919
import './leaflet/overlay/graphic/GraphicSpec.js';
@@ -75,4 +75,5 @@ import './leaflet/widgets/distributedanalysis/DistributedAnalysisViewSpec.js';
7575
import './leaflet/widgets/clientcomputation/ClientComputationViewSpec.js';
7676
import './leaflet/widgets/search/SearchViewSpec.js';
7777
import './leaflet/widgets/dataflow/DataFlowViewSpec.js';
78+
import './leaflet/overlay/DataFlowlayerSpec.js';
7879

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy