From c82178348ab6c67fd3655d1de677c1a0075a2ddb Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Wed, 5 Feb 2025 16:19:00 +0100 Subject: [PATCH] Include SetDesktopSize responses in tests There might be subtle changes in behaviour, so we should mimic what a real server does. --- tests/test.rfb.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/test.rfb.js b/tests/test.rfb.js index 5185ae6..9e79270 100644 --- a/tests/test.rfb.js +++ b/tests/test.rfb.js @@ -1070,9 +1070,16 @@ describe('Remote Frame Buffer protocol client', function () { container.style.width = '70px'; container.style.height = '80px'; + sinon.spy(RFB.messages, "setDesktopSize"); + sendExtendedDesktopSize(client, 0, 0, 4, 4, 0x7890abcd, 0x12345678); - sinon.spy(RFB.messages, "setDesktopSize"); + if (RFB.messages.setDesktopSize.calledOnce) { + let width = RFB.messages.setDesktopSize.args[0][1]; + let height = RFB.messages.setDesktopSize.args[0][2]; + sendExtendedDesktopSize(client, 1, 0, width, height, 0x7890abcd, 0x12345678); + RFB.messages.setDesktopSize.resetHistory(); + } }); afterEach(function () { @@ -1111,6 +1118,7 @@ describe('Remote Frame Buffer protocol client', function () { expect(RFB.messages.setDesktopSize).to.have.been.calledWith( sinon.match.object, 70, 80, 0x7890abcd, 0x12345678); + sendExtendedDesktopSize(client, 1, 0, 70, 80, 0x7890abcd, 0x12345678); RFB.messages.setDesktopSize.resetHistory(); // Second message should not trigger a resize @@ -1163,6 +1171,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(RFB.messages.setDesktopSize).to.have.been.calledOnce; expect(RFB.messages.setDesktopSize).to.have.been.calledWith( sinon.match.object, 40, 50, 0x7890abcd, 0x12345678); + + sendExtendedDesktopSize(client, 1, 0, 40, 50, 0x7890abcd, 0x12345678); RFB.messages.setDesktopSize.resetHistory(); container.style.width = '70px';