

























@@ -137,6 +137,26 @@ async function runNewWithPreviousSession(params: {
137137return { tempDir, files, memoryContent };
138138}
139139140+function isAsciiDigits(value: string): boolean {
141+return [...value].every((char) => char >= "0" && char <= "9");
142+}
143+144+function expectDatedMemoryFile(files: string[], slug: string) {
145+expect(files).toHaveLength(1);
146+const filename = files[0];
147+if (!filename) {
148+throw new Error("expected one session memory file");
149+}
150+const suffix = `-${slug}.md`;
151+expect(filename.endsWith(suffix)).toBe(true);
152+const datePrefix = filename.slice(0, -suffix.length);
153+const [year, month, day] = datePrefix.split("-");
154+expect([year?.length, month?.length, day?.length]).toEqual([4, 2, 2]);
155+expect(year ? isAsciiDigits(year) : false).toBe(true);
156+expect(month ? isAsciiDigits(month) : false).toBe(true);
157+expect(day ? isAsciiDigits(day) : false).toBe(true);
158+}
159+140160async function createSessionMemoryWorkspace(params?: {
141161activeSession?: { name: string; content: string };
142162}): Promise<{ tempDir: string; sessionsDir: string; activeSessionFile?: string }> {
@@ -308,7 +328,7 @@ describe("session-memory hook", () => {
308328},
309329}) satisfies OpenClawConfig,
310330});
311-expect(files).toEqual([expect.stringMatching(/^\d{4}-\d{2}-\d{2}-simple-math\.md$/)]);
331+expectDatedMemoryFile(files, "simple-math");
312332},
313333);
314334@@ -375,7 +395,7 @@ describe("session-memory hook", () => {
375395await flushSessionMemoryWritesForTest();
376396377397const files = await fs.readdir(path.join(tempDir, "memory"));
378-expect(files).toEqual([expect.stringMatching(/^\d{4}-\d{2}-\d{2}-slow-reset\.md$/)]);
398+expectDatedMemoryFile(files, "slow-reset");
379399},
380400);
381401});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。