From a2dc210d5c3f0836f5a7b77cef9427eafe5d9abe Mon Sep 17 00:00:00 2001 From: Jonas Zeltner Date: Fri, 12 Apr 2024 14:15:36 +0200 Subject: [PATCH] tests(file-picker): add test where the path starts with a dot --- .../std/exec/src/file-picker-executor.spec.ts | 19 +++++++++++++++++++ .../dot-valid-file-picker.jv | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 libs/extensions/std/exec/test/assets/file-picker-executor/dot-valid-file-picker.jv diff --git a/libs/extensions/std/exec/src/file-picker-executor.spec.ts b/libs/extensions/std/exec/src/file-picker-executor.spec.ts index f89119a7..f2f1b80f 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.spec.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.spec.ts @@ -114,4 +114,23 @@ describe('Validation of FilePickerExecutor', () => { expect(result.left.message).toEqual(`File '/test.txt' not found`); } }); + + it('should work if the filename starts with a dot', async () => { + const text = readJvTestAsset('dot-valid-file-picker.jv'); + uploadTestFile('test.txt'); + + const result = await parseAndExecuteArchiveInterpreter(text, fileSystem); + + expect(R.isErr(result)).toEqual(false); + if (R.isOk(result)) { + expect(result.right).toEqual( + expect.objectContaining({ + name: 'test.txt', + extension: 'txt', + ioType: IOType.FILE, + mimeType: R.MimeType.TEXT_PLAIN, + }), + ); + } + }); }); diff --git a/libs/extensions/std/exec/test/assets/file-picker-executor/dot-valid-file-picker.jv b/libs/extensions/std/exec/test/assets/file-picker-executor/dot-valid-file-picker.jv new file mode 100644 index 00000000..ccb5c334 --- /dev/null +++ b/libs/extensions/std/exec/test/assets/file-picker-executor/dot-valid-file-picker.jv @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + +pipeline TestPipeline { + + block TestExtractor oftype TestFileExtractor { + } + + block TestBlock oftype FilePicker { + path: './test.txt'; + } + + block TestLoader oftype TestFileLoader { + } + + TestExtractor -> TestBlock -> TestLoader; +}