diff --git a/wrappers/nodejs/test/README.md b/wrappers/nodejs/test/README.md new file mode 100644 index 0000000000..aceb61f48c --- /dev/null +++ b/wrappers/nodejs/test/README.md @@ -0,0 +1,18 @@ +# Nodejs Wrapper Tests + +# Installing node-librealsense # +There are two ways to get node-librealsense module before testing: **install from npm** and **build from source**, both used **mocha** (`npm install mocha`) as test framework. + +## Install From Npm +Used for feature validation in released node-librealsense module which updates bi-weekly. +Execute `npm i` under `/path/to/wrappers/nodejs/test` to download and install latest module from [npm](https://www.npmjs.com/package/node-librealsense). + +## Build From Source +Used for checking latest features in development branch which hasn't been released on npm. +Execute `npm list node-librealsense` to check if you had installed node-librealsense before, if yes, remove it by using `npm remove node-librealsense` + +# Running the Tests # +Use mocha to run test cases, for example: +Execute `mocha *.js` for all test cases under `/path/to/wrappers/nodejs/test` +or +Execute `mocha test-colorizer.js` for single test case diff --git a/wrappers/nodejs/test/package.json b/wrappers/nodejs/test/package.json new file mode 100644 index 0000000000..c6e6379871 --- /dev/null +++ b/wrappers/nodejs/test/package.json @@ -0,0 +1,10 @@ +{ + "name": "node-librealsense2-tests", + "version": "0.0.1", + "description": "", + "author": "", + "license": "Apache-2.0", + "dependencies": { + "node-librealsense": "^0.281.0" + } +} diff --git a/wrappers/nodejs/test/test-colorizer.js b/wrappers/nodejs/test/test-colorizer.js index 6b05750f37..754e5aed54 100644 --- a/wrappers/nodejs/test/test-colorizer.js +++ b/wrappers/nodejs/test/test-colorizer.js @@ -5,7 +5,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; describe('Colorizer test', function() { diff --git a/wrappers/nodejs/test/test-context.js b/wrappers/nodejs/test/test-context.js index 5d196b17dc..b0c470cdd5 100644 --- a/wrappers/nodejs/test/test-context.js +++ b/wrappers/nodejs/test/test-context.js @@ -7,9 +7,23 @@ /* global describe, it */ const assert = require('assert'); const EventEmitter = require('events'); -const librealsense2 = require('../index.js'); +let librealsense2; +try { + librealsense2 = require('node-librealsense'); +} catch (e) { + librealsense2 = require('../index.js'); +} describe('Context test', function() { + before(function() { + const ctx = new librealsense2.Context(); + const devices = ctx.queryDevices().devices; + assert(devices.length > 0); // Device must be connected + }); + + after(function() { + librealsense2.cleanup(); + }); it('testing constructor', () => { assert.doesNotThrow(() => { new librealsense2.Context(); diff --git a/wrappers/nodejs/test/test-depthsensor.js b/wrappers/nodejs/test/test-depthsensor.js index d2f17923c5..e56f079e3f 100644 --- a/wrappers/nodejs/test/test-depthsensor.js +++ b/wrappers/nodejs/test/test-depthsensor.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; let depthSensor; diff --git a/wrappers/nodejs/test/test-device.js b/wrappers/nodejs/test/test-device.js index 6903ae5e3a..f7605d0af0 100644 --- a/wrappers/nodejs/test/test-device.js +++ b/wrappers/nodejs/test/test-device.js @@ -6,7 +6,12 @@ /* global describe, it, beforeEach, afterEach */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; let dev; diff --git a/wrappers/nodejs/test/test-frame.js b/wrappers/nodejs/test/test-frame.js index befdfd9684..91f76de9d5 100644 --- a/wrappers/nodejs/test/test-frame.js +++ b/wrappers/nodejs/test/test-frame.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let frame; describe('Frame test', function() { diff --git a/wrappers/nodejs/test/test-frameset.js b/wrappers/nodejs/test/test-frameset.js index 475f56af79..c70659afc2 100644 --- a/wrappers/nodejs/test/test-frameset.js +++ b/wrappers/nodejs/test/test-frameset.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let frameset; describe('FrameSet test', function() { diff --git a/wrappers/nodejs/test/test-functional.js b/wrappers/nodejs/test/test-functional.js index c98df97d55..af03b35234 100644 --- a/wrappers/nodejs/test/test-functional.js +++ b/wrappers/nodejs/test/test-functional.js @@ -6,9 +6,24 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} describe('Pipeline tests', function() { + before(function() { + const ctx = new rs2.Context(); + const devices = ctx.queryDevices().devices; + assert(devices.length > 0); // Device must be connected + }); + + after(function() { + rs2.cleanup(); + }); + it('Default pipeline', () => { const pipe = new rs2.Pipeline(); pipe.start(); @@ -616,6 +631,7 @@ describe(('DeviceHub test'), function() { after(() => { hub.destroy(); ctx.destroy(); + rs2.cleanup(); }); it('API test', () => { const dev = hub.waitForDevice(); diff --git a/wrappers/nodejs/test/test-pipeline.js b/wrappers/nodejs/test/test-pipeline.js index ce59de8d7e..3234b7d1c9 100644 --- a/wrappers/nodejs/test/test-pipeline.js +++ b/wrappers/nodejs/test/test-pipeline.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; let dev; diff --git a/wrappers/nodejs/test/test-pointcloud.js b/wrappers/nodejs/test/test-pointcloud.js index 2c5dc1e782..bfb35e26a6 100644 --- a/wrappers/nodejs/test/test-pointcloud.js +++ b/wrappers/nodejs/test/test-pointcloud.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; describe('Pointcloud test', function() { diff --git a/wrappers/nodejs/test/test-points.js b/wrappers/nodejs/test/test-points.js index 30a26c4bbd..e38ea51a1f 100644 --- a/wrappers/nodejs/test/test-points.js +++ b/wrappers/nodejs/test/test-points.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} let ctx; describe('Points test', function() { diff --git a/wrappers/nodejs/test/test-sensor.js b/wrappers/nodejs/test/test-sensor.js index d6cc01cd82..19db254e6a 100644 --- a/wrappers/nodejs/test/test-sensor.js +++ b/wrappers/nodejs/test/test-sensor.js @@ -6,7 +6,12 @@ /* global describe, it, before, after */ const assert = require('assert'); -const rs2 = require('../index.js'); +let rs2; +try { + rs2 = require('node-librealsense'); +} catch (e) { + rs2 = require('../index.js'); +} const RS2 = require('bindings')('node_librealsense'); let ctx;