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)