[cc-3-8-x-mcp] 修复: 补全离线 CLI 解析路径与自包含夹具

改了什么:解析结果记录资源来源路径,并生成独立 Prefab、嵌套资源和脚本夹具。

为什么:测试依赖外部项目资源和临时目录时会导致嵌套解析与类 ID 结果不稳定。

影响范围:离线 CLI 解析、组件引用错误信息及 offline tools 测试。
This commit is contained in:
furao
2026-08-14 12:09:20 +08:00
parent 4fa698a757
commit a3b016ea8e
9 changed files with 251 additions and 21 deletions
+4 -6
View File
@@ -26,14 +26,12 @@ const {
} = require('../src/offline-tools.js');
// fixture: HomeUI.prefab(只读,在 cli/test/fixtures/
const FIXTURE_PATH = path.resolve(
__dirname,
'../../cli/test/fixtures/HomeUI.prefab'
);
const fixture = require('../../cli/test/fixture.js');
const FIXTURE_PATH = fixture.ensureHomeUiFixture();
// 复制 fixture 到 tmp 用于写操作
function makeTmp(tag) {
var dst = path.join(os.tmpdir(), 'HomeUI-router-' + tag + '-' + Date.now() + '.prefab');
var dst = path.join(fixture.FIXTURE_TEMP_DIR, 'HomeUI-router-' + tag + '-' + process.pid + '-' + Date.now() + '.prefab');
fs.copyFileSync(FIXTURE_PATH, dst);
return dst;
}
@@ -52,7 +50,7 @@ test('isOfflineTool 对已知 name 返回 true,未知 name 返回 false', () =
assert.equal(isOfflineTool('prefab_query'), true);
assert.equal(isOfflineTool('prefab_edit'), true);
assert.equal(isOfflineTool('prefab_batch'), true);
assert.equal(isOfflineTool('router_list_editors'), false);
assert.equal(isOfflineTool('gateway_list_editors'), false);
assert.equal(isOfflineTool('scene_set_property'), false);
assert.equal(isOfflineTool(''), false);
});