From 699203d94fe59e4982f0e837ee209c9cb7b6cbf5 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 4 Oct 2023 20:57:35 +0200 Subject: [PATCH] backend-test-utils: make it possible to pass absolute paths to setContent Signed-off-by: Patrik Oldsberg --- .../src/filesystem/MockDirectory.test.ts | 2 +- .../backend-test-utils/src/filesystem/MockDirectory.ts | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/backend-test-utils/src/filesystem/MockDirectory.test.ts b/packages/backend-test-utils/src/filesystem/MockDirectory.test.ts index 9e3efdaec0..8040d03f44 100644 --- a/packages/backend-test-utils/src/filesystem/MockDirectory.test.ts +++ b/packages/backend-test-utils/src/filesystem/MockDirectory.test.ts @@ -91,7 +91,7 @@ describe('createMockDirectory', () => { mockDir.addContent({ 'b.txt': 'b', - b: { + [mockDir.resolve('b')]: { 'c.txt': 'c', }, }); diff --git a/packages/backend-test-utils/src/filesystem/MockDirectory.ts b/packages/backend-test-utils/src/filesystem/MockDirectory.ts index 20345e4ff9..61eb4fce24 100644 --- a/packages/backend-test-utils/src/filesystem/MockDirectory.ts +++ b/packages/backend-test-utils/src/filesystem/MockDirectory.ts @@ -279,19 +279,18 @@ class MockDirectoryImpl { const entries: MockEntry[] = []; function traverse(node: MockDirectoryContent[string], path: string) { - const trimmedPath = path.startsWith('/') ? path.slice(1) : path; // trim leading slash if (typeof node === 'string') { entries.push({ type: 'file', - path: trimmedPath, + path, content: Buffer.from(node, 'utf8'), }); } else if (node instanceof Buffer) { - entries.push({ type: 'file', path: trimmedPath, content: node }); + entries.push({ type: 'file', path, content: node }); } else { - entries.push({ type: 'dir', path: trimmedPath }); + entries.push({ type: 'dir', path }); for (const [name, child] of Object.entries(node)) { - traverse(child, `${trimmedPath}/${name}`); + traverse(child, path ? `${path}/${name}` : name); } } }