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