diff --git a/lib/parser-v3/utf8.ts b/lib/parser-v3/utf8.ts index 9a9decbd..b878740f 100644 --- a/lib/parser-v3/utf8.ts +++ b/lib/parser-v3/utf8.ts @@ -203,7 +203,7 @@ function utf8decode(byteString, opts) { return ucs2encode(codePoints); } -export default { +module.exports = { version: '2.1.2', encode: utf8encode, decode: utf8decode diff --git a/test/parser.js b/test/parser.js new file mode 100644 index 00000000..3f967e1b --- /dev/null +++ b/test/parser.js @@ -0,0 +1,22 @@ +const expect = require("expect.js"); +const parser = require("../build/parser-v3/index.js"); + +describe("parser", () => { + it("properly encodes a mixed payload", done => { + parser.encodePayload( + [ + { type: "message", data: "€€€€" }, + { type: "message", data: Buffer.from([1, 2, 3]) } + ], + true, + encoded => { + expect(encoded).to.be.a(Buffer); + + parser.decodePayload(encoded, decoded => { + expect(decoded.data).to.eql("€€€€"); + done(); + }); + } + ); + }); +});