feat(scripts): resolveSpriteFrameUuid - ImgResID → SpriteFrame 真 UUID
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
import { test } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { resolveSpriteFrameUuid } from '../../scripts/legacy-layer-to-cocos-prefab.mjs';
|
||||
|
||||
// 数据源权威: gameabc_Image.json id=20 -> bmp="00020.png" 位于 atlas-login/,
|
||||
// 该 .meta 的 subMetas.f9941.uuid 为 e36acab8-e623-4bfb-af05-3c6fd2fddfb4@f9941
|
||||
// (SpriteFrame 真 UUID, 含 sub-asset 后缀).
|
||||
|
||||
test('resolveSpriteFrameUuid("20") 返回 atlas-login/00020.png 的 SpriteFrame 真 UUID', () => {
|
||||
const uuid = resolveSpriteFrameUuid('20');
|
||||
assert.equal(uuid, 'e36acab8-e623-4bfb-af05-3c6fd2fddfb4@f9941');
|
||||
assert.match(uuid, /@f9941$/, '必须含 SpriteFrame sub-asset 后缀 @f9941');
|
||||
});
|
||||
|
||||
test('未知 imgResId → throw(不静默兜底)', () => {
|
||||
// 数据源权威唯一、下游不兜底: ImgResID 不在 gameabc_Image.json 时必须显式报错.
|
||||
assert.throws(
|
||||
() => resolveSpriteFrameUuid('99999999'),
|
||||
/ImgResID .* not in gameabc_Image\.json/
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user