MCPcopy Index your code
hub / github.com/visgl/deck.gl / runLayerTestUpdate

Function runLayerTestUpdate

modules/test-utils/src/lifecycle-test.ts:412–460  ·  view source on GitHub ↗
(
  testCase: LayerTestCase<LayerT>,
  {layerManager, deckRenderer}: TestResources,
  layer: LayerT,
  spies: string[],
  spyFactory: SpyFactory
)

Source from the content-addressed store, hash-verified

410}
411
412function runLayerTestUpdate<LayerT extends Layer>(
413 testCase: LayerTestCase<LayerT>,
414 {layerManager, deckRenderer}: TestResources,
415 layer: LayerT,
416 spies: string[],
417 spyFactory: SpyFactory
418): {
419 layer: LayerT;
420 spyMap: Record<string, Spy>;
421} {
422 const {props, updateProps, onBeforeUpdate, viewport = layerManager.context.viewport} = testCase;
423
424 if (onBeforeUpdate) {
425 onBeforeUpdate({layer, testCase});
426 }
427
428 if (props) {
429 // Test case can reset the props on every iteration
430 layer = new (layer.constructor as LayerClass<LayerT>)(props);
431 } else if (updateProps) {
432 // Test case can override with new props on every iteration
433 layer = layer.clone(updateProps);
434 }
435
436 // Create a map of spies that the test case can inspect
437 spies = testCase.spies || spies;
438 const spyMap = injectSpies(layer, spies, spyFactory);
439 const drawLayers = () => {
440 deckRenderer.renderLayers({
441 pass: 'test',
442 views: {},
443 effects: [],
444 viewports: [viewport],
445 layers: layerManager.getLayers(),
446 onViewportActive: layerManager.activateViewport
447 });
448 };
449
450 layerManager.setLayers([layer]);
451 drawLayers();
452
453 // clear update flags set by viewport change, if any
454 if (layerManager.needsUpdate()) {
455 layerManager.updateLayers();
456 drawLayers();
457 }
458
459 return {layer, spyMap};
460}
461
462/* global setTimeout */
463function update({layerManager, deckRenderer}: TestResources): Promise<void> {

Callers 2

testLayerFunction · 0.85
testLayerAsyncFunction · 0.85

Calls 7

injectSpiesFunction · 0.85
drawLayersFunction · 0.85
cloneMethod · 0.80
setLayersMethod · 0.80
onBeforeUpdateFunction · 0.70
needsUpdateMethod · 0.45
updateLayersMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…