@itwin/map-layers-formats 4.0.0-dev.1 → 4.0.0-dev.100

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 (181) hide show
  1. package/.rush/temp/operation/build/all.log +3 -0
  2. package/.rush/temp/operation/build/state.json +3 -0
  3. package/.rush/temp/operation/cover/all.log +98 -0
  4. package/.rush/temp/operation/cover/state.json +1 -1
  5. package/.rush/temp/operation/docs/all.log +30 -0
  6. package/.rush/temp/operation/docs/state.json +1 -1
  7. package/.rush/temp/{package-deps_build_ci.json → package-deps_build.json} +13 -13
  8. package/.rush/temp/package-deps_cover.json +12 -12
  9. package/.rush/temp/package-deps_docs.json +12 -12
  10. package/.rush/temp/shrinkwrap-deps.json +204 -54
  11. package/CHANGELOG.json +69 -0
  12. package/CHANGELOG.md +54 -1
  13. package/config/rush-project.json +1 -2
  14. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  15. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +14 -14
  16. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  17. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  18. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js +132 -134
  19. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  20. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  21. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +1 -1
  22. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +200 -205
  23. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  24. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  25. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  26. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +421 -426
  27. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  28. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  29. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  30. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +82 -82
  31. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  32. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +33 -33
  33. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  34. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +142 -142
  35. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  36. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  37. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js +42 -43
  38. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  39. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  40. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  41. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +189 -192
  42. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  43. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  44. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts.map +1 -1
  45. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js +2267 -2270
  46. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  47. package/lib/cjs/map-layers-formats.d.ts +8 -8
  48. package/lib/cjs/map-layers-formats.js +28 -24
  49. package/lib/cjs/map-layers-formats.js.map +1 -1
  50. package/lib/cjs/mapLayersFormats.d.ts +10 -10
  51. package/lib/cjs/mapLayersFormats.js +28 -28
  52. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  53. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +34 -34
  54. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  55. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +161 -161
  56. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  57. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +167 -167
  58. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  59. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +679 -680
  60. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  61. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  62. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +103 -103
  63. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  64. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +214 -214
  65. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  66. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +94 -94
  67. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  68. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  69. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +59 -59
  70. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +6 -6
  71. package/lib/cjs/test/ArcGisFeature/Mocks.js +18 -18
  72. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  73. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts.map +1 -1
  74. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +419 -419
  75. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  76. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  77. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +1 -1
  78. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +426 -426
  79. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  80. package/lib/cjs/test/coverage/.nyc_output/bd2a5894-ab2c-4c90-bfb9-f545c1f3c3ad.json +1 -0
  81. package/lib/cjs/test/coverage/.nyc_output/processinfo/b5a5c114-6a90-41f0-ad7b-9ba31cc9d9d3.json +1 -0
  82. package/lib/cjs/test/coverage/.nyc_output/processinfo/bd2a5894-ab2c-4c90-bfb9-f545c1f3c3ad.json +1 -0
  83. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +1 -1
  84. package/lib/cjs/test/coverage/cobertura-coverage.xml +229 -236
  85. package/lib/cjs/test/coverage/lcov-report/index.html +14 -14
  86. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +1 -1
  87. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +10 -10
  88. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +16 -22
  89. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +16 -28
  90. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +1 -1
  91. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +1 -1
  92. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +1 -1
  93. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +4 -4
  94. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +8 -8
  95. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +29 -29
  96. package/lib/cjs/test/coverage/lcov-report/src/index.html +1 -1
  97. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +1 -1
  98. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +1 -1
  99. package/lib/cjs/test/coverage/lcov.info +514 -697
  100. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  101. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  102. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +11 -10
  103. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  104. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  105. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js +128 -130
  106. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  107. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  108. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +1 -1
  109. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +196 -201
  110. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  111. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  112. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  113. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +418 -422
  114. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  115. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  116. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  117. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +78 -78
  118. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  119. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +29 -29
  120. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  121. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +138 -138
  122. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  123. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  124. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js +38 -39
  125. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  126. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  127. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  128. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +183 -185
  129. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  130. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  131. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts.map +1 -1
  132. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js +2264 -2267
  133. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  134. package/lib/esm/map-layers-formats.d.ts +8 -8
  135. package/lib/esm/map-layers-formats.js +12 -12
  136. package/lib/esm/mapLayersFormats.d.ts +10 -10
  137. package/lib/esm/mapLayersFormats.js +24 -24
  138. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  139. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +32 -32
  140. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  141. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +159 -159
  142. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  143. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +165 -165
  144. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  145. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +677 -678
  146. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  147. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  148. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +101 -101
  149. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  150. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +212 -212
  151. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  152. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +92 -92
  153. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  154. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  155. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +57 -57
  156. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +6 -6
  157. package/lib/esm/test/ArcGisFeature/Mocks.js +15 -15
  158. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  159. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts.map +1 -1
  160. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +416 -415
  161. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  162. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  163. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +1 -1
  164. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +423 -422
  165. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  166. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  167. package/lib/test/junit_results.xml +43 -43
  168. package/map-layers-formats.build.log +2 -2
  169. package/package.json +18 -19
  170. package/src/ArcGisFeature/ArcGisFeaturePBF.ts +3 -5
  171. package/src/ArcGisFeature/ArcGisFeatureProvider.ts +1 -5
  172. package/src/ArcGisFeature/esriPBuffer.gen.ts +1 -4
  173. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +21 -21
  174. package/src/test/ArcGisFeature/NewYorkDataset.ts +187 -187
  175. package/src/test/ArcGisFeature/PhillyLandmarksDataset.ts +4 -4
  176. package/tsconfig.json +1 -2
  177. package/.rush/temp/operation/build_ci/state.json +0 -3
  178. package/lib/cjs/test/coverage/.nyc_output/076f01d3-f97f-4be1-bb26-ced6ce465355.json +0 -1
  179. package/lib/cjs/test/coverage/.nyc_output/processinfo/076f01d3-f97f-4be1-bb26-ced6ce465355.json +0 -1
  180. package/lib/cjs/test/coverage/.nyc_output/processinfo/722f7ba4-f4d4-48f9-bd83-5d50f87f28e7.json +0 -1
  181. /package/lib/cjs/test/coverage/.nyc_output/{722f7ba4-f4d4-48f9-bd83-5d50f87f28e7.json → b5a5c114-6a90-41f0-ad7b-9ba31cc9d9d3.json} +0 -0
