Skip to content

Commit

Permalink
[nodejs] Update test cases
Browse files Browse the repository at this point in the history
Impacted tests: new 0, update 8, delete 0
Unit test platform: Ubuntu 16.04
Unit test result summary: pass 8, fail 0, block 0
  • Loading branch information
haoyunfeix committed Jun 12, 2018
1 parent 8c5c6ea commit fea7000
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 70 deletions.
5 changes: 2 additions & 3 deletions wrappers/nodejs/test/test-colorizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,8 @@ describe('Colorizer test', function() {
colorizer= new rs2.Colorizer();
colorizer.destroy();
});
setTimeout(() => {
assert.equal(colorizer, undefined);
}, 100);
assert.equal(colorizer.cxxColorizer, undefined);
assert.equal(colorizer.depthRGB, undefined);
});

it('Testing method colorize', () => {
Expand Down
74 changes: 40 additions & 34 deletions wrappers/nodejs/test/test-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,32 +37,34 @@ describe('Config test', function() {
}
});

function createRrdFile() {
const ctx = new rs2.Context();
let dev = ctx.queryDevices().devices[0];
// record to file record.bag
let recorder = new rs2.RecorderDevice(fileName, dev);
let sensors = recorder.querySensors();
let sensor = sensors[0];
let profiles = sensor.getStreamProfiles();
for (let i =0; i < profiles.length; i++) {
if (profiles[i].streamType === rs2.stream.STREAM_DEPTH &&
profiles[i].fps === 30 &&
profiles[i].width === 640 &&
profiles[i].height === 480 &&
profiles[i].format === rs2.format.FORMAT_Z16) {
sensor.open(profiles[i]);
}
}
// record 10 frames
let cnt = 0;
sensor.start((frame) => {
cnt++;
if (cnt === 10) {
// stop recording
recorder.reset();
rs2.cleanup();
}
function startRecording(file, cnt) {
return new Promise((resolve, reject) => {
setTimeout(() => {
let ctx = new rs2.Context();
let dev = ctx.queryDevices().devices[0];
let recorder = new rs2.RecorderDevice(file, dev);
let sensors = recorder.querySensors();
let sensor = sensors[0];
let profiles = sensor.getStreamProfiles();
assert.equal(recorder.fileName, file);
for (let i = 0; i < profiles.length; i++) {
if (profiles[i].streamType === rs2.stream.STREAM_DEPTH &&
profiles[i].fps === 30 &&
profiles[i].width === 640 &&
profiles[i].height === 480 &&
profiles[i].format === rs2.format.FORMAT_Z16) {
sensor.open(profiles[i]);
}
}
let counter = 0;
sensor.start((frame) => {
counter++;
if (counter === cnt) {
recorder.reset();
resolve();
}
});
}, 2000);
});
}

Expand Down Expand Up @@ -229,11 +231,15 @@ describe('Config test', function() {
});

it('Testing method enableDeviceFromFile - with file', () => {
createRrdFile();
assert.doesNotThrow(() => {
config.enableDeviceFromFile(fileName);
return new Promise((resolve, reject) => {
startRecording(fileName, 10).then(() => {
assert.doesNotThrow(() => {
config.enableDeviceFromFile(fileName);
});
resolve();
});
});
});
}).timeout(5000);

it('Testing method enableDeviceFromFile - with invalid argument', () => {
assert.throws(() => {
Expand Down Expand Up @@ -284,16 +290,16 @@ describe('Config test', function() {
assert.equal(fs.existsSync(fileName), true);
assert.doesNotThrow(() => {
let frameSet = pipeline.waitForFrames();
assert(frameSet instanceof rs2.VideoFrame);
assert(frameSet instanceof rs2.FrameSet);
});
});
}).timeout(10000);

it('Testing method enableRecordToFile - then enableDeviceFromFile', () => {
assert.doesNotThrow(() => {
config.enableRecordToFile(fileName);
pipeline.start(config);
let frameSet = pipeline.waitForFrames();
assert(frameSet instanceof rs2.VideoFrame);
assert(frameSet instanceof rs2.FrameSet);
});
assert.equal(fs.existsSync(fileName), true);
assert.throws(() => {
Expand All @@ -309,7 +315,7 @@ describe('Config test', function() {
});
assert.doesNotThrow(() => {
let frameSet = pipeline.waitForFrames();
assert(frameSet instanceof rs2.VideoFrame);
assert(frameSet instanceof rs2.FrameSet);
});
assert.equal(fs.existsSync(fileName), true);
});
Expand Down
78 changes: 45 additions & 33 deletions wrappers/nodejs/test/test-context.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/* global describe, it, before, after */
const assert = require('assert');
const EventEmitter = require('events');
const fs = require('fs');
let librealsense2;
try {
librealsense2 = require('node-librealsense');
Expand All @@ -25,32 +26,38 @@ describe('Context test', function() {
librealsense2.cleanup();
});

function createRrdFile() {
const ctx = new librealsense2.Context();
let dev = ctx.queryDevices().devices[0];
// record to file record.bag
let recorder = new librealsense2.RecorderDevice('record.bag', dev);
let sensors = recorder.querySensors();
let sensor = sensors[0];
let profiles = sensor.getStreamProfiles();
for (let i =0; i < profiles.length; i++) {
if (profiles[i].streamType === librealsense2.stream.STREAM_DEPTH &&
profiles[i].fps === 30 &&
profiles[i].width === 640 &&
profiles[i].height === 480 &&
profiles[i].format === librealsense2.format.FORMAT_Z16) {
sensor.open(profiles[i]);
}
}
// record 10 frames
let cnt = 0;
sensor.start((frame) => {
cnt++;
if (cnt === 10) {
// stop recording
recorder.reset();
librealsense2.cleanup();
}
function startRecording(file, cnt, callback) {
return new Promise((resolve, reject) => {
setTimeout(() => {
let ctx = new librealsense2.Context();
let dev = ctx.queryDevices().devices[0];
let recorder = new librealsense2.RecorderDevice(file, dev);
let sensors = recorder.querySensors();
let sensor = sensors[0];
let profiles = sensor.getStreamProfiles();
assert.equal(recorder.fileName, file);
for (let i = 0; i < profiles.length; i++) {
if (profiles[i].streamType === librealsense2.stream.STREAM_DEPTH &&
profiles[i].fps === 30 &&
profiles[i].width === 640 &&
profiles[i].height === 480 &&
profiles[i].format === librealsense2.format.FORMAT_Z16) {
sensor.open(profiles[i]);
}
}
let counter = 0;
sensor.start((frame) => {
if (callback) {
callback(recorder, counter);
}
counter++;
if (counter === cnt) {
recorder.reset();
librealsense2.cleanup();
resolve();
}
});
}, 2000);
});
}

Expand Down Expand Up @@ -152,14 +159,19 @@ describe('Context test', function() {
});

it('testing method - loadDevice, return playbackDevice', () => {
createRrdFile();
const context = new librealsense2.Context();
let pbd;
assert.doesNotThrow(() => {
pbd = context.loadDevice('record.bag');
return new Promise((resolve, reject) => {
startRecording('record.bag', 10, null).then(() => {
const context = new librealsense2.Context();
let pbd;
assert.doesNotThrow(() => {
pbd = context.loadDevice('record.bag');
});
assert(pbd instanceof librealsense2.Device);
fs.unlinkSync('record.bag');
resolve();
});
});
assert(pbd instanceof librealsense2.Device);
});
}).timeout(5000);

it('testing method - getSensorParent', () => {
const context = new librealsense2.Context();
Expand Down

0 comments on commit fea7000

Please sign in to comment.