forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTilesetsServiceSpec.js
More file actions
92 lines (86 loc) · 4.4 KB
/
TilesetsServiceSpec.js
File metadata and controls
92 lines (86 loc) · 4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import {TilesetsService} from '../../../src/common/iServer/TilesetsService';
import {FetchRequest} from '../../../src/common/util/FetchRequest';
var serviceFailedEventArgsSystem = null, serviceCompletedEventArgsSystem = null;
var initTilesetsService_Register = (url,analyzeCompleted,analyzeFailed) => {
return new TilesetsService(url,
{
eventListeners: {
"processCompleted": analyzeCompleted,
'processFailed': analyzeFailed
}
});
};
describe('TilesetsService', () => {
var originalTimeout;
beforeEach(() => {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
});
afterEach(() => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
it('headers', () => {
let myHeaders = new Headers();
var tilesetsService = new TilesetsService("http://supermap:8090/iserver/services/map-changchun/rest/maps/长春市区图", { headers: myHeaders });
expect(tilesetsService).not.toBeNull();
expect(tilesetsService.headers).not.toBeNull();
tilesetsService.destroy();
});
it('crossOrigin', () => {
var tilesetsService = new TilesetsService("http://supermap:8090/iserver/services/map-changchun/rest/maps/长春市区图", { crossOrigin: false });
expect(tilesetsService).not.toBeNull();
expect(tilesetsService.crossOrigin).toBeFalsy();
tilesetsService.destroy();
});
it('constructor, destroy', () => {
var tileSetsURL = "http://supermap:8090/iserver/services/map-changchun/rest/maps/长春市区图";
var analyzeFailed = (serviceFailedEventArgs) => {
serviceFailedEventArgsSystem = serviceFailedEventArgs;
};
var analyzeCompleted = (analyseCompletedEventArgs) => {
serviceCompletedEventArgsSystem = analyseCompletedEventArgs;
};
var tilesetsService = initTilesetsService_Register(tileSetsURL,analyzeCompleted,analyzeFailed);
tilesetsService.events.on({"processCompleted": analyzeCompleted});
expect(tilesetsService.url).toEqual(tileSetsURL);
expect(tilesetsService.CLASS_NAME).toBe("SuperMap.TilesetsService");
tilesetsService.destroy();
expect(tilesetsService.eventListeners).toBeNull();
expect(tilesetsService.EVENT_TYPES).toBeNull();
expect(tilesetsService.events).toBeNull();
});
//成功事件
it('processAsync_success', (done) => {
var tileSetsURL = "http://supermap:8090/iserver/services/map-changchun/rest/maps/长春市区图";
var analyzeFailed = (serviceFailedEventArgs) => {
serviceFailedEventArgsSystem = serviceFailedEventArgs;
};
var analyzeCompleted = (analyseCompletedEventArgs) => {
serviceCompletedEventArgsSystem = analyseCompletedEventArgs;
expect(serviceCompletedEventArgsSystem.type).toBe("processCompleted");
var analyseResult = serviceCompletedEventArgsSystem.result;
expect(analyseResult).not.toBeNull();
expect(analyseResult.succeed).toBeTruthy();
expect(analyseResult.length).toEqual(1);
expect(analyseResult[0].name).toBe("smtiles_tileset_1116742863");
expect(analyseResult[0].metaData.mapName).toBe("长春市区图");
expect(analyseResult[0].metaData.resolutions[0]).toEqual(34.80645971);
expect(analyseResult[0].metaData.resolutions[1]).toEqual(17.403229855);
expect(analyseResult[0].metaData.scaleDenominators[0]).toEqual(131551.9737070866);
expect(analyseResult[0].metaData.scaleDenominators[1]).toEqual(65775.9868535433);
expect(analyseResult[0].metaData.tileFormat).toBe("PNG");
expect(analyseResult[0].metaData.tileType).toBe("Image");
expect(analyseResult[0].metaData.tileHeight).toEqual(256);
expect(analyseResult[0].metaData.tileWidth).toEqual(256);
tilesetsService.destroy();
done();
};
var tilesetsService = initTilesetsService_Register(tileSetsURL,analyzeCompleted,analyzeFailed);
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params) => {
expect(method).toBe('GET');
expect(testUrl).toBe(tileSetsURL + "/tilesets");
return Promise.resolve(new Response(tilesetsEscapedJson));
});
tilesetsService.processAsync();
});
});