@@ -19,6 +19,7 @@ import {
19
19
import Overlay from 'ol/Overlay' ;
20
20
import * as olControl from 'ol/control' ;
21
21
import Feature from 'ol/Feature' ;
22
+ import * as olProj from 'ol/proj' ;
22
23
23
24
describe ( 'openlayers_WebMap' , ( ) => {
24
25
var originalTimeout , testDiv , webMap ;
@@ -1032,4 +1033,53 @@ describe('openlayers_WebMap', () => {
1032
1033
done ( ) ;
1033
1034
} , 1000 )
1034
1035
} )
1036
+
1037
+ it ( 'getScales EPSG:1' , ( done ) => {
1038
+ //第二次请求wmts参数值太大
1039
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1040
+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1041
+ var mapJson = datavizWebMap_WMTS ;
1042
+ return Promise . resolve ( new Response ( mapJson ) ) ;
1043
+ }
1044
+ return Promise . resolve ( ) ;
1045
+ } ) ;
1046
+ let proj = new olProj . Projection ( {
1047
+ units : '' ,
1048
+ code : 'EPSG:1'
1049
+ } ) ;
1050
+ olProj . addProjection ( proj ) ;
1051
+ var datavizWebmap = new WebMap ( id , { } ) ;
1052
+ var layerInfo = JSON . parse ( wmtsInfo ) ;
1053
+ datavizWebmap . baseProjection = 'EPSG:1' ;
1054
+ datavizWebmap . getScales ( { ...layerInfo , projection :'EPSG:1' } ) ;
1055
+
1056
+ setTimeout ( ( ) => {
1057
+ expect ( datavizWebmap . scales [ 0 ] ) . toBe ( '1:65789415978977.37' ) ;
1058
+ done ( ) ;
1059
+ } , 1000 ) ;
1060
+ } ) ;
1061
+ it ( 'getScales EPSG:3857' , ( done ) => {
1062
+ //第二次请求wmts参数值太大
1063
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1064
+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1065
+ var mapJson = datavizWebMap_WMTS ;
1066
+ return Promise . resolve ( new Response ( mapJson ) ) ;
1067
+ }
1068
+ return Promise . resolve ( ) ;
1069
+ } ) ;
1070
+ let proj = new olProj . Projection ( {
1071
+ units : '' ,
1072
+ code : 'EPSG:1'
1073
+ } ) ;
1074
+ olProj . addProjection ( proj ) ;
1075
+ var datavizWebmap = new WebMap ( id , { } ) ;
1076
+ var layerInfo = JSON . parse ( wmtsInfo ) ;
1077
+ datavizWebmap . baseProjection = 'EPSG:3857' ;
1078
+ datavizWebmap . getScales ( { ...layerInfo , projection :'EPSG:1' } ) ;
1079
+
1080
+ setTimeout ( ( ) => {
1081
+ expect ( datavizWebmap . scales [ 0 ] ) . toBe ( '1:591658710.9091312' ) ;
1082
+ done ( ) ;
1083
+ } , 1000 ) ;
1084
+ } ) ;
1035
1085
} ) ;
0 commit comments