File: helpers.js

package info (click to toggle)
node-socket.io-parser 4.2.1%2B~3.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 916 kB
  • sloc: javascript: 787; makefile: 9; sh: 4
file content (48 lines) | stat: -rw-r--r-- 1,259 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const parser = require("..");
const expect = require("expect.js");
const encoder = new parser.Encoder();

// tests encoding and decoding a single packet
module.exports.test = (obj, done) => {
  const encodedPackets = encoder.encode(obj);

  const decoder = new parser.Decoder();
  decoder.on("decoded", (packet) => {
    expect(packet).to.eql(obj);
    done();
  });

  decoder.add(encodedPackets[0]);
};

// tests encoding of binary packets
module.exports.test_bin = (obj, done) => {
  const originalData = obj.data;
  const encodedPackets = encoder.encode(obj);

  const decoder = new parser.Decoder();
  decoder.on("decoded", (packet) => {
    obj.data = originalData;
    obj.attachments = undefined;
    expect(obj).to.eql(packet);
    done();
  });

  for (let i = 0; i < encodedPackets.length; i++) {
    decoder.add(encodedPackets[i]);
  }
};

// array buffer's slice is native code that is not transported across
// socket.io via msgpack, so regular .eql fails
module.exports.testArrayBuffers = (buf1, buf2) => {
  buf1.slice = undefined;
  buf2.slice = undefined;
  expect(buf1).to.eql(buf2);
};

module.exports.testPacketMetadata = (p1, p2) => {
  expect(p1.type).to.eql(p2.type);
  expect(p1.id).to.eql(p2.id);
  expect(p1.nsp).to.eql(p2.nsp);
};