linx-simulator2/node_modules/protobufjs/examples/protoify/test.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2019-09-18 08:11:16 +00:00
var protoify = require("./index.js"),
ByteBuffer = require("protobufjs").ByteBuffer,
assert = require("assert");
// Array of samples to test
var samples = [
1, -1, 0x80000000|0, 0x7fffffff|0, // Integers
0.1, 0.2, 1.234, // Doubles
"John", // String
true, false, // Booleans
null, // null
[], // Array
{}, // Object
undefined, // undefined
[ // Array holding each data type
1,
0.1,
"John",
true,
false,
null,
[],
{},
undefined
],
{ // Object holding each data type
1: 1,
0.1: 0.1,
"John": "John",
true: true,
false: false,
null: null,
array: [],
object: {},
undefined: undefined
}
];
samples.forEach(function(sample) {
// Encode each sample to a Buffer
var buf = protoify(sample);
// Print some nice debugging information
console.log(JSON.stringify(sample));
console.log("-------------------------------------------------------------------");
console.log(ByteBuffer.wrap(buf).toDebug(true));
// Decode the Buffer back to JSON
var decodedSample = protoify.parse(buf);
// And assert that it's actually equal
assert.deepEqual(decodedSample, sample);
});
// If no assertion errors are thrown, print
console.log("OK");