@deck.gl/test-utils 9.3.0-alpha.3 → 9.3.0-alpha.6

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.
@@ -2,7 +2,6 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { LayerManager, MapView, DeckRenderer } from '@deck.gl/core';
5
- import { makeSpy } from '@probe.gl/test-utils';
6
5
  import { device } from "./utils/setup-gl.js";
7
6
  const testViewport = new MapView({}).makeViewport({
8
7
  width: 100,
@@ -51,17 +50,17 @@ export async function testInitializeLayerAsync(opts) {
51
50
  * Use `testLayerAsync` if the layer's update flow contains async operations.
52
51
  */
53
52
  export function testLayer(opts) {
54
- const { Layer, testCases = [], spies = [], onError = defaultOnError } = opts;
53
+ const { Layer, testCases = [], spies = [], onError = defaultOnError, createSpy, resetSpy } = opts;
55
54
  const resources = setupLayerTests(`testing ${Layer.layerName}`, opts);
56
55
  let layer = new Layer();
57
56
  // Run successive update tests
58
57
  for (const testCase of testCases) {
59
58
  // Save old state before update
60
59
  const oldState = { ...layer.state };
61
- const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies);
60
+ const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies, createSpy);
62
61
  runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
63
- // Remove spies
64
- Object.keys(spyMap).forEach(k => spyMap[k].reset());
62
+ // Reset spies between test cases
63
+ Object.keys(spyMap).forEach(k => resetSpy(spyMap[k]));
65
64
  layer = newLayer;
66
65
  }
67
66
  const error = cleanupAfterLayerTests(resources);
@@ -74,24 +73,25 @@ export function testLayer(opts) {
74
73
  * Each test case is awaited until the layer's isLoaded flag is true.
75
74
  */
76
75
  export async function testLayerAsync(opts) {
77
- const { Layer, testCases = [], spies = [], onError = defaultOnError } = opts;
76
+ const { Layer, testCases = [], spies = [], onError = defaultOnError, createSpy, resetSpy } = opts;
78
77
  const resources = setupLayerTests(`testing ${Layer.layerName}`, opts);
79
78
  let layer = new Layer();
80
79
  // Run successive update tests
81
80
  for (const testCase of testCases) {
82
81
  // Save old state before update
83
82
  const oldState = { ...layer.state };
84
- const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies);
83
+ const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies, createSpy);
85
84
  runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
86
85
  while (!newLayer.isLoaded) {
87
86
  await update(resources);
88
87
  runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
89
88
  }
90
- // Remove spies
91
- Object.keys(spyMap).forEach(k => spyMap[k].reset());
89
+ // Reset spies between test cases
90
+ Object.keys(spyMap).forEach(k => resetSpy(spyMap[k]));
92
91
  layer = newLayer;
93
92
  }
94
- const error = cleanupAfterLayerTests(resources);
93
+ // Use async cleanup to allow pending luma.gl async operations to complete
94
+ const error = await cleanupAfterLayerTestsAsync(resources);
95
95
  if (error) {
96
96
  onError(error, `${Layer.layerName} should delete all resources`);
97
97
  }
@@ -113,13 +113,23 @@ function cleanupAfterLayerTests({ layerManager, deckRenderer, oldResourceCounts
113
113
  layerManager.setLayers([]);
114
114
  layerManager.finalize();
115
115
  deckRenderer.finalize();
116
- const resourceCounts = getResourceCounts();
117
- for (const resourceName in resourceCounts) {
118
- if (resourceCounts[resourceName] !== oldResourceCounts[resourceName]) {
119
- return new Error(`${resourceCounts[resourceName] - oldResourceCounts[resourceName]} ${resourceName}s`);
120
- }
121
- }
122
- return null;
116
+ return getResourceCountDelta(oldResourceCounts);
117
+ }
118
+ /**
119
+ * Async cleanup that waits for pending async operations before finalizing resources.
120
+ * This prevents unhandled rejections from luma.gl's async shader error reporting
121
+ * which may try to access destroyed WebGL resources if cleanup happens too early.
122
+ */
123
+ async function cleanupAfterLayerTestsAsync({ layerManager, deckRenderer, oldResourceCounts }) {
124
+ layerManager.setLayers([]);
125
+ // Wait for any pending async operations (e.g., luma.gl's deferred shader compilation
126
+ // error handling) to complete before destroying resources. This prevents
127
+ // "getProgramInfoLog" errors when async error reporting tries to access
128
+ // already-destroyed WebGL programs.
129
+ await new Promise(resolve => setTimeout(resolve, 0));
130
+ layerManager.finalize();
131
+ deckRenderer.finalize();
132
+ return getResourceCountDelta(oldResourceCounts);
123
133
  }
124
134
  function getResourceCounts() {
125
135
  /* global luma */
@@ -129,11 +139,20 @@ function getResourceCounts() {
129
139
  Buffer: resourceStats.get('Buffers Active').count
130
140
  };
131
141
  }
132
- function injectSpies(layer, spies) {
142
+ function getResourceCountDelta(oldResourceCounts) {
143
+ const resourceCounts = getResourceCounts();
144
+ for (const resourceName in resourceCounts) {
145
+ if (resourceCounts[resourceName] !== oldResourceCounts[resourceName]) {
146
+ return new Error(`${resourceCounts[resourceName] - oldResourceCounts[resourceName]} ${resourceName}s`);
147
+ }
148
+ }
149
+ return null;
150
+ }
151
+ function injectSpies(layer, spies, spyFactory) {
133
152
  const spyMap = {};
134
153
  if (spies) {
135
154
  for (const functionName of spies) {
136
- spyMap[functionName] = makeSpy(Object.getPrototypeOf(layer), functionName);
155
+ spyMap[functionName] = spyFactory(Object.getPrototypeOf(layer), functionName);
137
156
  }
138
157
  }
139
158
  return spyMap;
@@ -157,7 +176,7 @@ function runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap) {
157
176
  });
158
177
  }
159
178
  }
160
- function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spies) {
179
+ function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spies, spyFactory) {
161
180
  const { props, updateProps, onBeforeUpdate, viewport = layerManager.context.viewport } = testCase;
162
181
  if (onBeforeUpdate) {
163
182
  onBeforeUpdate({ layer, testCase });
@@ -172,7 +191,7 @@ function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spi
172
191
  }
173
192
  // Create a map of spies that the test case can inspect
174
193
  spies = testCase.spies || spies;
175
- const spyMap = injectSpies(layer, spies);
194
+ const spyMap = injectSpies(layer, spies, spyFactory);
176
195
  const drawLayers = () => {
177
196
  deckRenderer.renderLayers({
178
197
  pass: 'test',
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-test.js","sourceRoot":"","sources":["../src/lifecycle-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-test.js","sourceRoot":"","sources":["../src/lifecycle-test.ts"],"names":[],"mappings":"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"}
package/dist/tape.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { testInitializeLayer, testInitializeLayerAsync } from "./lifecycle-test.js";
2
+ import type { Layer } from '@deck.gl/core';
3
+ import type { LayerClass, LayerTestCase, ResetSpy, SpyFactory, TestLayerOptions } from "./lifecycle-test.js";
4
+ export { testInitializeLayer, testInitializeLayerAsync };
5
+ export type { LayerClass, LayerTestCase, ResetSpy, SpyFactory };
6
+ /**
7
+ * Initialize and updates a layer over a sequence of scenarios (test cases).
8
+ * Use `testLayerAsync` if the layer's update flow contains async operations.
9
+ */
10
+ export declare function testLayer<LayerT extends Layer>(opts: Omit<TestLayerOptions<LayerT>, 'createSpy' | 'resetSpy'> & {
11
+ createSpy?: SpyFactory;
12
+ resetSpy?: ResetSpy;
13
+ }): void;
14
+ /**
15
+ * Initialize and updates a layer over a sequence of scenarios (test cases).
16
+ * Each test case is awaited until the layer's isLoaded flag is true.
17
+ */
18
+ export declare function testLayerAsync<LayerT extends Layer>(opts: Omit<TestLayerOptions<LayerT>, 'createSpy' | 'resetSpy'> & {
19
+ createSpy?: SpyFactory;
20
+ resetSpy?: ResetSpy;
21
+ }): Promise<void>;
22
+ //# sourceMappingURL=tape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tape.d.ts","sourceRoot":"","sources":["../src/tape.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,mBAAmB,EACnB,wBAAwB,EACzB,4BAAyB;AAC1B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,4BAAyB;AAE1B,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,CAAC;AACvD,YAAY,EAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;AAgC9D;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,KAAK,EAC5C,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACA,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,EACvD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAIf"}
package/dist/tape.js ADDED
@@ -0,0 +1,50 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ // Tape entry point - wraps lifecycle-test and adds @probe.gl/test-utils as the default spy factory
5
+ // For vitest users, use @deck.gl/test-utils/vitest which doesn't import probe.gl
6
+ import { makeSpy } from '@probe.gl/test-utils';
7
+ import { testLayer as testLayerCore, testLayerAsync as testLayerAsyncCore, testInitializeLayer, testInitializeLayerAsync } from "./lifecycle-test.js";
8
+ export { testInitializeLayer, testInitializeLayerAsync };
9
+ let _hasWarnedCreateSpy = false;
10
+ let _hasWarnedResetSpy = false;
11
+ function getDefaultSpyFactory() {
12
+ if (!_hasWarnedCreateSpy) {
13
+ _hasWarnedCreateSpy = true;
14
+ // eslint-disable-next-line no-console
15
+ console.warn('[@deck.gl/test-utils] Implicit @probe.gl/test-utils usage is deprecated. ' +
16
+ 'Pass createSpy option: createSpy: (obj, method) => vi.spyOn(obj, method) for vitest, ' +
17
+ 'or createSpy: makeSpy for probe.gl.');
18
+ }
19
+ return makeSpy;
20
+ }
21
+ /** Default reset for probe.gl spies - clears call tracking but keeps spy active */
22
+ function getDefaultResetSpy() {
23
+ if (!_hasWarnedResetSpy) {
24
+ _hasWarnedResetSpy = true;
25
+ // eslint-disable-next-line no-console
26
+ console.warn('[@deck.gl/test-utils] Implicit spy reset is deprecated. ' +
27
+ 'Pass resetSpy option: resetSpy: (spy) => spy.mockRestore() for vitest, ' +
28
+ 'or resetSpy: (spy) => spy.reset() for probe.gl.');
29
+ }
30
+ return spy => spy.reset();
31
+ }
32
+ /**
33
+ * Initialize and updates a layer over a sequence of scenarios (test cases).
34
+ * Use `testLayerAsync` if the layer's update flow contains async operations.
35
+ */
36
+ export function testLayer(opts) {
37
+ const createSpy = opts.createSpy || getDefaultSpyFactory();
38
+ const resetSpy = opts.resetSpy || getDefaultResetSpy();
39
+ testLayerCore({ ...opts, createSpy, resetSpy });
40
+ }
41
+ /**
42
+ * Initialize and updates a layer over a sequence of scenarios (test cases).
43
+ * Each test case is awaited until the layer's isLoaded flag is true.
44
+ */
45
+ export async function testLayerAsync(opts) {
46
+ const createSpy = opts.createSpy || getDefaultSpyFactory();
47
+ const resetSpy = opts.resetSpy || getDefaultResetSpy();
48
+ await testLayerAsyncCore({ ...opts, createSpy, resetSpy });
49
+ }
50
+ //# sourceMappingURL=tape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tape.js","sourceRoot":"","sources":["../src/tape.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,mGAAmG;AACnG,iFAAiF;AAEjF,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,EACnB,wBAAwB,EACzB,4BAAyB;AAU1B,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,CAAC;AAGvD,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,SAAS,oBAAoB;IAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,IAAI,CAAC;QAC3B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,2EAA2E;YACzE,uFAAuF;YACvF,qCAAqC,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,SAAS,kBAAkB;IACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,0DAA0D;YACxD,yEAAyE;YACzE,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAE,GAAkC,CAAC,KAAK,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,IAGC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAC;IACvD,aAAa,CAAC,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAGC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAC;IACvD,MAAM,kBAAkB,CAAC,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -111,7 +111,7 @@ export class TestRunner {
111
111
  const task = this.runTestCase(testCase);
112
112
  const timeoutTask = new Promise((_, reject) => {
113
113
  setTimeout(() => {
114
- reject('Timeout');
114
+ reject(`Timeout after ${timeout}ms`);
115
115
  }, timeout);
116
116
  });
117
117
  try {
@@ -119,8 +119,8 @@ export class TestRunner {
119
119
  await this.assert(testCase);
120
120
  }
121
121
  catch (err) {
122
- if (err === 'Timeout') {
123
- this.fail({ error: 'Timeout' });
122
+ if (typeof err === 'string' && err.startsWith('Timeout')) {
123
+ this.fail({ error: err });
124
124
  }
125
125
  }
126
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { WebGLDevice } from '@luma.gl/webgl';
2
1
  import { NullDevice } from '@luma.gl/test-utils';
3
- export declare const device: WebGLDevice | NullDevice;
2
+ export declare const device: import("@luma.gl/webgl").WebGLDevice | NullDevice;
4
3
  export declare const gl: number | WebGL2RenderingContext;
5
4
  //# sourceMappingURL=setup-gl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-gl.d.ts","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,MAAM,0BAAoC,CAAC;AACxD,eAAO,MAAM,EAAE,iCAAuB,CAAC"}
1
+ {"version":3,"file":"setup-gl.d.ts","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,MAAM,mDAAoC,CAAC;AACxD,eAAO,MAAM,EAAE,iCAAuB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { webglDevice, NullDevice } from '@luma.gl/test-utils';
5
+ // Use pre-created device from @luma.gl/test-utils, fall back to NullDevice in Node
5
6
  export const device = webglDevice || new NullDevice({});
6
7
  export const gl = webglDevice?.gl || 1;
7
8
  globalThis.glContext = globalThis.glContext || gl;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-gl.js","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"setup-gl.js","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC"}