@itwin/map-layers-formats 4.0.0-dev.6 → 4.0.0-dev.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/.rush/temp/operation/build_ci/state.json +1 -1
  2. package/.rush/temp/operation/cover/state.json +1 -1
  3. package/.rush/temp/operation/docs/state.json +1 -1
  4. package/.rush/temp/package-deps_build_ci.json +6 -6
  5. package/.rush/temp/package-deps_cover.json +6 -6
  6. package/.rush/temp/package-deps_docs.json +6 -6
  7. package/.rush/temp/shrinkwrap-deps.json +180 -22
  8. package/CHANGELOG.json +21 -0
  9. package/CHANGELOG.md +14 -1
  10. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  11. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +14 -14
  12. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  13. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  14. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js +132 -134
  15. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  16. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  17. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +200 -202
  18. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  19. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  20. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +421 -422
  21. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  22. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  23. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  24. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +82 -82
  25. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  26. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +33 -33
  27. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  28. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +142 -142
  29. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  30. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  31. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js +42 -43
  32. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  33. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  34. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  35. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +189 -192
  36. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  37. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  38. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js +2270 -2270
  39. package/lib/cjs/map-layers-formats.d.ts +8 -8
  40. package/lib/cjs/map-layers-formats.js +28 -24
  41. package/lib/cjs/map-layers-formats.js.map +1 -1
  42. package/lib/cjs/mapLayersFormats.d.ts +10 -10
  43. package/lib/cjs/mapLayersFormats.js +28 -28
  44. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  45. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +34 -34
  46. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  47. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +161 -161
  48. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  49. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +167 -167
  50. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  51. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +679 -680
  52. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  53. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  54. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +103 -103
  55. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  56. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +214 -214
  57. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  58. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +94 -94
  59. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  60. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  61. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +59 -59
  62. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +6 -6
  63. package/lib/cjs/test/ArcGisFeature/Mocks.js +18 -18
  64. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  65. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +419 -419
  66. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  67. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  68. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +426 -426
  69. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  70. package/lib/cjs/test/coverage/.nyc_output/ae426105-194e-4572-9484-bb85a67cb060.json +1 -0
  71. package/lib/cjs/test/coverage/.nyc_output/processinfo/0142841c-b031-4cfc-a1ec-a9e659227659.json +1 -0
  72. package/lib/cjs/test/coverage/.nyc_output/processinfo/ae426105-194e-4572-9484-bb85a67cb060.json +1 -0
  73. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +1 -1
  74. package/lib/cjs/test/coverage/cobertura-coverage.xml +72 -72
  75. package/lib/cjs/test/coverage/lcov-report/index.html +5 -5
  76. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +1 -1
  77. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +10 -10
  78. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +7 -7
  79. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +10 -10
  80. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +1 -1
  81. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +1 -1
  82. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +1 -1
  83. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +4 -4
  84. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +8 -8
  85. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +13 -13
  86. package/lib/cjs/test/coverage/lcov-report/src/index.html +1 -1
  87. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +1 -1
  88. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +1 -1
  89. package/lib/cjs/test/coverage/lcov.info +355 -531
  90. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  91. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  92. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +11 -10
  93. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  94. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  95. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js +128 -130
  96. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  97. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  98. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +196 -198
  99. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  100. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  101. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +418 -418
  102. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  103. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  104. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  105. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +78 -78
  106. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  107. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +29 -29
  108. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  109. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +138 -138
  110. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  111. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  112. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js +38 -39
  113. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  114. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  115. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  116. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +183 -185
  117. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  118. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  119. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js +2267 -2267
  120. package/lib/esm/map-layers-formats.d.ts +8 -8
  121. package/lib/esm/map-layers-formats.js +12 -12
  122. package/lib/esm/mapLayersFormats.d.ts +10 -10
  123. package/lib/esm/mapLayersFormats.js +24 -24
  124. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  125. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +32 -32
  126. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  127. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +159 -159
  128. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  129. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +165 -165
  130. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  131. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +677 -678
  132. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  133. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  134. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +101 -101
  135. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  136. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +212 -212
  137. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  138. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +92 -92
  139. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  140. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  141. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +57 -57
  142. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +6 -6
  143. package/lib/esm/test/ArcGisFeature/Mocks.js +15 -15
  144. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  145. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +416 -415
  146. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  147. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  148. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +423 -422
  149. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  150. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  151. package/lib/test/junit_results.xml +46 -46
  152. package/map-layers-formats.build.log +2 -2
  153. package/package.json +13 -13
  154. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +21 -21
  155. package/tsconfig.json +1 -2
  156. package/lib/cjs/test/coverage/.nyc_output/5c2897a9-bc6a-4e12-9b66-4c2a6ef8f467.json +0 -1
  157. package/lib/cjs/test/coverage/.nyc_output/processinfo/5c2897a9-bc6a-4e12-9b66-4c2a6ef8f467.json +0 -1
  158. package/lib/cjs/test/coverage/.nyc_output/processinfo/703fc6cd-b118-4918-beb4-7b470ccb986a.json +0 -1
  159. /package/lib/cjs/test/coverage/.nyc_output/{703fc6cd-b118-4918-beb4-7b470ccb986a.json → 0142841c-b031-4cfc-a1ec-a9e659227659.json} +0 -0
