From 0c6812fcda34f1c0b50d66bdada276c35b670f28 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 17 Sep 2026 12:59:24 +0800 Subject: [PATCH] =?UTF-8?q?test(07-10):=20=E6=9C=AB=E6=AD=A5=20set=20?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E6=94=B9=E4=B8=BA=E6=96=AD=E8=A8=80=20paramU?= =?UTF-8?q?sed=20=E7=9A=84=E5=A4=96=E9=83=A8=E5=8F=AF=E8=A7=82=E6=B5=8B?= =?UTF-8?q?=E5=81=8F=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - paramUsed 为私有成员,其正确性只能通过下一条命令参数的写入偏移观测 - 增长与缩短两条末步用例补充参数缓冲区原始字节断言,使「末步起点回退」子缺陷在未修复时可直接失败 --- packages-user/data-common/src/replay/array.test.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages-user/data-common/src/replay/array.test.ts b/packages-user/data-common/src/replay/array.test.ts index 590f70e..a05894e 100644 --- a/packages-user/data-common/src/replay/array.test.ts +++ b/packages-user/data-common/src/replay/array.test.ts @@ -317,6 +317,10 @@ describe('ReplayArray set index maintenance', () => { array.add(3, [30]); expect(array.get(2)).toEqual({ command: 3, params: [30], index: 2 }); + // 末步 set 后 paramUsed 等于实际使用字节数(2 + 6),追加命令的参数紧接其后从第 8 字节起写入 + const params = new Uint8Array(array.getParamArray()); + expect(params[8]).toBe(1); + expect(params[9]).toBe(30); }); // 验证末步 set 缩短参数后 paramUsed 相应减少,后续追加的参数落在正确偏移上 @@ -332,6 +336,10 @@ describe('ReplayArray set index maintenance', () => { array.add(3, [30]); expect(array.get(2)).toEqual({ command: 3, params: [30], index: 2 }); + // 末步 set 后 paramUsed 回落到 2 + 2,追加命令的参数紧接其后从第 4 字节起写入 + const params = new Uint8Array(array.getParamArray()); + expect(params[4]).toBe(1); + expect(params[5]).toBe(30); }); // 验证中间步 set 增长参数后,读取流逐条读回与按索引读回结果一致