diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-03-06 01:17:13 +0000 |
|---|---|---|
| committer | tamaina <tamaina@hotmail.co.jp> | 2023-03-06 01:17:13 +0000 |
| commit | 87d0f56dc75cdc5e29cef7a3cd41f41a998f9649 (patch) | |
| tree | e60417d54089f3b1e300ca671b438607ed257927 | |
| parent | Update CHANGELOG.md (diff) | |
| download | sharkey-87d0f56dc75cdc5e29cef7a3cd41f41a998f9649.tar.gz sharkey-87d0f56dc75cdc5e29cef7a3cd41f41a998f9649.tar.bz2 sharkey-87d0f56dc75cdc5e29cef7a3cd41f41a998f9649.zip | |
fix correctFilename extが.から始まる場合も考慮する
| -rw-r--r-- | packages/backend/src/misc/correct-filename.ts | 2 | ||||
| -rw-r--r-- | packages/backend/test/unit/misc/others.ts | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/packages/backend/src/misc/correct-filename.ts b/packages/backend/src/misc/correct-filename.ts index 8dcce6df75..3357d8c1bd 100644 --- a/packages/backend/src/misc/correct-filename.ts +++ b/packages/backend/src/misc/correct-filename.ts @@ -1,7 +1,7 @@ // 与えられた拡張子とファイル名が一致しているかどうかを確認し、 // 一致していない場合は拡張子を付与して返す export function correctFilename(filename: string, ext: string | null) { - const dotExt = ext ? `.${ext}` : '.unknown'; + const dotExt = ext ? ext.startsWith('.') ? ext : `.${ext}` : '.unknown'; if (filename.endsWith(dotExt)) { return filename; } diff --git a/packages/backend/test/unit/misc/others.ts b/packages/backend/test/unit/misc/others.ts index 8241d3078d..c476aef33b 100644 --- a/packages/backend/test/unit/misc/others.ts +++ b/packages/backend/test/unit/misc/others.ts @@ -21,6 +21,9 @@ describe('misc:correct-filename', () => { test('with same ext', () => { expect(correctFilename('filename.jpg', 'jpg')).toBe('filename.jpg'); }); + test('.ext', () => { + expect(correctFilename('filename.jpg', '.jpg')).toBe('filename.jpg'); + }); test('with different ext', () => { expect(correctFilename('filename.webp', 'jpg')).toBe('filename.webp.jpg'); }); |