@@ -1,9 +1,9 @@
1
- export * from "./mapLayersFormats";
2
- export * from "./ArcGisFeature/ArcGisFeatureProvider";
3
- /** @docs-package-description
4
- * This package provides support for additional map layer formats that are not included in the @itwin/core-frontend package.
5
- */
6
- /** @docs-group-description MapLayersFormats
7
- * APIs for working with the map layer formats provided by this package.
8
- */
1
+ export * from "./mapLayersFormats";
2
+ export * from "./ArcGisFeature/ArcGisFeatureProvider";
3
+ /** @docs-package-description
4
+ * This package provides support for additional map layer formats that are not included in the @itwin/core-frontend package.
5
+ */
6
+ /** @docs-group-description MapLayersFormats
7
+ * APIs for working with the map layer formats provided by this package.
8
+ */
9
9
  //# sourceMappingURL=map-layers-formats.d.ts.map
@@ -1,13 +1,13 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- export * from "./mapLayersFormats";
6
- export * from "./ArcGisFeature/ArcGisFeatureProvider";
7
- /** @docs-package-description
8
- * This package provides support for additional map layer formats that are not included in the @itwin/core-frontend package.
9
- */
10
- /** @docs-group-description MapLayersFormats
11
- * APIs for working with the map layer formats provided by this package.
12
- */
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export * from "./mapLayersFormats";
6
+ export * from "./ArcGisFeature/ArcGisFeatureProvider";
7
+ /** @docs-package-description
8
+ * This package provides support for additional map layer formats that are not included in the @itwin/core-frontend package.
9
+ */
10
+ /** @docs-group-description MapLayersFormats
11
+ * APIs for working with the map layer formats provided by this package.
12
+ */
13
13
  //# sourceMappingURL=map-layers-formats.js.map
@@ -1,11 +1,11 @@
1
- /** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
2
- * @beta
3
- */
4
- export declare class MapLayersFormats {
5
- /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).
6
- * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
7
- * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
8
- */
9
- static initialize(): void;
10
- }
1
+ /** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
2
+ * @beta
3
+ */
4
+ export declare class MapLayersFormats {
5
+ /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).
6
+ * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
7
+ * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
8
+ */
9
+ static initialize(): void;
10
+ }
11
11
  //# sourceMappingURL=mapLayersFormats.d.ts.map
