/**
* 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