diff --git a/scripts/verify.mjs b/scripts/verify.mjs index b672603..0472ce5 100644 --- a/scripts/verify.mjs +++ b/scripts/verify.mjs @@ -61,7 +61,9 @@ export function inputsOf(name, files) { const s = SUITES[name], live = files.filter(p => !ignored(p)); if (!s.core) return [...new Set([...ENGINE.filter(p => files.includes(p)), ...ownFiles(name, live)])].sort(); const others = Object.keys(SUITES).filter(n => !SUITES[n].core); - const foreign = new Set(others.flatMap(n => ownFiles(n, live))); + // I file degli altri minigiochi, e i file di prova delle altre prove (tests/ambient.browser.mjs non riguarda la partita). + const foreign = new Set([...others.flatMap(n => ownFiles(n, live)), + ...Object.keys(SUITES).filter(n => SUITES[n].run[0] !== s.run[0]).map(n => SUITES[n].run[0])]); return live.filter(p => !foreign.has(p)).sort(); } export const fingerprint = (paths, hashOf) => createHash('sha1').update(paths.map(p => `${p} ${hashOf(p)}`).join('\n')).digest('hex'); diff --git a/tests/verify.test.mjs b/tests/verify.test.mjs index 7c78bfb..39b316f 100644 --- a/tests/verify.test.mjs +++ b/tests/verify.test.mjs @@ -39,7 +39,8 @@ test('la briscola si riprova solo se cambia la briscola o il motore', () => { }); test('la storia, le scene, i minigiochi dentro la partita e un modulo nuovo fanno rifare la partita intera, non i minigiochi a sé', () => { - for (const path of ['src/story/story.js', 'src/story/solution.js', 'assets/scenes/piazza.png', 'src/engine/bocce.js', 'src/engine/ambient.js', 'src/engine/nuovo.js', 'tests/browser.mjs']) { + assert.deepEqual(suitesWith('tests/browser.mjs'), ['principale', 'minigiochi', 'telefoni'], 'il file di una prova conta solo per lei'); + for (const path of ['src/story/story.js', 'src/story/solution.js', 'assets/scenes/piazza.png', 'src/engine/bocce.js', 'src/engine/ambient.js', 'src/engine/nuovo.js']) { assert.deepEqual(suitesWith(path), cores, path); } });