Lint : formatage, ShellCheck sur le nettoyage du second site

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-09 15:36:19 +01:00
co-authored by Claude Opus 5.5
parent 5fdca812d9
commit 8fd1ba3f4f
2 changed files with 26 additions and 13 deletions
+25 -13
View File
@@ -18,13 +18,7 @@ import {
type Settings,
TUTORIAL_DONE,
} from "../src/ui/settings.js";
import {
nextPlace,
placeOf,
previousPlace,
progress,
seenAfter,
} from "../src/ui/tutorial-nav.js";
import { nextPlace, placeOf, previousPlace, progress, seenAfter } from "../src/ui/tutorial-nav.js";
import { parseTutorial } from "../src/ui/tutorial-text.js";
const root = new URL("../../../", import.meta.url);
@@ -90,17 +84,35 @@ test("tutoriel : écran suivant, précédent, adresse ramenée à un écran qui
assert.deepEqual(previousPlace(tutorial, explain(4)), practice(3));
assert.deepEqual(previousPlace(tutorial, explain(3)), explain(2));
assert.deepEqual(previousPlace(tutorial, "end"), practice(8));
assert.deepEqual(placeOf(tutorial, { screen: "tutorial", step: null, practice: false }), explain(1));
assert.deepEqual(placeOf(tutorial, { screen: "tutorial", step: 2, practice: true }), explain(2));
assert.deepEqual(placeOf(tutorial, { screen: "tutorial", step: 42, practice: false }), explain(1));
assert.deepEqual(
placeOf(tutorial, { screen: "tutorial", step: null, practice: false }),
explain(1),
);
assert.deepEqual(
placeOf(tutorial, { screen: "tutorial", step: 2, practice: true }),
explain(2),
);
assert.deepEqual(
placeOf(tutorial, { screen: "tutorial", step: 42, practice: false }),
explain(1),
);
assert.equal(placeOf(tutorial, { screen: "tutorialEnd" }), "end");
assert.equal(seenAfter(5, explain(3)), 5);
assert.equal(seenAfter(0, "end"), TUTORIAL_DONE);
// La barre : des liens vers les étapes vues seulement, pas l'actuelle.
const bar = progress(8, explain(3), 5);
assert.deepEqual(bar.filter((s) => s.link).map((s) => s.step), [1, 2, 4, 5]);
assert.deepEqual(bar.filter((s) => s.done).map((s) => s.step), [1, 2, 3]);
assert.deepEqual(bar.filter((s) => s.current).map((s) => s.step), [3]);
assert.deepEqual(
bar.filter((s) => s.link).map((s) => s.step),
[1, 2, 4, 5],
);
assert.deepEqual(
bar.filter((s) => s.done).map((s) => s.step),
[1, 2, 3],
);
assert.deepEqual(
bar.filter((s) => s.current).map((s) => s.step),
[3],
);
});
test("la marche à suivre pour installer dépend du navigateur", () => {
+1
View File
@@ -46,6 +46,7 @@ updates=build/browser-site
rm -rf "$updates"
cp -r build/site "$updates"
update_container="$(docker run -d --rm -p 127.0.0.1::80 -v "$PWD/$updates:/srv:ro" "$site_image")"
# shellcheck disable=SC2317 # appelée par trap, à la sortie
update_cleanup() {
docker rm -f "$update_container" >/dev/null 2>&1 || true
site_cleanup