@@ -1,25 +1,25 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module MapLayersFormats
7
- */
8
- import { assert } from "@itwin/core-bentley";
9
- import { IModelApp } from "@itwin/core-frontend";
10
- import { ArcGisFeatureMapLayerFormat } from "./ArcGisFeature/ArcGisFeatureFormat";
11
- /** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
12
- * @beta
13
- */
14
- export class MapLayersFormats {
15
- /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).
16
- * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
17
- * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
18
- */
19
- static initialize() {
20
- assert(IModelApp.initialized, "MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown");
21
- if (IModelApp.initialized)
22
- IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureMapLayerFormat);
23
- }
24
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module MapLayersFormats
7
+ */
8
+ import { assert } from "@itwin/core-bentley";
9
+ import { IModelApp } from "@itwin/core-frontend";
10
+ import { ArcGisFeatureMapLayerFormat } from "./ArcGisFeature/ArcGisFeatureFormat";
11
+ /** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
12
+ * @beta
13
+ */
14
+ export class MapLayersFormats {
15
+ /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).
16
+ * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
17
+ * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
18
+ */
19
+ static initialize() {
20
+ assert(IModelApp.initialized, "MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown");
21
+ if (IModelApp.initialized)
22
+ IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureMapLayerFormat);
23
+ }
24
+ }
25
25
  //# sourceMappingURL=mapLayersFormats.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=ArcGisFeatureFeatureFormats.test.d.ts.map
@@ -1,33 +1,33 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { ImageMapLayerSettings } from "@itwin/core-common";
6
- import { ArcGisUtilities, MapLayerSourceStatus, } from "@itwin/core-frontend";
7
- import { expect } from "chai";
8
- import { ArcGisFeatureMapLayerFormat } from "../../ArcGisFeature/ArcGisFeatureFormat";
9
- import { esriFeatureSampleSource } from "./Mocks";
10
- import * as sinon from "sinon";
11
- describe("ArcGisFeaturePBF", () => {
12
- const sandbox = sinon.createSandbox();
13
- afterEach(async () => {
14
- sandbox.restore();
15
- });
16
- it("should createImageryProvider", async () => {
17
- const provider = ArcGisFeatureMapLayerFormat.createImageryProvider(ImageMapLayerSettings.fromJSON(esriFeatureSampleSource));
18
- expect(provider).to.not.undefined;
19
- });
20
- it("should validateSource", async () => {
21
- const fakeMethod = async (_url, _formatId, _filter, _userName, _password, _ignoreCache) => {
22
- return { status: MapLayerSourceStatus.Valid };
23
- };
24
- const validateSourceStub = sinon.stub(ArcGisUtilities, "validateSource").callsFake(fakeMethod);
25
- await ArcGisFeatureMapLayerFormat.validateSource(esriFeatureSampleSource.url);
26
- expect(validateSourceStub.calledOnce).to.be.true;
27
- const firstCall = validateSourceStub.getCalls()[0];
28
- expect(firstCall.args[0]).to.equals(esriFeatureSampleSource.url);
29
- expect(firstCall.args[1]).to.equals(ArcGisFeatureMapLayerFormat.formatId);
30
- expect(firstCall.args[2]).to.eqls(["query"]);
31
- });
32
- });
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { ImageMapLayerSettings } from "@itwin/core-common";
6
+ import { ArcGisUtilities, MapLayerSourceStatus, } from "@itwin/core-frontend";
7
+ import { expect } from "chai";
8
+ import { ArcGisFeatureMapLayerFormat } from "../../ArcGisFeature/ArcGisFeatureFormat";
9
+ import { esriFeatureSampleSource } from "./Mocks";
10
+ import * as sinon from "sinon";
11
+ describe("ArcGisFeaturePBF", () => {
12
+ const sandbox = sinon.createSandbox();
13
+ afterEach(async () => {
14
+ sandbox.restore();
15
+ });
16
+ it("should createImageryProvider", async () => {
17
+ const provider = ArcGisFeatureMapLayerFormat.createImageryProvider(ImageMapLayerSettings.fromJSON(esriFeatureSampleSource));
18
+ expect(provider).to.not.undefined;
19
+ });
20
+ it("should validateSource", async () => {
21
+ const fakeMethod = async (_url, _formatId, _filter, _userName, _password, _ignoreCache) => {
22
+ return { status: MapLayerSourceStatus.Valid };
23
+ };
24
+ const validateSourceStub = sinon.stub(ArcGisUtilities, "validateSource").callsFake(fakeMethod);
25
+ await ArcGisFeatureMapLayerFormat.validateSource(esriFeatureSampleSource.url);
26
+ expect(validateSourceStub.calledOnce).to.be.true;
27
+ const firstCall = validateSourceStub.getCalls()[0];
28
+ expect(firstCall.args[0]).to.equals(esriFeatureSampleSource.url);
29
+ expect(firstCall.args[1]).to.equals(ArcGisFeatureMapLayerFormat.formatId);
30
+ expect(firstCall.args[2]).to.eqls(["query"]);
31
+ });
32
+ });
33
33
  //# sourceMappingURL=ArcGisFeatureFeatureFormats.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=ArcGisFeatureJSON.test.d.ts.map
