UNPKG

1.02 kBJavaScriptView Raw
1#!/usr/bin/env mocha -R spec
2
3/*jshint -W053 */
4
5var assert = require("assert");
6var msgpackJS = "../index";
7var isBrowser = ("undefined" !== typeof window);
8var msgpack = isBrowser && window.msgpack || require(msgpackJS);
9var TITLE = __filename.replace(/^.*\//, "");
10
11describe(TITLE, function() {
12 it("ExtBuffer (0x00)", function() {
13 testExtBuffer(0);
14 });
15
16 it("ExtBuffer (0x20-0xFF)", function() {
17 for (var i = 32; i < 256; i++) {
18 testExtBuffer(i);
19 }
20 });
21
22 function testExtBuffer(type) {
23 // fixext 8 -- 0xd7
24 var header = new Buffer([0xd7, type]);
25 var content = new Buffer(8);
26 for (var i = 0; i < 8; i++) {
27 content[i] = (type + i) & 0x7F;
28 }
29 var source = Buffer.concat([header, content]);
30 var decoded = msgpack.decode(source);
31 assert.equal(decoded.type, type);
32 assert.equal(decoded.buffer.length, content.length);
33 assert.deepEqual(decoded.buffer, content);
34 var encoded = msgpack.encode(decoded);
35 assert.deepEqual(encoded, source);
36 }
37});