@@ -1,215 +1,215 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const chai_1 = require("chai");
8
- const sinon = require("sinon");
9
- const Mocks_1 = require("./Mocks");
10
- const ArcGisSymbologyRenderer_1 = require("../../ArcGisFeature/ArcGisSymbologyRenderer");
11
- const PhillyLandmarksDataset_1 = require("./PhillyLandmarksDataset");
12
- const ArcGisFeatureRenderer_1 = require("../../ArcGisFeature/ArcGisFeatureRenderer");
13
- const core_geometry_1 = require("@itwin/core-geometry");
14
- describe("ArcGisFeatureRenderer", () => {
15
- const sandbox = sinon.createSandbox();
16
- let beginPathSpy;
17
- let moveToSpy;
18
- let lineToSpy;
19
- let strokeSpy;
20
- let fillSpy;
21
- let closePathSpy;
22
- beforeEach(async () => {
23
- beginPathSpy = sandbox.spy(Mocks_1.fakeContext, "beginPath");
24
- moveToSpy = sandbox.spy(Mocks_1.fakeContext, "moveTo");
25
- lineToSpy = sandbox.spy(Mocks_1.fakeContext, "lineTo");
26
- strokeSpy = sandbox.spy(Mocks_1.fakeContext, "stroke");
27
- fillSpy = sandbox.spy(Mocks_1.fakeContext, "fill");
28
- closePathSpy = sandbox.spy(Mocks_1.fakeContext, "closePath");
29
- });
30
- afterEach(async () => {
31
- sandbox.restore();
32
- });
33
- it("should render simple path, stride = 2", async () => {
34
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
35
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
36
- const coords = [1, 2, 3, 4];
37
- const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
38
- const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
39
- renderer.renderPath([2], coords, false, 2, true);
40
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
41
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
42
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
43
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
44
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
45
- // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
46
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
47
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
48
- (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
49
- (0, chai_1.expect)(fillSpy.called).to.be.false;
50
- (0, chai_1.expect)(closePathSpy.called).to.be.false;
51
- (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.false;
52
- (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
53
- });
54
- it("should render simple filled path", async () => {
55
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
56
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
57
- const coords = [1, 2, 3, 4];
58
- const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
59
- const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
60
- renderer.renderPath([2], coords, true, 2, true);
61
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
62
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
63
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
64
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
65
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
66
- // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
67
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
68
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
69
- (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
70
- (0, chai_1.expect)(fillSpy.calledOnce).to.be.true;
71
- (0, chai_1.expect)(closePathSpy.calledOnce).to.be.true;
72
- (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.true;
73
- (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
74
- });
75
- it("should render simple Path, stride = 3", async () => {
76
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
77
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
78
- const coords = [1, 2, 3, 4, 5, 6];
79
- renderer.renderPath([2], coords, false, 3, true);
80
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
81
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
82
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
83
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
84
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
85
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[3]);
86
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[4]);
87
- (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
88
- (0, chai_1.expect)(fillSpy.called).to.be.false;
89
- (0, chai_1.expect)(closePathSpy.called).to.be.false;
90
- });
91
- it("should render multiple Paths, stride = 2", async () => {
92
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
93
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
94
- const coords = [1, 2, 3, 4];
95
- const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
96
- const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
97
- renderer.renderPath([2], coords, false, 2, true);
98
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
99
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
100
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
101
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
102
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
103
- // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
104
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
105
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
106
- (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
107
- (0, chai_1.expect)(fillSpy.called).to.be.false;
108
- (0, chai_1.expect)(closePathSpy.called).to.be.false;
109
- (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.false;
110
- (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
111
- });
112
- it("should not render invalid with stride value", async () => {
113
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
114
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
115
- const coords = [1, 2, 3, 4];
116
- renderer.renderPath([2], coords, false, 1, true);
117
- renderer.renderPath([2], coords, false, 4, true);
118
- renderer.renderPoint([2], coords, 1, true);
119
- renderer.renderPoint([2], coords, 4, true);
120
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.false;
121
- (0, chai_1.expect)(strokeSpy.calledOnce).to.be.false;
122
- (0, chai_1.expect)(fillSpy.called).to.be.false;
123
- (0, chai_1.expect)(closePathSpy.called).to.be.false;
124
- });
125
- it("should render Path and apply transform, relativeCoords OFF", async () => {
126
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
127
- const fakeOffset = 10;
128
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
129
- const coords = [1, 2, 3, 4];
130
- renderer.renderPath([2], coords, false, 2, false);
131
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
132
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
133
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0] + fakeOffset);
134
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1] + fakeOffset);
135
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
136
- // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
137
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[2] + fakeOffset);
138
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[3] + fakeOffset);
139
- });
140
- it("should render single Point, no transform, relativeCoords OFF", async () => {
141
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
142
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
143
- const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
144
- const coords = [1, 2];
145
- renderer.renderPoint([], coords, 2, false);
146
- (0, chai_1.expect)(drawPointStub.calledOnce).to.be.true;
147
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0]);
148
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1]);
149
- });
150
- it("should render single Point and apply transform, relativeCoords OFF", async () => {
151
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
152
- const fakeOffset = 10;
153
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
154
- const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
155
- const coords = [1, 2];
156
- renderer.renderPoint([], coords, 2, false);
157
- (0, chai_1.expect)(drawPointStub.calledOnce).to.be.true;
158
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
159
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
160
- });
161
- it("should render multi Point, transform, relativeCoords OFF", async () => {
162
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
163
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
164
- const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
165
- const coords = [1, 2, 3, 4];
166
- renderer.renderPoint([2], coords, 2, false);
167
- (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
168
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0]);
169
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1]);
170
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[2]);
171
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[3]);
172
- });
173
- it("should render multi Point and apply transform, relativeCoords OFF", async () => {
174
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
175
- const fakeOffset = 10;
176
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
177
- const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
178
- const coords = [1, 2, 3, 4];
179
- renderer.renderPoint([2], coords, 2, false);
180
- (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
181
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
182
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
183
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[2] + fakeOffset);
184
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[3] + fakeOffset);
185
- });
186
- it("should render multi Point and apply transform, relativeCoords ON", async () => {
187
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
188
- const fakeOffset = 10;
189
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
190
- const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
191
- const coords = [1, 2, 3, 4];
192
- renderer.renderPoint([2], coords, 2, true);
193
- (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
194
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
195
- (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
196
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[0] + coords[2] + fakeOffset);
197
- (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[1] + coords[3] + fakeOffset);
198
- });
199
- it("should render and apply transform, relativeCoords ON", async () => {
200
- const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
201
- const fakeOffset = 10;
202
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
203
- const coords = [1, 2, 3, 4];
204
- renderer.renderPath([2], coords, false, 2, true);
205
- (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
206
- (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
207
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0] + fakeOffset);
208
- (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1] + fakeOffset);
209
- (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
210
- // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
211
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2] + fakeOffset);
212
- (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3] + fakeOffset);
213
- });
214
- });
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chai_1 = require("chai");
8
+ const sinon = require("sinon");
9
+ const Mocks_1 = require("./Mocks");
10
+ const ArcGisSymbologyRenderer_1 = require("../../ArcGisFeature/ArcGisSymbologyRenderer");
11
+ const PhillyLandmarksDataset_1 = require("./PhillyLandmarksDataset");
12
+ const ArcGisFeatureRenderer_1 = require("../../ArcGisFeature/ArcGisFeatureRenderer");
13
+ const core_geometry_1 = require("@itwin/core-geometry");
14
+ describe("ArcGisFeatureRenderer", () => {
15
+ const sandbox = sinon.createSandbox();
16
+ let beginPathSpy;
17
+ let moveToSpy;
18
+ let lineToSpy;
19
+ let strokeSpy;
20
+ let fillSpy;
21
+ let closePathSpy;
22
+ beforeEach(async () => {
23
+ beginPathSpy = sandbox.spy(Mocks_1.fakeContext, "beginPath");
24
+ moveToSpy = sandbox.spy(Mocks_1.fakeContext, "moveTo");
25
+ lineToSpy = sandbox.spy(Mocks_1.fakeContext, "lineTo");
26
+ strokeSpy = sandbox.spy(Mocks_1.fakeContext, "stroke");
27
+ fillSpy = sandbox.spy(Mocks_1.fakeContext, "fill");
28
+ closePathSpy = sandbox.spy(Mocks_1.fakeContext, "closePath");
29
+ });
30
+ afterEach(async () => {
31
+ sandbox.restore();
32
+ });
33
+ it("should render simple path, stride = 2", async () => {
34
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
35
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
36
+ const coords = [1, 2, 3, 4];
37
+ const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
38
+ const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
39
+ renderer.renderPath([2], coords, false, 2, true);
40
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
41
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
42
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
43
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
44
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
45
+ // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
46
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
47
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
48
+ (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
49
+ (0, chai_1.expect)(fillSpy.called).to.be.false;
50
+ (0, chai_1.expect)(closePathSpy.called).to.be.false;
51
+ (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.false;
52
+ (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
53
+ });
54
+ it("should render simple filled path", async () => {
55
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
56
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
57
+ const coords = [1, 2, 3, 4];
58
+ const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
59
+ const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
60
+ renderer.renderPath([2], coords, true, 2, true);
61
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
62
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
63
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
64
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
65
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
66
+ // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
67
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
68
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
69
+ (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
70
+ (0, chai_1.expect)(fillSpy.calledOnce).to.be.true;
71
+ (0, chai_1.expect)(closePathSpy.calledOnce).to.be.true;
72
+ (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.true;
73
+ (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
74
+ });
75
+ it("should render simple Path, stride = 3", async () => {
76
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
77
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
78
+ const coords = [1, 2, 3, 4, 5, 6];
79
+ renderer.renderPath([2], coords, false, 3, true);
80
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
81
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
82
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
83
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
84
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
85
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[3]);
86
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[4]);
87
+ (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
88
+ (0, chai_1.expect)(fillSpy.called).to.be.false;
89
+ (0, chai_1.expect)(closePathSpy.called).to.be.false;
90
+ });
91
+ it("should render multiple Paths, stride = 2", async () => {
92
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
93
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
94
+ const coords = [1, 2, 3, 4];
95
+ const applyFillStyleSpy = sandbox.spy(symbolRenderer, "applyFillStyle");
96
+ const applyStrokeStyleSpy = sandbox.spy(symbolRenderer, "applyStrokeStyle");
97
+ renderer.renderPath([2], coords, false, 2, true);
98
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
99
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
100
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0]);
101
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1]);
102
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
103
+ // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
104
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2]);
105
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3]);
106
+ (0, chai_1.expect)(strokeSpy.calledOnce).to.be.true;
107
+ (0, chai_1.expect)(fillSpy.called).to.be.false;
108
+ (0, chai_1.expect)(closePathSpy.called).to.be.false;
109
+ (0, chai_1.expect)(applyFillStyleSpy.calledOnce).to.be.false;
110
+ (0, chai_1.expect)(applyStrokeStyleSpy.calledOnce).to.be.true;
111
+ });
112
+ it("should not render invalid with stride value", async () => {
113
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
114
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
115
+ const coords = [1, 2, 3, 4];
116
+ renderer.renderPath([2], coords, false, 1, true);
117
+ renderer.renderPath([2], coords, false, 4, true);
118
+ renderer.renderPoint([2], coords, 1, true);
119
+ renderer.renderPoint([2], coords, 4, true);
120
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.false;
121
+ (0, chai_1.expect)(strokeSpy.calledOnce).to.be.false;
122
+ (0, chai_1.expect)(fillSpy.called).to.be.false;
123
+ (0, chai_1.expect)(closePathSpy.called).to.be.false;
124
+ });
125
+ it("should render Path and apply transform, relativeCoords OFF", async () => {
126
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
127
+ const fakeOffset = 10;
128
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
129
+ const coords = [1, 2, 3, 4];
130
+ renderer.renderPath([2], coords, false, 2, false);
131
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
132
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
133
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0] + fakeOffset);
134
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1] + fakeOffset);
135
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
136
+ // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
137
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[2] + fakeOffset);
138
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[3] + fakeOffset);
139
+ });
140
+ it("should render single Point, no transform, relativeCoords OFF", async () => {
141
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
142
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
143
+ const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
144
+ const coords = [1, 2];
145
+ renderer.renderPoint([], coords, 2, false);
146
+ (0, chai_1.expect)(drawPointStub.calledOnce).to.be.true;
147
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0]);
148
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1]);
149
+ });
150
+ it("should render single Point and apply transform, relativeCoords OFF", async () => {
151
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
152
+ const fakeOffset = 10;
153
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
154
+ const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
155
+ const coords = [1, 2];
156
+ renderer.renderPoint([], coords, 2, false);
157
+ (0, chai_1.expect)(drawPointStub.calledOnce).to.be.true;
158
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
159
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
160
+ });
161
+ it("should render multi Point, transform, relativeCoords OFF", async () => {
162
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
163
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer);
164
+ const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
165
+ const coords = [1, 2, 3, 4];
166
+ renderer.renderPoint([2], coords, 2, false);
167
+ (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
168
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0]);
169
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1]);
170
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[2]);
171
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[3]);
172
+ });
173
+ it("should render multi Point and apply transform, relativeCoords OFF", async () => {
174
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
175
+ const fakeOffset = 10;
176
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
177
+ const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
178
+ const coords = [1, 2, 3, 4];
179
+ renderer.renderPoint([2], coords, 2, false);
180
+ (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
181
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
182
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
183
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[2] + fakeOffset);
184
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[3] + fakeOffset);
185
+ });
186
+ it("should render multi Point and apply transform, relativeCoords ON", async () => {
187
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryPoint", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimplePointDrawingInfo.drawingInfo.renderer);
188
+ const fakeOffset = 10;
189
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
190
+ const drawPointStub = sandbox.stub(ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.prototype, "drawPoint");
191
+ const coords = [1, 2, 3, 4];
192
+ renderer.renderPoint([2], coords, 2, true);
193
+ (0, chai_1.expect)(drawPointStub.getCalls().length).to.equals(2);
194
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[1]).to.equals(coords[0] + fakeOffset);
195
+ (0, chai_1.expect)(drawPointStub.getCalls()[0].args[2]).to.equals(coords[1] + fakeOffset);
196
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[1]).to.equals(coords[0] + coords[2] + fakeOffset);
197
+ (0, chai_1.expect)(drawPointStub.getCalls()[1].args[2]).to.equals(coords[1] + coords[3] + fakeOffset);
198
+ });
199
+ it("should render and apply transform, relativeCoords ON", async () => {
200
+ const symbolRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer("esriGeometryLine", PhillyLandmarksDataset_1.PhillyLandmarksDataset.phillySimpleLineDrawingInfo.drawingInfo.renderer);
201
+ const fakeOffset = 10;
202
+ const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(Mocks_1.fakeContext, symbolRenderer, core_geometry_1.Transform.createTranslation(core_geometry_1.Point3d.create(fakeOffset, fakeOffset)));
203
+ const coords = [1, 2, 3, 4];
204
+ renderer.renderPath([2], coords, false, 2, true);
205
+ (0, chai_1.expect)(beginPathSpy.calledOnce).to.be.true;
206
+ (0, chai_1.expect)(moveToSpy.calledOnce).to.be.true;
207
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[0]).to.equals(coords[0] + fakeOffset);
208
+ (0, chai_1.expect)(moveToSpy.getCalls()[0].args[1]).to.equals(coords[1] + fakeOffset);
209
+ (0, chai_1.expect)(lineToSpy.calledOnce).to.be.true;
210
+ // IMPORTANT: Only first coord is absolute, following coords are expressed relative to previous coord.
211
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[0]).to.equals(coords[0] + coords[2] + fakeOffset);
212
+ (0, chai_1.expect)(lineToSpy.getCalls()[0].args[1]).to.equals(coords[1] + coords[3] + fakeOffset);
213
+ });
214
+ });
215
215
  //# sourceMappingURL=ArcGisFeatureRenderer.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=ArcGisFeatureResponse.test.d.ts.map