Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
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
  • Socket score

Version published
Weekly downloads
341
increased by19.65%
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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc