skia2/experimental/wasm-skp-debugger/tests/startup.spec.js
Nathaniel Nifong d3d13af110 Add a wasm debugger test that uses a WebGL surface
Change-Id: I9fef343d8ae958ca6382f6a781a31b6a583728bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241756
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-09-16 19:07:04 +00:00

68 lines
2.6 KiB
JavaScript

// The increased timeout is especially needed with larger binaries
// like in the debug/gpu build
jasmine.DEFAULT_TIMEOUT_INTERVAL = 20000;
describe('Debugger\'s Startup Behavior', function() {
let container = document.createElement('div');
document.body.appendChild(container);
beforeEach(function() {
container.innerHTML = `<canvas id=debugger_view width=720 height=1280></canvas>`;
});
afterEach(function() {
container.innerHTML = '';
});
it('can load and draw a skp file on an Canvas2D', function(done) {
LoadDebugger.then(catchException(done, () => {
const surface = Debugger.MakeSWCanvasSurface(document.getElementById('debugger_view'));
fetch('/debugger/sample.skp').then(function(response) {
// Load test file
if (!response.ok) {
throw new Error("HTTP error, status = " + response.status);
}
response.arrayBuffer().then(function(buffer) {
const fileContents = new Uint8Array(buffer);
console.log('fetched /debugger/sample.skp');
const player = Debugger.SkpFilePlayer(fileContents);
// Draw picture
player.drawTo(surface, 789); // number of commands in sample file
surface.flush();
console.log('drew picture to canvas element');
surface.dispose();
done();
});
});
}));
});
it('can load and draw a skp file on a Web GL canvas', function(done) {
LoadDebugger.then(catchException(done, () => {
const surface = Debugger.MakeWebGLCanvasSurface(
document.getElementById('debugger_view'));
fetch('/debugger/sample.skp').then(function(response) {
// Load test file
if (!response.ok) {
throw new Error("HTTP error, status = " + response.status);
}
response.arrayBuffer().then(function(buffer) {
const fileContents = new Uint8Array(buffer);
console.log('fetched /debugger/sample.skp');
const player = Debugger.SkpFilePlayer(fileContents);
// Draw picture
player.drawTo(surface, 789); // number of commands in sample file
surface.flush();
console.log('drew picture to canvas element');
surface.dispose();
done();
});
});
}));
});
});