From 8ed1d2288bcbc8f991642111d411169538f038b2 Mon Sep 17 00:00:00 2001 From: godotg Date: Tue, 28 May 2024 15:08:02 +0800 Subject: [PATCH] test[js]: JavaScript protocol test --- .../test/javascript/zfoojs/ProtocolManager.js | 4 +- .../javascript/zfoojs/packet/ComplexObject.js | 378 +++++++++--------- .../javascript/zfoojs/packet/EmptyObject.js | 2 +- .../javascript/zfoojs/packet/NormalObject.js | 18 +- .../test/javascript/zfoojs/packet/ObjectA.js | 12 +- .../test/javascript/zfoojs/packet/ObjectB.js | 12 +- .../javascript/zfoojs/packet/SimpleObject.js | 2 +- .../javascript/zfoojs/packet/VeryBigObject.js | 2 +- 8 files changed, 230 insertions(+), 200 deletions(-) diff --git a/protocol/src/test/javascript/zfoojs/ProtocolManager.js b/protocol/src/test/javascript/zfoojs/ProtocolManager.js index 4886bbbd..28e388a0 100644 --- a/protocol/src/test/javascript/zfoojs/ProtocolManager.js +++ b/protocol/src/test/javascript/zfoojs/ProtocolManager.js @@ -22,7 +22,7 @@ protocols.set(104, SimpleObject); ProtocolManager.getProtocol = function getProtocol(protocolId) { const protocol = protocols.get(protocolId); if (protocol === null) { - throw new Error('[protocolId:' + protocolId + ']协议不存在'); + throw new Error('[protocolId:' + protocolId + '] not exist'); } return protocol; }; @@ -41,4 +41,4 @@ ProtocolManager.read = function read(buffer) { return packet; }; -export default ProtocolManager; +export default ProtocolManager; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/ComplexObject.js b/protocol/src/test/javascript/zfoojs/packet/ComplexObject.js index 9b9b7c2c..d412c87a 100644 --- a/protocol/src/test/javascript/zfoojs/packet/ComplexObject.js +++ b/protocol/src/test/javascript/zfoojs/packet/ComplexObject.js @@ -242,222 +242,222 @@ ComplexObject.read = function(buffer) { } const beforeReadIndex = buffer.getReadOffset(); const packet = new ComplexObject(); - const result19 = buffer.readByte(); - packet.a = result19; - const result20 = buffer.readByte(); - packet.aa = result20; - const array21 = buffer.readByteArray(); - packet.aaa = array21; - const array22 = buffer.readByteArray(); - packet.aaaa = array22; - const result23 = buffer.readShort(); - packet.b = result23; - const result24 = buffer.readShort(); - packet.bb = result24; - const array25 = buffer.readShortArray(); - packet.bbb = array25; - const array26 = buffer.readShortArray(); - packet.bbbb = array26; - const result27 = buffer.readInt(); - packet.c = result27; - const result28 = buffer.readInt(); - packet.cc = result28; - const array29 = buffer.readIntArray(); - packet.ccc = array29; - const array30 = buffer.readIntArray(); - packet.cccc = array30; - const result31 = buffer.readLong(); - packet.d = result31; - const result32 = buffer.readLong(); - packet.dd = result32; - const array33 = buffer.readLongArray(); - packet.ddd = array33; - const array34 = buffer.readLongArray(); - packet.dddd = array34; - const result35 = buffer.readFloat(); - packet.e = result35; - const result36 = buffer.readFloat(); - packet.ee = result36; - const array37 = buffer.readFloatArray(); - packet.eee = array37; - const array38 = buffer.readFloatArray(); - packet.eeee = array38; - const result39 = buffer.readDouble(); - packet.f = result39; - const result40 = buffer.readDouble(); - packet.ff = result40; - const array41 = buffer.readDoubleArray(); - packet.fff = array41; - const array42 = buffer.readDoubleArray(); - packet.ffff = array42; - const result43 = buffer.readBoolean(); - packet.g = result43; - const result44 = buffer.readBoolean(); - packet.gg = result44; - const array45 = buffer.readBooleanArray(); - packet.ggg = array45; - const array46 = buffer.readBooleanArray(); - packet.gggg = array46; - const result47 = buffer.readString(); - packet.jj = result47; - const array48 = buffer.readStringArray(); - packet.jjj = array48; - const result49 = buffer.readPacket(102); - packet.kk = result49; - const array50 = buffer.readPacketArray(102); - packet.kkk = array50; - const list51 = buffer.readIntList(); - packet.l = list51; - const result52 = []; - const size53 = buffer.readInt(); - if (size53 > 0) { - for (let index54 = 0; index54 < size53; index54++) { - const result55 = []; - const size56 = buffer.readInt(); - if (size56 > 0) { - for (let index57 = 0; index57 < size56; index57++) { - const list58 = buffer.readIntList(); - result55.push(list58); + const result0 = buffer.readByte(); + packet.a = result0; + const result1 = buffer.readByte(); + packet.aa = result1; + const array2 = buffer.readByteArray(); + packet.aaa = array2; + const array3 = buffer.readByteArray(); + packet.aaaa = array3; + const result4 = buffer.readShort(); + packet.b = result4; + const result5 = buffer.readShort(); + packet.bb = result5; + const array6 = buffer.readShortArray(); + packet.bbb = array6; + const array7 = buffer.readShortArray(); + packet.bbbb = array7; + const result8 = buffer.readInt(); + packet.c = result8; + const result9 = buffer.readInt(); + packet.cc = result9; + const array10 = buffer.readIntArray(); + packet.ccc = array10; + const array11 = buffer.readIntArray(); + packet.cccc = array11; + const result12 = buffer.readLong(); + packet.d = result12; + const result13 = buffer.readLong(); + packet.dd = result13; + const array14 = buffer.readLongArray(); + packet.ddd = array14; + const array15 = buffer.readLongArray(); + packet.dddd = array15; + const result16 = buffer.readFloat(); + packet.e = result16; + const result17 = buffer.readFloat(); + packet.ee = result17; + const array18 = buffer.readFloatArray(); + packet.eee = array18; + const array19 = buffer.readFloatArray(); + packet.eeee = array19; + const result20 = buffer.readDouble(); + packet.f = result20; + const result21 = buffer.readDouble(); + packet.ff = result21; + const array22 = buffer.readDoubleArray(); + packet.fff = array22; + const array23 = buffer.readDoubleArray(); + packet.ffff = array23; + const result24 = buffer.readBoolean(); + packet.g = result24; + const result25 = buffer.readBoolean(); + packet.gg = result25; + const array26 = buffer.readBooleanArray(); + packet.ggg = array26; + const array27 = buffer.readBooleanArray(); + packet.gggg = array27; + const result28 = buffer.readString(); + packet.jj = result28; + const array29 = buffer.readStringArray(); + packet.jjj = array29; + const result30 = buffer.readPacket(102); + packet.kk = result30; + const array31 = buffer.readPacketArray(102); + packet.kkk = array31; + const list32 = buffer.readIntList(); + packet.l = list32; + const result33 = []; + const size34 = buffer.readInt(); + if (size34 > 0) { + for (let index35 = 0; index35 < size34; index35++) { + const result36 = []; + const size37 = buffer.readInt(); + if (size37 > 0) { + for (let index38 = 0; index38 < size37; index38++) { + const list39 = buffer.readIntList(); + result36.push(list39); } } - result52.push(result55); + result33.push(result36); } } - packet.ll = result52; - const result59 = []; - const size60 = buffer.readInt(); - if (size60 > 0) { - for (let index61 = 0; index61 < size60; index61++) { - const list62 = buffer.readPacketList(102); - result59.push(list62); + packet.ll = result33; + const result40 = []; + const size41 = buffer.readInt(); + if (size41 > 0) { + for (let index42 = 0; index42 < size41; index42++) { + const list43 = buffer.readPacketList(102); + result40.push(list43); } } - packet.lll = result59; - const list63 = buffer.readStringList(); - packet.llll = list63; - const result64 = []; - const size65 = buffer.readInt(); - if (size65 > 0) { - for (let index66 = 0; index66 < size65; index66++) { - const map67 = buffer.readIntStringMap(); - result64.push(map67); + packet.lll = result40; + const list44 = buffer.readStringList(); + packet.llll = list44; + const result45 = []; + const size46 = buffer.readInt(); + if (size46 > 0) { + for (let index47 = 0; index47 < size46; index47++) { + const map48 = buffer.readIntStringMap(); + result45.push(map48); } } - packet.lllll = result64; - const map68 = buffer.readIntStringMap(); - packet.m = map68; - const map69 = buffer.readIntPacketMap(102); - packet.mm = map69; + packet.lllll = result45; + const map49 = buffer.readIntStringMap(); + packet.m = map49; + const map50 = buffer.readIntPacketMap(102); + packet.mm = map50; + const result51 = new Map(); + const size52 = buffer.readInt(); + if (size52 > 0) { + for (let index53 = 0; index53 < size52; index53++) { + const result54 = buffer.readPacket(102); + const list55 = buffer.readIntList(); + result51.set(result54, list55); + } + } + packet.mmm = result51; + const result56 = new Map(); + const size57 = buffer.readInt(); + if (size57 > 0) { + for (let index58 = 0; index58 < size57; index58++) { + const result59 = []; + const size60 = buffer.readInt(); + if (size60 > 0) { + for (let index61 = 0; index61 < size60; index61++) { + const list62 = buffer.readPacketList(102); + result59.push(list62); + } + } + const result63 = []; + const size64 = buffer.readInt(); + if (size64 > 0) { + for (let index65 = 0; index65 < size64; index65++) { + const result66 = []; + const size67 = buffer.readInt(); + if (size67 > 0) { + for (let index68 = 0; index68 < size67; index68++) { + const list69 = buffer.readIntList(); + result66.push(list69); + } + } + result63.push(result66); + } + } + result56.set(result59, result63); + } + } + packet.mmmm = result56; const result70 = new Map(); const size71 = buffer.readInt(); if (size71 > 0) { for (let index72 = 0; index72 < size71; index72++) { - const result73 = buffer.readPacket(102); - const list74 = buffer.readIntList(); - result70.set(result73, list74); - } - } - packet.mmm = result70; - const result75 = new Map(); - const size76 = buffer.readInt(); - if (size76 > 0) { - for (let index77 = 0; index77 < size76; index77++) { - const result78 = []; - const size79 = buffer.readInt(); - if (size79 > 0) { - for (let index80 = 0; index80 < size79; index80++) { - const list81 = buffer.readPacketList(102); - result78.push(list81); + const result73 = []; + const size74 = buffer.readInt(); + if (size74 > 0) { + for (let index75 = 0; index75 < size74; index75++) { + const map76 = buffer.readIntStringMap(); + result73.push(map76); } } - const result82 = []; - const size83 = buffer.readInt(); - if (size83 > 0) { - for (let index84 = 0; index84 < size83; index84++) { - const result85 = []; - const size86 = buffer.readInt(); - if (size86 > 0) { - for (let index87 = 0; index87 < size86; index87++) { - const list88 = buffer.readIntList(); - result85.push(list88); - } - } - result82.push(result85); + const result77 = new Set(); + const size78 = buffer.readInt(); + if (size78 > 0) { + for (let index79 = 0; index79 < size78; index79++) { + const map80 = buffer.readIntStringMap(); + result77.add(map80); } } - result75.set(result78, result82); + result70.set(result73, result77); } } - packet.mmmm = result75; - const result89 = new Map(); + packet.mmmmm = result70; + const set81 = buffer.readIntSet(); + packet.s = set81; + const result82 = new Set(); + const size83 = buffer.readInt(); + if (size83 > 0) { + for (let index84 = 0; index84 < size83; index84++) { + const result85 = new Set(); + const size86 = buffer.readInt(); + if (size86 > 0) { + for (let index87 = 0; index87 < size86; index87++) { + const list88 = buffer.readIntList(); + result85.add(list88); + } + } + result82.add(result85); + } + } + packet.ss = result82; + const result89 = new Set(); const size90 = buffer.readInt(); if (size90 > 0) { for (let index91 = 0; index91 < size90; index91++) { - const result92 = []; - const size93 = buffer.readInt(); - if (size93 > 0) { - for (let index94 = 0; index94 < size93; index94++) { - const map95 = buffer.readIntStringMap(); - result92.push(map95); - } - } - const result96 = new Set(); - const size97 = buffer.readInt(); - if (size97 > 0) { - for (let index98 = 0; index98 < size97; index98++) { - const map99 = buffer.readIntStringMap(); - result96.add(map99); - } - } - result89.set(result92, result96); + const set92 = buffer.readPacketSet(102); + result89.add(set92); } } - packet.mmmmm = result89; - const set100 = buffer.readIntSet(); - packet.s = set100; - const result101 = new Set(); - const size102 = buffer.readInt(); - if (size102 > 0) { - for (let index103 = 0; index103 < size102; index103++) { - const result104 = new Set(); - const size105 = buffer.readInt(); - if (size105 > 0) { - for (let index106 = 0; index106 < size105; index106++) { - const list107 = buffer.readIntList(); - result104.add(list107); - } - } - result101.add(result104); + packet.sss = result89; + const set93 = buffer.readStringSet(); + packet.ssss = set93; + const result94 = new Set(); + const size95 = buffer.readInt(); + if (size95 > 0) { + for (let index96 = 0; index96 < size95; index96++) { + const map97 = buffer.readIntStringMap(); + result94.add(map97); } } - packet.ss = result101; - const result108 = new Set(); - const size109 = buffer.readInt(); - if (size109 > 0) { - for (let index110 = 0; index110 < size109; index110++) { - const set111 = buffer.readPacketSet(102); - result108.add(set111); - } - } - packet.sss = result108; - const set112 = buffer.readStringSet(); - packet.ssss = set112; - const result113 = new Set(); - const size114 = buffer.readInt(); - if (size114 > 0) { - for (let index115 = 0; index115 < size114; index115++) { - const map116 = buffer.readIntStringMap(); - result113.add(map116); - } - } - packet.sssss = result113; + packet.sssss = result94; if (buffer.compatibleRead(beforeReadIndex, length)) { - const result117 = buffer.readInt(); - packet.myCompatible = result117; + const result98 = buffer.readInt(); + packet.myCompatible = result98; } if (buffer.compatibleRead(beforeReadIndex, length)) { - const result118 = buffer.readPacket(102); - packet.myObject = result118; + const result99 = buffer.readPacket(102); + packet.myObject = result99; } if (length > 0) { buffer.setReadOffset(beforeReadIndex + length); @@ -465,4 +465,4 @@ ComplexObject.read = function(buffer) { return packet; }; -export default ComplexObject; +export default ComplexObject; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/EmptyObject.js b/protocol/src/test/javascript/zfoojs/packet/EmptyObject.js index 0680216c..13d6d8f4 100644 --- a/protocol/src/test/javascript/zfoojs/packet/EmptyObject.js +++ b/protocol/src/test/javascript/zfoojs/packet/EmptyObject.js @@ -31,4 +31,4 @@ EmptyObject.read = function(buffer) { return packet; }; -export default EmptyObject; +export default EmptyObject; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/NormalObject.js b/protocol/src/test/javascript/zfoojs/packet/NormalObject.js index cf5e9a2a..28cbabdc 100644 --- a/protocol/src/test/javascript/zfoojs/packet/NormalObject.js +++ b/protocol/src/test/javascript/zfoojs/packet/NormalObject.js @@ -18,6 +18,8 @@ const NormalObject = function() { this.mm = new Map(); // Map this.s = new Set(); // Set this.ssss = new Set(); // Set + this.outCompatibleValue = 0; // number + this.outCompatibleValue2 = 0; // number }; NormalObject.PROTOCOL_ID = 101; @@ -31,7 +33,8 @@ NormalObject.write = function(buffer, packet) { 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); @@ -50,6 +53,9 @@ NormalObject.write = function(buffer, packet) { 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); }; NormalObject.read = function(buffer) { @@ -95,10 +101,18 @@ NormalObject.read = function(buffer) { 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); } return packet; }; -export default NormalObject; +export default NormalObject; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/ObjectA.js b/protocol/src/test/javascript/zfoojs/packet/ObjectA.js index 4d9cb031..799ef689 100644 --- a/protocol/src/test/javascript/zfoojs/packet/ObjectA.js +++ b/protocol/src/test/javascript/zfoojs/packet/ObjectA.js @@ -3,6 +3,7 @@ const ObjectA = function() { this.a = 0; // number this.m = new Map(); // Map this.objectB = null; // ObjectB | null + this.innerCompatibleValue = 0; // number }; ObjectA.PROTOCOL_ID = 102; @@ -16,10 +17,13 @@ ObjectA.write = function(buffer, packet) { 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); }; ObjectA.read = function(buffer) { @@ -35,10 +39,14 @@ ObjectA.read = function(buffer) { 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); } return packet; }; -export default ObjectA; +export default ObjectA; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/ObjectB.js b/protocol/src/test/javascript/zfoojs/packet/ObjectB.js index 455c6b01..9783eb2b 100644 --- a/protocol/src/test/javascript/zfoojs/packet/ObjectB.js +++ b/protocol/src/test/javascript/zfoojs/packet/ObjectB.js @@ -1,6 +1,7 @@ const ObjectB = function() { this.flag = false; // boolean + this.innerCompatibleValue = 0; // number }; ObjectB.PROTOCOL_ID = 103; @@ -14,8 +15,11 @@ ObjectB.write = function(buffer, packet) { 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); }; ObjectB.read = function(buffer) { @@ -27,10 +31,14 @@ ObjectB.read = function(buffer) { 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); } return packet; }; -export default ObjectB; +export default ObjectB; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/SimpleObject.js b/protocol/src/test/javascript/zfoojs/packet/SimpleObject.js index fbb81f8e..2bd72428 100644 --- a/protocol/src/test/javascript/zfoojs/packet/SimpleObject.js +++ b/protocol/src/test/javascript/zfoojs/packet/SimpleObject.js @@ -37,4 +37,4 @@ SimpleObject.read = function(buffer) { return packet; }; -export default SimpleObject; +export default SimpleObject; \ No newline at end of file diff --git a/protocol/src/test/javascript/zfoojs/packet/VeryBigObject.js b/protocol/src/test/javascript/zfoojs/packet/VeryBigObject.js index 7f78aa97..fbcf63f3 100644 --- a/protocol/src/test/javascript/zfoojs/packet/VeryBigObject.js +++ b/protocol/src/test/javascript/zfoojs/packet/VeryBigObject.js @@ -13405,4 +13405,4 @@ VeryBigObject.read = function(buffer) { return packet; }; -export default VeryBigObject; +export default VeryBigObject; \ No newline at end of file