import test from 'node:test'; import assert from 'node:assert/strict'; import {createRequire} from 'node:module'; const {parseVersionManifest}=createRequire(import.meta.url)('../../YouleNexus/assets/app/composition/version-manifest.js'); const xml=''; test('legacy XML maps numeric code separately from display version',()=>{ const result=parseVersionManifest(xml);assert.equal(result.versionCode,8);assert.equal(result.version,'1.8');assert.equal(result.gameid,'g');assert.equal(result.gameName,'游戏 & 测试');assert.ok(Object.isFrozen(result)); }); test('bad XML and missing or ambiguous source fields fail explicitly',()=>{ for(const bad of ['',xml.replace('value="8"','value="1.8"'),xml.replace('value="8"','value="9007199254740992"'),xml.replace('name="1.8"','name=""'),xml.replace('',''),xml.replace('',''),''+xml,xml.replace('id="a"','id="a" id="b"')])assert.throws(()=>parseVersionManifest(bad),/version.xml/); });