File: testOSMesaRenderWindowPatch.mjs

package info (click to toggle)
vtk9 9.5.2%2Bdfsg4-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 206,640 kB
  • sloc: cpp: 2,340,827; ansic: 327,116; python: 114,881; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; javascript: 1,261; makefile: 194; objc: 153; tcl: 59
file content (45 lines) | stat: -rw-r--r-- 1,446 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
async function testOSMesaRenderWindowPatch() {
    const manager = await globalThis.createVTKWasmSceneManager({});
    manager.initialize();
    manager.registerStateJSON({
        Id: 1,
        ClassName: "vtkOSOpenGLRenderWindow",
        SuperClassNames: ["vtkWindow", "vtkRenderWindow"],
        "vtk-object-manager-kept-alive": true,
    });
    if (manager.getState(1).ClassName !== "vtkWebAssemblyOpenGLRenderWindow") {
        throw new Error("RenderWindow state was not created as vtkWebAssemblyOpenGLRenderWindow.");
    }
    manager.updateObjectsFromStates();

    manager.updateObjectFromStateJSON({
        Id: 1,
        ClassName: "vtkOSOpenGLRenderWindow",
        SuperClassNames: ["vtkWindow", "vtkRenderWindow"],
        "vtk-object-manager-kept-alive": true,
    });
    if (manager.getState(1).ClassName !== "vtkWebAssemblyOpenGLRenderWindow") {
        throw new Error("RenderWindow state was not updated as vtkWebAssemblyOpenGLRenderWindow.");
    }
}
const tests = [
    {
        description: "Patch vtkOSOpenGLRenderWindow to vtkWebAssemblyOpenGLRenderWindow",
        test: testOSMesaRenderWindowPatch,
    },
];

let exitCode = 0;
for (let test of tests) {
    try {
        await test.test();
        console.log("✓", test.description);
        exitCode |= 0;
    }
    catch (error) {
        console.log("x", test.description);
        console.log(error);
        exitCode |= 1;
    }
}
process.exit(exitCode);