obniz
Version:
obniz sdk for javascript
293 lines (225 loc) • 8.5 kB
JavaScript
let chai = require('chai');
let expect = chai.expect;
let testUtil = require(global.appRoot + '/test/testUtil.js');
chai.use(require('chai-like'));
chai.use(testUtil.obnizAssert);
describe('spi.log', function() {
beforeEach(function(done) {
return testUtil.setupObnizPromise(this, done, { binary: true });
});
afterEach(function(done) {
return testUtil.releaseObnizePromise(this, done);
});
it('request test no.0', function() {
let requestJson = [
{ spi0: { mode: 'master', clock: 1000000, clk: 0, mosi: 1, miso: 2 } },
];
let expecteBinaryStrings = ['05 00 0b 00 00 00 01 02 ff ff 00 0f 42 40'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.1', function() {
let requestJson = [{ spi0: { data: [18, 152], read: true } }];
let expecteBinaryStrings = ['05 02 03 00 12 98'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('response test no.2', function() {
let responseBinaryString = '05 02 03 00 12 98';
let expectJson = [{ spi0: { data: [18, 152] } }];
let binaryArray = responseBinaryString.split(' ').map(function(val, index) {
return parseInt(val, 16);
});
let binary = new Uint8Array(binaryArray);
let json = this.obniz.binary2Json(binary);
let isValidCommand = testUtil.isValidCommandResponseJson(json);
expect(isValidCommand.valid).to.be.true;
expect(json).to.be.deep.equal(expectJson);
});
it('request test no.3', function() {
let requestJson = [
{ spi0: { mode: 'master', clock: 1000000, clk: 0, miso: 2 } },
];
let expecteBinaryStrings = ['05 00 0b 00 00 00 ff 02 ff ff 00 0f 42 40'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.4', function() {
let requestJson = [
{ spi0: { mode: 'master', clock: 1000000, clk: 0, mosi: 1 } },
];
let expecteBinaryStrings = ['05 00 0b 00 00 00 01 ff ff ff 00 0f 42 40'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.5', function() {
let requestJson = [{ spi0: { mode: 'master', clock: 1000000, mosi: 1 } }];
let expecteBinaryStrings = ['05 00 0b 00 00 ff 01 ff ff ff 00 0f 42 40'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.6', function() {
let requestJson = [
{ spi0: { mode: 'master', clock: 1000000, clk: 0, mosi: 1, miso: 2 } },
];
let expecteBinaryStrings = ['05 00 0b 00 00 00 01 02 ff ff 00 0f 42 40'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.7', function() {
let requestJson = [{ spi0: { data: [18, 152], read: true } }];
let expecteBinaryStrings = ['05 02 03 00 12 98'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('response test no.8', function() {
let responseBinaryString = '05 02 03 00 12 98';
let expectJson = [{ spi0: { data: [18, 152] } }];
let binaryArray = responseBinaryString.split(' ').map(function(val, index) {
return parseInt(val, 16);
});
let binary = new Uint8Array(binaryArray);
let json = this.obniz.binary2Json(binary);
let isValidCommand = testUtil.isValidCommandResponseJson(json);
expect(isValidCommand.valid).to.be.true;
expect(json).to.be.deep.equal(expectJson);
});
it('request test no.9', function() {
let requestJson = [{ spi0: { data: [18, 152], read: false } }];
let expecteBinaryStrings = ['05 03 03 00 12 98'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
it('request test no.10', function() {
let requestJson = [{ spi0: null }];
let expecteBinaryStrings = ['05 01 01 00'];
expect(requestJson.length).to.be.equal(1);
let isValidCommand = testUtil.isValidCommandRequestJson(requestJson);
expect(isValidCommand.valid).to.be.true;
let compress = this.obniz.constructor.WSCommand.compress(
this.obniz.wscommands,
requestJson[0]
);
let binaryArray = expecteBinaryStrings
.join(' ')
.split(' ')
.map(function(val, index) {
return parseInt(val, 16);
});
expect(binaryArray.length).to.be.above(2);
let binary = new Uint8Array(binaryArray);
expect(compress).to.be.deep.equal(binary);
});
});