From 39e33f7a5bb9a9ca1a9038fef572203a4005ac01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 15 Sep 2026 20:01:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8A=E4=BC=A0=E8=B5=84?= =?UTF-8?q?=E6=BA=90=20kind=20=E6=9E=9A=E4=B8=BE=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按 Font 与 Unknown 返回值修正上传类型断言。 使用枚举字符串视图校验 canonical kind 集合。 --- .../ai-game-creator-shell/src-tauri/src/assets.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/assets.rs b/apps/ai-game-creator-shell/src-tauri/src/assets.rs index 5b0538384..38e10f511 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/assets.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/assets.rs @@ -2214,14 +2214,14 @@ mod tests { assert_eq!(uploaded_asset_kind("theme.mp3", "audio/mpeg"), "audio"); assert_eq!(uploaded_asset_kind("intro.mp4", ""), "video"); assert_eq!(uploaded_asset_kind("rules.md", "text/markdown"), "document"); - assert_eq!(uploaded_asset_kind("ui-font.ttf", "font/ttf"), "document"); + assert_eq!(uploaded_asset_kind("ui-font.ttf", "font/ttf"), "font"); assert_eq!(uploaded_asset_kind("game.js", "text/javascript"), "code"); - // 判不出内容类型 → 中性 `asset`(派生 `unclassified` → 「待归类」),不猜具体类型。 + // 判不出内容类型 → `unknown`(派生 `unclassified` → 「待归类」),不猜具体类型。 assert_eq!( uploaded_asset_kind("unknown.bin", "application/octet-stream"), - "asset" + "unknown" ); - assert_eq!(uploaded_asset_kind("no-extension", ""), "asset"); + assert_eq!(uploaded_asset_kind("no-extension", ""), "unknown"); // 反查:正文里的"来源词"和"UI 默认值"都不得出现在返回值里。 for (file_name, media_type) in [ ("hero.png", "image/png"), @@ -2233,8 +2233,11 @@ mod tests { assert_ne!(kind, "ui", "{file_name} 写回了非 canonical 的 `ui`"); assert!( shared_contracts::game_creation_app::GAME_CREATION_APP_CANONICAL_ASSET_KINDS - .contains(&kind) - || kind == "asset", + .contains(&kind.as_str()) + || matches!( + kind, + GameCreationAppAssetKind::Font | GameCreationAppAssetKind::Unknown + ), "非 canonical kind: {kind}({file_name})" ); }