Versione del gioco (src/version.js, 0.1.0): immagini, musiche e voci con ?v=<versione> e cache lunga in nginx; scripts/bump.sh e make bump per le versioni nuove
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { loadBackground, hasBackground, RETRIES, RETRY_WAIT, flameFrame } from '../src/engine/render.js';
|
||||
import { versioned } from '../src/version.js';
|
||||
|
||||
// Un Image finto: fallisce le prime `fails` volte per ogni indirizzo, e conta le richieste.
|
||||
function fakeImage(fails) {
|
||||
@@ -20,11 +21,11 @@ test('uno sfondo che non arriva si riprova dopo un po\', non a ogni fotogramma,
|
||||
try {
|
||||
assert.equal(await loadBackground(src), false);
|
||||
assert.equal(await loadBackground(src), false, 'subito dopo non si riprova');
|
||||
assert.equal(asked.get(src), 1);
|
||||
assert.equal(asked.get(versioned(src)), 1);
|
||||
assert.equal(await loadBackground(src, Date.now() + RETRY_WAIT + 1), false, 'dopo l\'attesa si riprova');
|
||||
assert.equal(asked.get(src), 2);
|
||||
assert.equal(asked.get(versioned(src)), 2);
|
||||
assert.equal(await loadBackground(src, Date.now() + RETRY_WAIT + 1), false, 'la seconda attesa è più lunga');
|
||||
assert.equal(asked.get(src), 2);
|
||||
assert.equal(asked.get(versioned(src)), 2);
|
||||
assert.equal(await loadBackground(src, Date.now() + 2 * RETRY_WAIT + 1), true);
|
||||
assert.ok(hasBackground(src));
|
||||
} finally {
|
||||
@@ -36,7 +37,7 @@ test('uno sfondo che non c\'è proprio si lascia stare dopo pochi tentativi', as
|
||||
const asked = fakeImage(Infinity), src = 'x/non-esiste.png', later = () => Date.now() + 3600e3;
|
||||
try {
|
||||
for (let i = 0; i < 10; i++) await loadBackground(src, later());
|
||||
assert.equal(asked.get(src), RETRIES + 1);
|
||||
assert.equal(asked.get(versioned(src)), RETRIES + 1);
|
||||
} finally {
|
||||
delete globalThis.Image;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user