diff --git a/src/components/image-editor/ImageCanvasUploadUtils.test.ts b/src/components/image-editor/ImageCanvasUploadUtils.test.ts new file mode 100644 index 000000000..f44758e86 --- /dev/null +++ b/src/components/image-editor/ImageCanvasUploadUtils.test.ts @@ -0,0 +1,17 @@ +import { describe, expect, it } from 'vitest'; + +import { resolveUploadedAssetKind } from './ImageCanvasUploadUtils'; + +describe('ImageCanvasUploadUtils', () => { + it('maps supported upload media types to persisted asset kinds', () => { + expect(resolveUploadedAssetKind('image')).toBe('image'); + expect(resolveUploadedAssetKind('video')).toBe('video'); + expect(resolveUploadedAssetKind('audio')).toBe('audio'); + }); + + it('rejects image sequences from the single-file upload path', () => { + expect(() => resolveUploadedAssetKind('image-sequence')).toThrow( + '序列帧素材不支持按单个媒体文件上传', + ); + }); +}); diff --git a/src/components/image-editor/ImageCanvasUploadUtils.ts b/src/components/image-editor/ImageCanvasUploadUtils.ts index da6b56967..84676937c 100644 --- a/src/components/image-editor/ImageCanvasUploadUtils.ts +++ b/src/components/image-editor/ImageCanvasUploadUtils.ts @@ -11,6 +11,9 @@ export function resolveUploadedAssetKind( return 'video'; case 'audio': return 'audio'; + case 'image-sequence': + throw new Error('序列帧素材不支持按单个媒体文件上传'); + case 'image': + return 'image'; } - return 'image'; }