| 123456789101112131415 |
- import assert from 'node:assert/strict'
- import {readFileSync,writeFileSync} from 'node:fs'
- import {resolve,join,dirname} from 'node:path'
- const out=resolve(process.argv[2]),base=resolve(out,'../city-regions-v6'),m=JSON.parse(readFileSync(join(out,'manifest.json'))),old=JSON.parse(readFileSync(join(base,'manifest.json'))),tree=JSON.parse(readFileSync(join(out,'coarse-tileset.json'))),ot=JSON.parse(readFileSync(join(base,'coarse-tileset.json')))
- assert.equal(m.regions.length,old.regions.length);assert.equal(tree.root.children.length,ot.root.children.length)
- let contents=0
- for(let i=0;i<m.regions.length;i++){
- const r=m.regions[i],o=old.regions[i],newUrl=resolve(out,r.url),oldUrl=resolve(base,o.url)
- assert.equal(newUrl,oldUrl);assert.equal(r.contentCount,o.contentCount);assert.equal(r.decodedGeometryBytes,o.decodedGeometryBytes)
- const t=JSON.parse(readFileSync(newUrl));assert.deepEqual(r.admissionBounds,t.root.children.map(c=>c.boundingVolume));contents+=r.admissionBounds.length
- for(const [urls,expected] of [[r.contentUrls,o.contentUrls],[r.previewContentUrls,o.previewContentUrls]])assert.deepEqual(urls.map(p=>resolve(dirname(newUrl),p)),expected.map(p=>resolve(dirname(oldUrl),p)))
- }
- for(let i=0;i<tree.root.children.length;i++){const n=tree.root.children[i],o=ot.root.children[i];assert.equal(resolve(out,n.content.uri),resolve(base,o.content.uri));assert.deepEqual(n.boundingVolume,o.boundingVolume)}
- const result={passed:true,regions:m.regions.length,actualAdmissionBounds:contents,allModelUrisUnchanged:true,geometryChanged:false,texturesChanged:false,budgetsUnchanged:true,renderingValidated:false}
- if(process.argv[3])writeFileSync(process.argv[3],JSON.stringify(result,null,2));console.log(JSON.stringify(result))
|