1
+ import { AddressMatchService } from '../../../src/openlayers/services/AddressMatchService' ;
2
+ import { GeoCodingParameter } from '../../../src/common/iServer/GeoCodingParameter' ;
3
+ import { GeoDecodingParameter } from '../../../src/common/iServer/GeoDecodingParameter' ;
4
+
5
+ var addressMatchURL = GlobeParameter . addressMatchURL ;
6
+ describe ( 'openlayers_AddressMatchService' , ( ) => {
7
+ var originaTimeout ;
8
+ beforeEach ( ( ) => {
9
+ originaTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
10
+ jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
11
+ } ) ;
12
+ afterEach ( ( ) => {
13
+ jasmine . DEFAULT_TIMEOUT_INTERVAL = originaTimeout ;
14
+ } ) ;
15
+ it ( 'constructor' , ( ) => {
16
+ var addressMatchService = new AddressMatchService ( addressMatchURL ) ;
17
+ expect ( addressMatchService ) . not . toBeNull ( ) ;
18
+ expect ( addressMatchService . url ) . toEqual ( addressMatchURL ) ;
19
+ expect ( addressMatchService . url ) . not . toBeNull ( ) ;
20
+ } ) ;
21
+
22
+ it ( 'code' , ( done ) => {
23
+ var codingFailedEventArgs = null , codingSuccessEventArgs = null ;
24
+ var codeCompleted = ( analyseEventArgs ) => {
25
+ codingSuccessEventArgs = analyseEventArgs ;
26
+ } ;
27
+ var codeFailed = ( serviceFailedEventArgs ) => {
28
+ codingFailedEventArgs = serviceFailedEventArgs ;
29
+ } ;
30
+ var options = {
31
+ eventListeners : { "processCompleted" : codeCompleted , "processFailed" : codeFailed }
32
+ } ;
33
+ var GeoCodingParams = new GeoCodingParameter ( {
34
+ address : '公司' ,
35
+ fromIndex : 0 ,
36
+ toIndex : 10 ,
37
+ filters : '北京市,海淀区' ,
38
+ prjCoordSys : '{epsgcode:4326}' ,
39
+ maxReturn : - 1
40
+ } ) ;
41
+ var addressCodeService = new AddressMatchService ( addressMatchURL , options ) ;
42
+ addressCodeService . code ( GeoCodingParams , codeCompleted ) ;
43
+ setTimeout ( ( ) => {
44
+ try {
45
+ expect ( addressCodeService ) . not . toBeNull ( ) ;
46
+ expect ( codingSuccessEventArgs ) . not . toBeNull ( ) ;
47
+ expect ( codingSuccessEventArgs . type ) . toBe ( 'processCompleted' ) ;
48
+ expect ( codingSuccessEventArgs . result ) . not . toBeNull ( ) ;
49
+ expect ( codingSuccessEventArgs . result . length ) . toBe ( 10 ) ;
50
+ GeoCodingParams . destroy ( ) ;
51
+ codingSuccessEventArgs = null ;
52
+ codingFailedEventArgs = null ;
53
+ done ( ) ;
54
+ } catch ( exception ) {
55
+ console . log ( "'code'案例失败:" + exception . name + ":" + exception . message ) ;
56
+ GeoCodingParams . destroy ( ) ;
57
+ codingFailedEventArgs = null ;
58
+ codingSuccessEventArgs = null ;
59
+ expect ( false ) . toBeTruthy ( ) ;
60
+ done ( ) ;
61
+ }
62
+ } , 5000 ) ;
63
+ } ) ;
64
+
65
+ it ( 'decode' , ( done ) => {
66
+ var decodingFailedEventArgs = null , decodingSuccessEventArgs = null ;
67
+ var decodeFailed = ( serviceFailedEventArgs ) => {
68
+ decodingFailedEventArgs = serviceFailedEventArgs ;
69
+ } ;
70
+ var decodeCompleted = ( analyseEventArgs ) => {
71
+ decodingSuccessEventArgs = analyseEventArgs ;
72
+ } ;
73
+ var GeoDeCodingParams = new GeoDecodingParameter ( {
74
+ x : 116.31740122415627 ,
75
+ y : 39.92311315752059 ,
76
+ fromIndex : 0 ,
77
+ toIndex : 5 ,
78
+ filters : '北京市,海淀区' ,
79
+ prjCoordSys : '{epsgcode:4326}' ,
80
+ maxReturn : - 1 ,
81
+ geoDecodingRadius : 500
82
+ } ) ;
83
+ var addressDeCodeService = new AddressMatchService ( addressMatchURL ) ;
84
+ addressDeCodeService . decode ( GeoDeCodingParams , decodeCompleted ) ;
85
+ setTimeout ( ( ) => {
86
+ try {
87
+ expect ( addressDeCodeService ) . not . toBeNull ( ) ;
88
+ expect ( decodingSuccessEventArgs ) . not . toBeNull ( ) ;
89
+ expect ( decodingSuccessEventArgs . type ) . toBe ( 'processCompleted' ) ;
90
+ expect ( decodingSuccessEventArgs . result ) . not . toBeNull ( ) ;
91
+ expect ( decodingSuccessEventArgs . result . length ) . toEqual ( 5 ) ;
92
+ GeoDeCodingParams . destroy ( ) ;
93
+ decodingFailedEventArgs = null ;
94
+ decodingSuccessEventArgs = null ;
95
+ done ( ) ;
96
+ } catch ( exception ) {
97
+ console . log ( "'decode'案例失败:" + exception . name + ":" + exception . message ) ;
98
+ GeoDeCodingParams . destroy ( ) ;
99
+ decodingFailedEventArgs = null ;
100
+ decodingSuccessEventArgs = null ;
101
+ expect ( false ) . toBeTruthy ( ) ;
102
+ done ( ) ;
103
+ }
104
+ } , 5000 ) ;
105
+ } ) ;
106
+ } ) ;
0 commit comments