From 0fbe8a5516c83489369646b37b42b74d05b11c8a Mon Sep 17 00:00:00 2001 From: godotg Date: Tue, 28 May 2024 15:05:04 +0800 Subject: [PATCH] test[es]: EcmaScript protocol test --- .../ecmascript/zfooes/packet/NormalObject.mjs | 16 +++++++++++++++- .../test/ecmascript/zfooes/packet/ObjectA.mjs | 10 +++++++++- .../test/ecmascript/zfooes/packet/ObjectB.mjs | 10 +++++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/protocol/src/test/ecmascript/zfooes/packet/NormalObject.mjs b/protocol/src/test/ecmascript/zfooes/packet/NormalObject.mjs index 8c4e0bfd..7dd09694 100644 --- a/protocol/src/test/ecmascript/zfooes/packet/NormalObject.mjs +++ b/protocol/src/test/ecmascript/zfooes/packet/NormalObject.mjs @@ -18,6 +18,8 @@ class NormalObject { mm = new Map(); // Map s = new Set(); // Set ssss = new Set(); // Set + outCompatibleValue = 0; // number + outCompatibleValue2 = 0; // number static PROTOCOL_ID = 101; @@ -30,7 +32,8 @@ class NormalObject { buffer.writeInt(0); return; } - buffer.writeInt(-1); + const beforeWriteIndex = buffer.getWriteOffset(); + buffer.writeInt(857); buffer.writeByte(packet.a); buffer.writeByteArray(packet.aaa); buffer.writeShort(packet.b); @@ -49,6 +52,9 @@ class NormalObject { buffer.writeIntPacketMap(packet.mm, 102); buffer.writeIntSet(packet.s); buffer.writeStringSet(packet.ssss); + buffer.writeInt(packet.outCompatibleValue); + buffer.writeInt(packet.outCompatibleValue2); + buffer.adjustPadding(857, beforeWriteIndex); } static read(buffer) { @@ -94,6 +100,14 @@ class NormalObject { packet.s = set16; const set17 = buffer.readStringSet(); packet.ssss = set17; + if (buffer.compatibleRead(beforeReadIndex, length)) { + const result18 = buffer.readInt(); + packet.outCompatibleValue = result18; + } + if (buffer.compatibleRead(beforeReadIndex, length)) { + const result19 = buffer.readInt(); + packet.outCompatibleValue2 = result19; + } if (length > 0) { buffer.setReadOffset(beforeReadIndex + length); } diff --git a/protocol/src/test/ecmascript/zfooes/packet/ObjectA.mjs b/protocol/src/test/ecmascript/zfooes/packet/ObjectA.mjs index ea52a691..b3cc59e8 100644 --- a/protocol/src/test/ecmascript/zfooes/packet/ObjectA.mjs +++ b/protocol/src/test/ecmascript/zfooes/packet/ObjectA.mjs @@ -3,6 +3,7 @@ class ObjectA { a = 0; // number m = new Map(); // Map objectB = null; // ObjectB | null + innerCompatibleValue = 0; // number static PROTOCOL_ID = 102; @@ -15,10 +16,13 @@ class ObjectA { buffer.writeInt(0); return; } - buffer.writeInt(-1); + const beforeWriteIndex = buffer.getWriteOffset(); + buffer.writeInt(201); buffer.writeInt(packet.a); buffer.writeIntStringMap(packet.m); buffer.writePacket(packet.objectB, 103); + buffer.writeInt(packet.innerCompatibleValue); + buffer.adjustPadding(201, beforeWriteIndex); } static read(buffer) { @@ -34,6 +38,10 @@ class ObjectA { packet.m = map1; const result2 = buffer.readPacket(103); packet.objectB = result2; + if (buffer.compatibleRead(beforeReadIndex, length)) { + const result3 = buffer.readInt(); + packet.innerCompatibleValue = result3; + } if (length > 0) { buffer.setReadOffset(beforeReadIndex + length); } diff --git a/protocol/src/test/ecmascript/zfooes/packet/ObjectB.mjs b/protocol/src/test/ecmascript/zfooes/packet/ObjectB.mjs index af88d5c7..7590cf33 100644 --- a/protocol/src/test/ecmascript/zfooes/packet/ObjectB.mjs +++ b/protocol/src/test/ecmascript/zfooes/packet/ObjectB.mjs @@ -1,6 +1,7 @@ class ObjectB { flag = false; // boolean + innerCompatibleValue = 0; // number static PROTOCOL_ID = 103; @@ -13,8 +14,11 @@ class ObjectB { buffer.writeInt(0); return; } - buffer.writeInt(-1); + const beforeWriteIndex = buffer.getWriteOffset(); + buffer.writeInt(4); buffer.writeBoolean(packet.flag); + buffer.writeInt(packet.innerCompatibleValue); + buffer.adjustPadding(4, beforeWriteIndex); } static read(buffer) { @@ -26,6 +30,10 @@ class ObjectB { const packet = new ObjectB(); const result0 = buffer.readBoolean(); packet.flag = result0; + if (buffer.compatibleRead(beforeReadIndex, length)) { + const result1 = buffer.readInt(); + packet.innerCompatibleValue = result1; + } if (length > 0) { buffer.setReadOffset(beforeReadIndex + length); }