























@@ -285,16 +285,16 @@ describe("plugin session extension SessionEntry projection", () => {
285285expect(registry.registry.sessionExtensions ?? []).toHaveLength(0);
286286expect(
287287registry.registry.diagnostics.map(({ pluginId, message }) => ({ pluginId, message })),
288-).toContainEqual({
289-pluginId: "slot-collision",
290-message: "sessionEntrySlotKey is reserved by SessionEntry: updatedAt",
291-});
292-expect(
293-registry.registry.diagnostics.map(({ pluginId, message }) => ({ pluginId, message })),
294-).toContainEqual({
295-pluginId: "slot-collision",
296-message: "sessionEntrySlotKey is reserved by SessionEntry: subagentRecovery",
297-});
288+).toStrictEqual([
289+{
290+ pluginId: "slot-collision",
291+ message: "sessionEntrySlotKey is reserved by SessionEntry: updatedAt",
292+ },
293+{
294+ pluginId: "slot-collision",
295+ message: "sessionEntrySlotKey is reserved by SessionEntry: subagentRecovery",
296+},
297+]);
298298});
299299300300it("rejects sessionEntrySlotKey values inherited from Object.prototype", () => {
@@ -327,18 +327,20 @@ describe("plugin session extension SessionEntry projection", () => {
327327 pluginId,
328328 message,
329329}));
330-expect(diagnostics).toContainEqual({
331-pluginId: "object-slot-collision",
332-message: "sessionEntrySlotKey is reserved by Object: toString",
333-});
334-expect(diagnostics).toContainEqual({
335-pluginId: "object-slot-collision",
336-message: "sessionEntrySlotKey is reserved by Object: hasOwnProperty",
337-});
338-expect(diagnostics).toContainEqual({
339-pluginId: "object-slot-collision",
340-message: "sessionEntrySlotKey is reserved by Object: valueOf",
341-});
330+expect(diagnostics).toStrictEqual([
331+{
332+pluginId: "object-slot-collision",
333+message: "sessionEntrySlotKey is reserved by Object: toString",
334+},
335+{
336+pluginId: "object-slot-collision",
337+message: "sessionEntrySlotKey is reserved by Object: hasOwnProperty",
338+},
339+{
340+pluginId: "object-slot-collision",
341+message: "sessionEntrySlotKey is reserved by Object: valueOf",
342+},
343+]);
342344});
343345344346it("rejects duplicate promoted SessionEntry slot keys across registrations", () => {
@@ -381,14 +383,16 @@ describe("plugin session extension SessionEntry projection", () => {
381383 pluginId,
382384 message,
383385}));
384-expect(diagnostics).toContainEqual({
385-pluginId: "slot-owner",
386-message: "sessionEntrySlotKey already registered: approvalSnapshot",
387-});
388-expect(diagnostics).toContainEqual({
389-pluginId: "slot-colliding-plugin",
390-message: "sessionEntrySlotKey already registered: approvalSnapshot",
391-});
386+expect(diagnostics).toStrictEqual([
387+{
388+pluginId: "slot-owner",
389+message: "sessionEntrySlotKey already registered: approvalSnapshot",
390+},
391+{
392+pluginId: "slot-colliding-plugin",
393+message: "sessionEntrySlotKey already registered: approvalSnapshot",
394+},
395+]);
392396});
393397394398it("clears promoted SessionEntry slots with plugin-owned session state", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。