Add missing ZRLE encoding constant

Also add a unit test to catch omissions like this in the future.
This commit is contained in:
Pierre Ossman 2021-11-26 11:13:06 +01:00
parent bfb6ac259d
commit 65d6357cdf
2 changed files with 6 additions and 0 deletions

View File

@ -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 + "]";
}

View File

@ -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);