From 65d6357cdf37f6523bf04cccadc8188f4fee462e Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Fri, 26 Nov 2021 11:13:06 +0100 Subject: Add missing ZRLE encoding constant Also add a unit test to catch omissions like this in the future. --- core/encodings.js | 2 ++ tests/test.rfb.js | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/core/encodings.js b/core/encodings.js index 51c0992..399fb6f 100644 --- a/core/encodings.js +++ b/core/encodings.js @@ -12,6 +12,7 @@ export const encodings = { encodingRRE: 2, encodingHextile: 5, encodingTight: 7, + encodingZRLE: 16, encodingTightPNG: -260, pseudoEncodingQualityLevel9: -23, @@ -38,6 +39,7 @@ export function encodingName(num) { case encodings.encodingRRE: return "RRE"; case encodings.encodingHextile: return "Hextile"; case encodings.encodingTight: return "Tight"; + case encodings.encodingZRLE: return "ZRLE"; case encodings.encodingTightPNG: return "TightPNG"; default: return "[unknown encoding " + num + "]"; } diff --git a/tests/test.rfb.js b/tests/test.rfb.js index f70bc14..18e5c1d 100644 --- a/tests/test.rfb.js +++ b/tests/test.rfb.js @@ -1623,6 +1623,10 @@ describe('Remote Frame Buffer Protocol Client', function () { expect(RFB.messages.pixelFormat).to.have.been.calledBefore(RFB.messages.clientEncodings); expect(RFB.messages.clientEncodings).to.have.been.calledOnce; expect(RFB.messages.clientEncodings.getCall(0).args[1]).to.include(encodings.encodingTight); + RFB.messages.clientEncodings.getCall(0).args[1].forEach(enc => { + expect(enc).to.be.a('number'); + expect(Number.isInteger(enc)).to.be.true; + }); expect(RFB.messages.clientEncodings).to.have.been.calledBefore(RFB.messages.fbUpdateRequest); expect(RFB.messages.fbUpdateRequest).to.have.been.calledOnce; expect(RFB.messages.fbUpdateRequest).to.have.been.calledWith(client._sock, false, 0, 0, 27, 32); -- cgit v1.2.1