A simple implementation-less interface for testing code outside of WebGL/works with three.js
npm install webgl-mock-threejs
A simple implementation-less interface for testing code _outside_ of WebGL & three.js, forked from webgl-mock
Since ``THREE.WebGLRenderer` asks `WebGLContext ` much detail of graphic capability of device, original `webgl-mock` could not be used to test apps with three.js, causing NPE stuffs. This package simply has additional mock-answers for `THREE.WebGLRenderer`, allowing it to run in node.
It also includes mock for `navigator` object since `THREE.WebGLRenderer` does not run without it.
Requires node.
`bash`
npm i -D webgl-mock-threejs
Instantiate `HTMLCanvasElement` and pass it to your app which uses `THREE.WebGLRenderer`:
`javascript
require('webgl-mock-threejs');
const canvas = new HTMLCanvasElement( 640, 480 );
describe("App test", () => {
it("Can initialize successfully", async () => {
let app = new YourApp(canvas);
await app.init();
})
})
`
Your app would be like:
`javascript
class YourApp {
constructor( canvas ) {
this.renderer = null;
this.canvas = canvas;
}
async init() {
this.renderer = new THREE.WebGLRenderer({ canvas: this.canvas });
/ your code continues.. /
}
}
`
Importing this module results to inject `global.nagivator` mock to global namespace of Node, if no another exists.`
If you get some problems around navigator`, this module may have caused it.
HTMLCanvasElement`` into DOM elements.