// Controlul negativ al SBOM-ului re-derivat din lockfile-ul comis (sbom.test.mjs), prin mecanismul comun din _control.mjs. // node aerenew/tools/proof-of-software/test/sbom-control-negativ.mjs import { controleaza } from './_control.mjs'; process.exitCode = controleaza('sbom.test.mjs', [ ['comparatia SBOM-ului cu lockfile-ul scoasa', 'const aceleasi = JSON.stringify(a) === JSON.stringify(b);', 'const aceleasi = true;', 'CONTROL: o componenta scoasa'], // ancora pe partea STABILA a randului (1.4.0 i-a adaugat `props` la coada si ancora veche a murit: STRICAT, prins de chiar acest control) ['hash-urile de integritate scoase din forma semantica', "hashes: (c.hashes || []).map((h) => `${h.alg}:${String(h.content).toLowerCase()}`).sort(),", 'hashes: [],', 'CONTROL: un hash de integritate'], ['un arbore fara lockfile trecut drept re-derivat', "if (!fs.existsSync(path.join(src, 'package-lock.json'))) return { lipsa:", "if (false) return { lipsa:", 'fara package-lock'], ]);