🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

webgl-mock-threejs

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webgl-mock-threejs

A simple implementation-less interface for testing code outside of WebGL/works with three.js

0.0.1
latest
Source
npm
Version published
Weekly downloads
103
-14.88%
Maintainers
1
Weekly downloads
 
Created
Source

webgl-mock-threejs

Dependency Status

A simple implementation-less interface for testing code outside of WebGL & three.js, forked from webgl-mock

Motivation

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.

Installation

Requires node.

npm i -D webgl-mock-threejs

Usage

Instantiate HTMLCanvasElement and pass it to your app which uses THREE.WebGLRenderer:

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:

class YourApp {

  constructor( canvas ) {

    this.renderer = null;
    this.canvas = canvas;

  }

  async init() {

    this.renderer = new THREE.WebGLRenderer({ canvas: this.canvas });

    /* your code continues.. */

  }

}

Warning

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.

canvas arg for app constructor/init function? I don't want it!

I'm planning jsdom integration which enables to add HTMLCanvasElement into DOM elements.

Keywords

webgl

FAQs

Package last updated on 21 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts