1cb93a386Sopenharmony_ci// The increased timeout is especially needed with larger binaries 2cb93a386Sopenharmony_ci// like in the debug/gpu build 3cb93a386Sopenharmony_cijasmine.DEFAULT_TIMEOUT_INTERVAL = 20000; 4cb93a386Sopenharmony_ci 5cb93a386Sopenharmony_cidescribe('Debugger\'s Startup Behavior', function() { 6cb93a386Sopenharmony_ci let container = document.createElement('div'); 7cb93a386Sopenharmony_ci document.body.appendChild(container); 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_ci beforeEach(function() { 10cb93a386Sopenharmony_ci container.innerHTML = `<canvas id=debugger_view width=720 height=1280></canvas>`; 11cb93a386Sopenharmony_ci }); 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ci afterEach(function() { 14cb93a386Sopenharmony_ci container.innerHTML = ''; 15cb93a386Sopenharmony_ci }); 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_ci it('can load and draw a skp file on an Canvas2D', function(done) { 18cb93a386Sopenharmony_ci LoadDebugger.then(catchException(done, () => { 19cb93a386Sopenharmony_ci const surface = Debugger.MakeSWCanvasSurface(document.getElementById('debugger_view')); 20cb93a386Sopenharmony_ci 21cb93a386Sopenharmony_ci fetch('/debugger/sample.skp').then(function(response) { 22cb93a386Sopenharmony_ci // Load test file 23cb93a386Sopenharmony_ci if (!response.ok) { 24cb93a386Sopenharmony_ci throw new Error("HTTP error, status = " + response.status); 25cb93a386Sopenharmony_ci } 26cb93a386Sopenharmony_ci response.arrayBuffer().then(function(buffer) { 27cb93a386Sopenharmony_ci const fileContents = new Uint8Array(buffer); 28cb93a386Sopenharmony_ci console.log('fetched /debugger/sample.skp'); 29cb93a386Sopenharmony_ci const player = Debugger.SkpFilePlayer(fileContents); 30cb93a386Sopenharmony_ci // Draw picture 31cb93a386Sopenharmony_ci player.drawTo(surface, 789); // number of commands in sample file 32cb93a386Sopenharmony_ci surface.flush(); 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_ci console.log('drew picture to canvas element'); 35cb93a386Sopenharmony_ci surface.dispose(); 36cb93a386Sopenharmony_ci done(); 37cb93a386Sopenharmony_ci }); 38cb93a386Sopenharmony_ci }); 39cb93a386Sopenharmony_ci })); 40cb93a386Sopenharmony_ci }); 41cb93a386Sopenharmony_ci 42cb93a386Sopenharmony_ci it('can load and draw a skp file on a Web GL canvas', function(done) { 43cb93a386Sopenharmony_ci LoadDebugger.then(catchException(done, () => { 44cb93a386Sopenharmony_ci const surface = Debugger.MakeWebGLCanvasSurface( 45cb93a386Sopenharmony_ci document.getElementById('debugger_view')); 46cb93a386Sopenharmony_ci 47cb93a386Sopenharmony_ci fetch('/debugger/sample.skp').then(function(response) { 48cb93a386Sopenharmony_ci // Load test file 49cb93a386Sopenharmony_ci if (!response.ok) { 50cb93a386Sopenharmony_ci throw new Error("HTTP error, status = " + response.status); 51cb93a386Sopenharmony_ci } 52cb93a386Sopenharmony_ci response.arrayBuffer().then(function(buffer) { 53cb93a386Sopenharmony_ci const fileContents = new Uint8Array(buffer); 54cb93a386Sopenharmony_ci console.log('fetched /debugger/sample.skp'); 55cb93a386Sopenharmony_ci const player = Debugger.SkpFilePlayer(fileContents); 56cb93a386Sopenharmony_ci // Draw picture 57cb93a386Sopenharmony_ci player.drawTo(surface, 789); // number of commands in sample file 58cb93a386Sopenharmony_ci surface.flush(); 59cb93a386Sopenharmony_ci 60cb93a386Sopenharmony_ci console.log('drew picture to canvas element'); 61cb93a386Sopenharmony_ci surface.dispose(); 62cb93a386Sopenharmony_ci done(); 63cb93a386Sopenharmony_ci }); 64cb93a386Sopenharmony_ci }); 65cb93a386Sopenharmony_ci })); 66cb93a386Sopenharmony_ci }); 67cb93a386Sopenharmony_ci}); 68