From 57f29e4c067860b2141177fa493229e0d54a877a Mon Sep 17 00:00:00 2001 From: R2m1liA <15258427350@163.com> Date: Sat, 25 Oct 2025 14:55:50 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E4=B8=BAutils/file=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 容量进制转换 - 文件拓展名获取与格式化 --- tests/unit/utils/file.test.ts | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/unit/utils/file.test.ts diff --git a/tests/unit/utils/file.test.ts b/tests/unit/utils/file.test.ts new file mode 100644 index 0000000..5091966 --- /dev/null +++ b/tests/unit/utils/file.test.ts @@ -0,0 +1,36 @@ +import { + formatFileSize, + getFileExtension, + formatFileExtension, +} from '../../../app/utils/file'; +import { expect, test } from 'vitest'; + +/** + * 单元测试: formatFileSize + */ +test('formatFileSize - format bytes correctly', () => { + expect(formatFileSize(500)).toBe('500.00 B'); +}); +test('formatFileSize - format kilobytes correctly', () => { + expect(formatFileSize(2048)).toBe('2.00 KB'); +}); +test('formatFileSize - format megabytes correctly', () => { + expect(formatFileSize(5 * 1024 * 1024)).toBe('5.00 MB'); +}); + +/** + * 单元测试: getFileExtension, formatFileExtension + */ +test('getFileExtension - extract extension from filename', () => { + expect(getFileExtension('document.pdf')).toBe('pdf'); +}); +test('getFileExtension - handle filenames without extension', () => { + expect(getFileExtension('README')).toBe(''); +}); + +test('formatFileExtension - format extension without dot', () => { + expect(formatFileExtension('txt')).toBe('TXT'); +}); +test('formatFileExtension - format extension with dot', () => { + expect(formatFileExtension('.jpg')).toBe('JPG'); +});