get(ForProcessor::class);
// Test HTML with foreach attribute
$html = <<<'HTML'
| Model |
Version |
Status |
| {{ $model['model_name'] }} |
{{ $model['version'] }} |
{{ $model['status'] }} |
HTML;
// Test data
$data = [
'models' => [
['model_name' => 'fraud-detector', 'version' => '1.0.0', 'status' => 'healthy'],
['model_name' => 'spam-classifier', 'version' => '2.0.0', 'status' => 'degraded'],
]
];
// Create render context
$context = new RenderContext(
template: 'test',
metaData: new MetaData('test', 'test'),
data: $data,
controllerClass: null
);
// Process
echo "=== ORIGINAL HTML ===\n";
echo $html . "\n\n";
$dom = DomWrapper::fromString($html);
echo "=== CHECKING FOR FOREACH NODES ===\n";
$foreachNodes = $dom->document->querySelectorAll('[foreach]');
echo "Found " . count($foreachNodes) . " foreach nodes\n\n";
foreach ($foreachNodes as $idx => $node) {
echo "Node $idx:\n";
echo " Tag: " . $node->tagName . "\n";
echo " Foreach: " . $node->getAttribute('foreach') . "\n";
echo " HTML: " . substr($dom->document->saveHTML($node), 0, 200) . "\n\n";
}
echo "=== PROCESSING WITH ForProcessor ===\n";
$processedDom = $forProcessor->process($dom, $context);
echo "=== PROCESSED HTML ===\n";
echo $processedDom->toHtml(true) . "\n";