更新上传资源 kind 枚举测试

按 Font 与 Unknown 返回值修正上传类型断言。

使用枚举字符串视图校验 canonical kind 集合。
This commit is contained in:
2026-09-15 20:01:20 +08:00
parent 040f646480
commit 39e33f7a5b
@@ -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}"
);
}