tests/test_sort_js.py übergab bisher tests/js als Verzeichnis an `node --test`; unter Node 22 führt das zu MODULE_NOT_FOUND, weil Node einen Verzeichnispfad hier nicht auflöst (Fable-Fund). Fix: Testdateien per Glob (*.test.js, sortiert) einzeln übergeben. Verifiziert unter Node 22 via Podman mit exakt dieser Argumentliste: 14/14 Tests grün, 0 geskippt. Gesamtsuite unverändert bei 248 passed, 3 skipped. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
26 lines
977 B
Python
26 lines
977 B
Python
"""Führt die JS-Tests von static/sort.js aus, falls `node` installiert ist.
|
|
Auf dem Host fehlt node derzeit - dann skip; das Fable-Gate führt die Tests
|
|
per Podman aus (siehe Plan A11 Task 4, Fable-Gate).
|
|
|
|
Die Testdateien werden explizit aufgelistet statt das Verzeichnis
|
|
tests/js zu übergeben: `node --test <verzeichnis>` scheitert unter
|
|
Node 22 mit "Cannot find module" (MODULE_NOT_FOUND), weil Node 22 einen
|
|
Verzeichnis-Pfad nicht als Test-Root auflöst wie erwartet (Fable-Fund,
|
|
A11-T4 Fix-Runde 1)."""
|
|
import shutil
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
NODE = shutil.which("node")
|
|
|
|
|
|
@pytest.mark.skipif(NODE is None, reason="node nicht installiert")
|
|
def test_sort_js():
|
|
files = sorted(str(p) for p in (ROOT / "tests" / "js").glob("*.test.js"))
|
|
r = subprocess.run([NODE, "--test", *files],
|
|
capture_output=True, text=True)
|
|
assert r.returncode == 0, r.stdout + r.stderr
|