@@ -1,160 +1,160 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { Logger } from "@itwin/core-bentley";
6
- import { ImageMapLayerSettings } from "@itwin/core-common";
7
- import { expect } from "chai";
8
- import * as sinon from "sinon";
9
- import { ArcGisFeatureMapLayerFormat } from "../../ArcGisFeature/ArcGisFeatureFormat";
10
- import { ArcGisFeatureJSON } from "../../ArcGisFeature/ArcGisFeatureJSON";
11
- import { ArcGisFeatureRenderer } from "../../ArcGisFeature/ArcGisFeatureRenderer";
12
- import { ArcGisSymbologyRenderer } from "../../ArcGisFeature/ArcGisSymbologyRenderer";
13
- import { fakeContext } from "./Mocks";
14
- import { PhillyLandmarksDataset } from "./PhillyLandmarksDataset";
15
- const esriFeatureSampleSource = { name: "dummyFeatureLayer", url: "https://dummy.com", formatId: ArcGisFeatureMapLayerFormat.formatId };
16
- const createFeatureJSON = () => {
17
- const settings = ImageMapLayerSettings.fromJSON(esriFeatureSampleSource);
18
- const featurePbf = new ArcGisFeatureJSON(settings, { name: "SampleLayer" });
19
- // Locale configuration depends on the testing machine (i.e. linux vs windows),
20
- // so we need to force date display to Iso to get a consistent value.
21
- // In real scenario, we still want dates to be displayed in end-user's locale.
22
- featurePbf.forceDateDisplayValueToIso = true;
23
- return featurePbf;
24
- };
25
- describe("ArcGisFeatureJSON", () => {
26
- const sandbox = sinon.createSandbox();
27
- afterEach(async () => {
28
- sandbox.restore();
29
- });
30
- it("should read FeatureInfo in JSON (phillyTansportation)", async () => {
31
- const featureJson = createFeatureJSON();
32
- // In some cases, PBF gives more floating-point precision than JSON.
33
- // Since I want to use the same output reference for both formats, I force a max precision of 8.
34
- featureJson.floatPrecision = 8;
35
- const results = [];
36
- featureJson.readFeatureInfo({ data: PhillyLandmarksDataset.phillyTransportationGetFeatureInfoQueryJson, exceedTransferLimit: false }, results);
37
- expect(JSON.stringify(results)).equals(JSON.stringify(PhillyLandmarksDataset.phillyTansportationGetFeatureInfoResultRef));
38
- });
39
- it("should read FeatureInfo in JSON (phillyAirport)", async () => {
40
- const settings = ImageMapLayerSettings.fromJSON(esriFeatureSampleSource);
41
- const featureJson = new ArcGisFeatureJSON(settings, { name: "SampleLayer" });
42
- // In some cases, PBF gives more floating-point precision than JSON.
43
- // Since I want to use the same output reference for both formats, I force a max precision of 8.
44
- featureJson.floatPrecision = 8;
45
- const results = [];
46
- const data = JSON.parse(PhillyLandmarksDataset.phillyAirportGetFeatureInfoQueryJson);
47
- featureJson.readFeatureInfo({ data, exceedTransferLimit: false }, results);
48
- const _test = JSON.stringify(results);
49
- expect(_test).equals(JSON.stringify(PhillyLandmarksDataset.phillyAirportGetFeatureInfoResultRef));
50
- });
51
- it("should deflate coordinates array", async () => {
52
- // Simple deflate stride = 2
53
- let doubleArray = [[1, 2], [3, 4]];
54
- let deflated = [];
55
- let offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 2, 0);
56
- expect(offset).to.equals(4);
57
- expect(deflated).to.eql([1, 2, 3, 4]);
58
- /// Check offset with stride = 2
59
- doubleArray = [[5, 6]];
60
- offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 2, offset);
61
- expect(offset).to.equals(6);
62
- expect(deflated).to.eql([1, 2, 3, 4, 5, 6]);
63
- // Simple deflate stride = 3
64
- doubleArray = [[1, 2, 3], [4, 5, 6]];
65
- deflated = [];
66
- offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 3, 0);
67
- expect(offset).to.equals(6);
68
- expect(deflated).to.eql([1, 2, 3, 4, 5, 6]);
69
- /// Check offset with stride = 3
70
- doubleArray = [[7, 8, 9]];
71
- offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 3, offset);
72
- expect(offset).to.equals(9);
73
- expect(deflated).to.eql([1, 2, 3, 4, 5, 6, 7, 8, 9]);
74
- });
75
- it("should readAndRender single ring polygon feature", async () => {
76
- const featureJson = createFeatureJSON();
77
- const data = PhillyLandmarksDataset.phillySimplePolyQueryJson;
78
- const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePolyDrawingInfo.drawingInfo.renderer);
79
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
80
- const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
81
- featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
82
- expect(renderPathSpy.calledOnce);
83
- const firstCall = renderPathSpy.getCalls()[0];
84
- expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillySimplePolyQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
85
- expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillySimplePolyQueryPbf.queryResult.featureResult.features[0].geometry.coords); // geometryCoords
86
- expect(firstCall.args[2]).to.eql(true); // fill
87
- expect(firstCall.args[3]).to.eql(2); // stride
88
- });
89
- it("should readAndRender multiple ring polygon feature", async () => {
90
- const featureJson = createFeatureJSON();
91
- const data = PhillyLandmarksDataset.phillyDoubleRingPolyQueryJson;
92
- const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePolyDrawingInfo.drawingInfo.renderer);
93
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
94
- const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
95
- featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
96
- expect(renderPathSpy.calledOnce);
97
- const firstCall = renderPathSpy.getCalls()[0];
98
- expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillyDoubleRingPolyQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
99
- expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillyDoubleRingPolyQueryPbf.queryResult.featureResult.features[0].geometry.coords); // geometryCoords
100
- expect(firstCall.args[2]).to.eql(true); // fill
101
- expect(firstCall.args[3]).to.eql(2); // stride
102
- });
103
- it("should readAndRender simple path", async () => {
104
- const featureJson = createFeatureJSON();
105
- const data = PhillyLandmarksDataset.phillySimplePathQueryJson;
106
- const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
107
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
108
- const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
109
- featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
110
- expect(renderPathSpy.calledOnce);
111
- const geometryCoords = [360, 491, -2, -1, -1, 0, -1, 0, -1, 0, -1, 1, -4, 1, -10, 2, -15, 3, -1, 0, -1, 0, -2, 0, -1, 0, -1, 0, -1, -1, -1, 0, -2, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0];
112
- const firstCall = renderPathSpy.getCalls()[0];
113
- expect(firstCall.args[0]).to.eql([24]); // geometryLengths
114
- expect(firstCall.args[1]).to.eql(geometryCoords); // geometryCoords
115
- expect(firstCall.args[2]).to.eql(false); // fill
116
- expect(firstCall.args[3]).to.eql(2); // stride
117
- });
118
- it("should readAndRender multi path", async () => {
119
- const featureJson = createFeatureJSON();
120
- const data = PhillyLandmarksDataset.phillyMultiPathQueryJson;
121
- const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
122
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
123
- const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
124
- featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
125
- expect(renderPathSpy.calledOnce);
126
- // Pbf contains already the right output format expect, lets rely on that.
127
- const firstCall = renderPathSpy.getCalls()[0];
128
- expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillyMultiPathQueryPbf.queryResult.featureResult.features[0].geometry.lengths);
129
- expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillyMultiPathQueryPbf.queryResult.featureResult.features[0].geometry.coords);
130
- expect(firstCall.args[2]).to.eql(false); // fill
131
- expect(firstCall.args[3]).to.eql(2); // stride
132
- });
133
- it("should readAndRender simple point", async () => {
134
- const featureJson = createFeatureJSON();
135
- const data = PhillyLandmarksDataset.phillySimplePointQueryJson;
136
- const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
137
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
138
- const spy = sinon.spy(featureRenderer, "renderPoint");
139
- featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
140
- expect(spy.calledOnce);
141
- // Pbf contains already the right output format expect, lets rely on that.
142
- const geometryCoords = PhillyLandmarksDataset.phillySimplePointQueryPbf.queryResult.featureResult.features[0].geometry.coords;
143
- const firstCall = spy.getCalls()[0];
144
- expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillySimplePointQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
145
- expect(firstCall.args[1]).to.eql(geometryCoords); // geometryCoords
146
- expect(firstCall.args[2]).to.eql(2); // stride
147
- });
148
- it("should log error when readAndRender / readFeatureInfo is called invalid response Data", async () => {
149
- const featureJson = createFeatureJSON();
150
- const symbolRenderer = new ArcGisSymbologyRenderer("esriGeometryAny", PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
151
- const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
152
- const logErrorSpy = sandbox.spy(Logger, "logError");
153
- featureJson.readAndRender({ data: { test: "test" }, exceedTransferLimit: false }, featureRenderer);
154
- expect(logErrorSpy.calledOnce);
155
- logErrorSpy.resetHistory();
156
- featureJson.readFeatureInfo({ data: { test: "test" }, exceedTransferLimit: false }, []);
157
- expect(logErrorSpy.calledOnce);
158
- });
159
- });
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { Logger } from "@itwin/core-bentley";
6
+ import { ImageMapLayerSettings } from "@itwin/core-common";
7
+ import { expect } from "chai";
8
+ import * as sinon from "sinon";
9
+ import { ArcGisFeatureMapLayerFormat } from "../../ArcGisFeature/ArcGisFeatureFormat";
10
+ import { ArcGisFeatureJSON } from "../../ArcGisFeature/ArcGisFeatureJSON";
11
+ import { ArcGisFeatureRenderer } from "../../ArcGisFeature/ArcGisFeatureRenderer";
12
+ import { ArcGisSymbologyRenderer } from "../../ArcGisFeature/ArcGisSymbologyRenderer";
13
+ import { fakeContext } from "./Mocks";
14
+ import { PhillyLandmarksDataset } from "./PhillyLandmarksDataset";
15
+ const esriFeatureSampleSource = { name: "dummyFeatureLayer", url: "https://dummy.com", formatId: ArcGisFeatureMapLayerFormat.formatId };
16
+ const createFeatureJSON = () => {
17
+ const settings = ImageMapLayerSettings.fromJSON(esriFeatureSampleSource);
18
+ const featurePbf = new ArcGisFeatureJSON(settings, { name: "SampleLayer" });
19
+ // Locale configuration depends on the testing machine (i.e. linux vs windows),
20
+ // so we need to force date display to Iso to get a consistent value.
21
+ // In real scenario, we still want dates to be displayed in end-user's locale.
22
+ featurePbf.forceDateDisplayValueToIso = true;
23
+ return featurePbf;
24
+ };
25
+ describe("ArcGisFeatureJSON", () => {
26
+ const sandbox = sinon.createSandbox();
27
+ afterEach(async () => {
28
+ sandbox.restore();
29
+ });
30
+ it("should read FeatureInfo in JSON (phillyTansportation)", async () => {
31
+ const featureJson = createFeatureJSON();
32
+ // In some cases, PBF gives more floating-point precision than JSON.
33
+ // Since I want to use the same output reference for both formats, I force a max precision of 8.
34
+ featureJson.floatPrecision = 8;
35
+ const results = [];
36
+ featureJson.readFeatureInfo({ data: PhillyLandmarksDataset.phillyTransportationGetFeatureInfoQueryJson, exceedTransferLimit: false }, results);
37
+ expect(JSON.stringify(results)).equals(JSON.stringify(PhillyLandmarksDataset.phillyTansportationGetFeatureInfoResultRef));
38
+ });
39
+ it("should read FeatureInfo in JSON (phillyAirport)", async () => {
40
+ const settings = ImageMapLayerSettings.fromJSON(esriFeatureSampleSource);
41
+ const featureJson = new ArcGisFeatureJSON(settings, { name: "SampleLayer" });
42
+ // In some cases, PBF gives more floating-point precision than JSON.
43
+ // Since I want to use the same output reference for both formats, I force a max precision of 8.
44
+ featureJson.floatPrecision = 8;
45
+ const results = [];
46
+ const data = JSON.parse(PhillyLandmarksDataset.phillyAirportGetFeatureInfoQueryJson);
47
+ featureJson.readFeatureInfo({ data, exceedTransferLimit: false }, results);
48
+ const _test = JSON.stringify(results);
49
+ expect(_test).equals(JSON.stringify(PhillyLandmarksDataset.phillyAirportGetFeatureInfoResultRef));
50
+ });
51
+ it("should deflate coordinates array", async () => {
52
+ // Simple deflate stride = 2
53
+ let doubleArray = [[1, 2], [3, 4]];
54
+ let deflated = [];
55
+ let offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 2, 0);
56
+ expect(offset).to.equals(4);
57
+ expect(deflated).to.eql([1, 2, 3, 4]);
58
+ /// Check offset with stride = 2
59
+ doubleArray = [[5, 6]];
60
+ offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 2, offset);
61
+ expect(offset).to.equals(6);
62
+ expect(deflated).to.eql([1, 2, 3, 4, 5, 6]);
63
+ // Simple deflate stride = 3
64
+ doubleArray = [[1, 2, 3], [4, 5, 6]];
65
+ deflated = [];
66
+ offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 3, 0);
67
+ expect(offset).to.equals(6);
68
+ expect(deflated).to.eql([1, 2, 3, 4, 5, 6]);
69
+ /// Check offset with stride = 3
70
+ doubleArray = [[7, 8, 9]];
71
+ offset = ArcGisFeatureJSON.deflateCoordinates(doubleArray, deflated, 3, offset);
72
+ expect(offset).to.equals(9);
73
+ expect(deflated).to.eql([1, 2, 3, 4, 5, 6, 7, 8, 9]);
74
+ });
75
+ it("should readAndRender single ring polygon feature", async () => {
76
+ const featureJson = createFeatureJSON();
77
+ const data = PhillyLandmarksDataset.phillySimplePolyQueryJson;
78
+ const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePolyDrawingInfo.drawingInfo.renderer);
79
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
80
+ const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
81
+ featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
82
+ expect(renderPathSpy.calledOnce);
83
+ const firstCall = renderPathSpy.getCalls()[0];
84
+ expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillySimplePolyQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
85
+ expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillySimplePolyQueryPbf.queryResult.featureResult.features[0].geometry.coords); // geometryCoords
86
+ expect(firstCall.args[2]).to.eql(true); // fill
87
+ expect(firstCall.args[3]).to.eql(2); // stride
88
+ });
89
+ it("should readAndRender multiple ring polygon feature", async () => {
90
+ const featureJson = createFeatureJSON();
91
+ const data = PhillyLandmarksDataset.phillyDoubleRingPolyQueryJson;
92
+ const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePolyDrawingInfo.drawingInfo.renderer);
93
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
94
+ const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
95
+ featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
96
+ expect(renderPathSpy.calledOnce);
97
+ const firstCall = renderPathSpy.getCalls()[0];
98
+ expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillyDoubleRingPolyQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
99
+ expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillyDoubleRingPolyQueryPbf.queryResult.featureResult.features[0].geometry.coords); // geometryCoords
100
+ expect(firstCall.args[2]).to.eql(true); // fill
101
+ expect(firstCall.args[3]).to.eql(2); // stride
102
+ });
103
+ it("should readAndRender simple path", async () => {
104
+ const featureJson = createFeatureJSON();
105
+ const data = PhillyLandmarksDataset.phillySimplePathQueryJson;
106
+ const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
107
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
108
+ const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
109
+ featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
110
+ expect(renderPathSpy.calledOnce);
111
+ const geometryCoords = [360, 491, -2, -1, -1, 0, -1, 0, -1, 0, -1, 1, -4, 1, -10, 2, -15, 3, -1, 0, -1, 0, -2, 0, -1, 0, -1, 0, -1, -1, -1, 0, -2, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0];
112
+ const firstCall = renderPathSpy.getCalls()[0];
113
+ expect(firstCall.args[0]).to.eql([24]); // geometryLengths
114
+ expect(firstCall.args[1]).to.eql(geometryCoords); // geometryCoords
115
+ expect(firstCall.args[2]).to.eql(false); // fill
116
+ expect(firstCall.args[3]).to.eql(2); // stride
117
+ });
118
+ it("should readAndRender multi path", async () => {
119
+ const featureJson = createFeatureJSON();
120
+ const data = PhillyLandmarksDataset.phillyMultiPathQueryJson;
121
+ const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
122
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
123
+ const renderPathSpy = sinon.spy(featureRenderer, "renderPath");
124
+ featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
125
+ expect(renderPathSpy.calledOnce);
126
+ // Pbf contains already the right output format expect, lets rely on that.
127
+ const firstCall = renderPathSpy.getCalls()[0];
128
+ expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillyMultiPathQueryPbf.queryResult.featureResult.features[0].geometry.lengths);
129
+ expect(firstCall.args[1]).to.eql(PhillyLandmarksDataset.phillyMultiPathQueryPbf.queryResult.featureResult.features[0].geometry.coords);
130
+ expect(firstCall.args[2]).to.eql(false); // fill
131
+ expect(firstCall.args[3]).to.eql(2); // stride
132
+ });
133
+ it("should readAndRender simple point", async () => {
134
+ const featureJson = createFeatureJSON();
135
+ const data = PhillyLandmarksDataset.phillySimplePointQueryJson;
136
+ const symbolRenderer = new ArcGisSymbologyRenderer(data.geometryType, PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
137
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
138
+ const spy = sinon.spy(featureRenderer, "renderPoint");
139
+ featureJson.readAndRender({ data, exceedTransferLimit: false }, featureRenderer);
140
+ expect(spy.calledOnce);
141
+ // Pbf contains already the right output format expect, lets rely on that.
142
+ const geometryCoords = PhillyLandmarksDataset.phillySimplePointQueryPbf.queryResult.featureResult.features[0].geometry.coords;
143
+ const firstCall = spy.getCalls()[0];
144
+ expect(firstCall.args[0]).to.eql(PhillyLandmarksDataset.phillySimplePointQueryPbf.queryResult.featureResult.features[0].geometry.lengths); // geometryLengths
145
+ expect(firstCall.args[1]).to.eql(geometryCoords); // geometryCoords
146
+ expect(firstCall.args[2]).to.eql(2); // stride
147
+ });
148
+ it("should log error when readAndRender / readFeatureInfo is called invalid response Data", async () => {
149
+ const featureJson = createFeatureJSON();
150
+ const symbolRenderer = new ArcGisSymbologyRenderer("esriGeometryAny", PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
151
+ const featureRenderer = new ArcGisFeatureRenderer(fakeContext, symbolRenderer);
152
+ const logErrorSpy = sandbox.spy(Logger, "logError");
153
+ featureJson.readAndRender({ data: { test: "test" }, exceedTransferLimit: false }, featureRenderer);
154
+ expect(logErrorSpy.calledOnce);
155
+ logErrorSpy.resetHistory();
156
+ featureJson.readFeatureInfo({ data: { test: "test" }, exceedTransferLimit: false }, []);
157
+ expect(logErrorSpy.calledOnce);
158
+ });
159
+ });
160
160
  //# sourceMappingURL=ArcGisFeatureJSON.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=ArcGisFeaturePBF.test.d.ts.map