quantumSkill

Untitled

Jul 3rd, 2022
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import type { ThinEngine } from '@babylonjs/core/Engines/thinEngine';
  2. import type { Effect } from '@babylonjs/core/Materials/effect';
  3.  
  4. import { CompositingStep } from '../CompositingStep';
  5. import { FrameStep } from './FrameStep';
  6.  
  7. jest.mock('@babylonjs/core/Engines/thinEngine');
  8. jest.mock('@babylonjs/core/Materials/effect');
  9.  
  10. describe('FrameStep', () => {
  11.   let canvas: HTMLCanvasElement,
  12.     engine: ThinEngine,
  13.     compositingStep: CompositingStep,
  14.     effect: Effect,
  15.     frameStep: FrameStep;
  16.  
  17.   const blankPNG =
  18.     'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzQ5MTNEODNDRTgxMTFFQTg0MzZEQTVDRTIwODNDMjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzQ5MTNEODRDRTgxMTFFQTg0MzZEQTVDRTIwODNDMjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NDkxM0Q4MUNFODExMUVBODQzNkRBNUNFMjA4M0MyNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NDkxM0Q4MkNFODExMUVBODQzNkRBNUNFMjA4M0MyNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpYHF7wAAAAXSURBVHjaYvz//z8DMmBiQAOEBQACDADGjgMF9n2kTgAAAABJRU5ErkJggg==';
  19.   const redPNG =
  20.     'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABNJREFUGFdj/M/A8J8BCTCSLgAAP70H/f9nx4kAAAAASUVORK5CYII=';
  21.  
  22.   beforeEach(() => {
  23.     canvas = document.createElement('canvas');
  24.     engine = new ThinEngine(canvas, false, {
  25.       premultipliedAlpha: false,
  26.       stencil: false,
  27.       disableWebGL2Support: false,
  28.     });
  29.     compositingStep = new CompositingStep();
  30.     compositingStep.setup({
  31.       engine,
  32.       frameURL: blankPNG,
  33.       boardURL: blankPNG,
  34.       backdropURL: blankPNG,
  35.       gradientURL: blankPNG,
  36.       lutURL: blankPNG,
  37.       blankURL: blankPNG,
  38.     });
  39.     effect = compositingStep.effect as unknown as Effect;
  40.     frameStep = new FrameStep();
  41.   });
  42.  
  43.   it('sets up correctly', async () => {
  44.     await frameStep.setup(engine, effect, redPNG, false);
  45.     expect(frameStep.isReady).toBe(true);
  46.   });
  47.  
  48.   it('allows use of animated frames', async () => {
  49.     expect(false).toBe(true);
  50.   });
  51.  
  52.   it('disposes everything correctly', () => {
  53.     expect(false).toBe(true);
  54.   });
  55. });
  56.  
Add Comment
Please, Sign In to add comment