/** * Test-Skript für Sortieralgorithmen * Extrahiert buildSteps aus sorting_visualization.html und testet alle Algorithmen * * Usage: * node test_algorithms.js # Kurzbericht * node test_algorithms.js --verbose # Detaillierte Ausgabe */ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import vm from 'node:vm'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const verbose = process.argv.includes('--verbose'); // ── HTML parsen und JS extrahieren ── const html = fs.readFileSync(path.join(__dirname, 'sorting_visualization.html'), 'utf-8'); // Finde den letzten ', closeIdx); if (endIdx === -1) break; const content = html.substring(closeIdx + 1, endIdx); scriptBlocks.push({ tag, content, start: closeIdx + 1 }); idx = endIdx + 9; } // Nimm den Block der 'function buildSteps' enthält const codeBlock = scriptBlocks.find(b => b.content.includes('function buildSteps')); if (!codeBlock) { console.error('Fehler: Kein