title . "\n";
echo "Description: " . $metaData->description . "\n";
echo "OpenGraph Type: " . $metaData->openGraph->type->value . "\n";
// Test 2: RenderContext mit MetaData
echo "\n=== Test 2: RenderContext mit MetaData ===\n";
$renderContext = new RenderContext(
template: 'test-template',
metaData: $metaData,
data: ['content' => 'Test Content']
);
echo "Template: " . $renderContext->template . "\n";
echo "MetaData Title: " . $renderContext->metaData->title . "\n";
// Test 3: MetaManipulator mit HTML
echo "\n=== Test 3: MetaManipulator Processing ===\n";
$testHtml = '
Original Title
Test Content
';
$dom = DomWrapper::fromString($testHtml);
$manipulator = new MetaManipulator();
$processedDom = $manipulator->process($dom, $renderContext);
$processedHtml = $processedDom->toHtml();
echo "Processed HTML:\n";
echo substr($processedHtml, 0, 500) . "...\n";
// Check if meta tags were updated
if (str_contains($processedHtml, 'Test Seite | Michael Schiemer')) {
echo "✅ Title wurde korrekt gesetzt\n";
} else {
echo "❌ Title wurde nicht gesetzt\n";
}
if (str_contains($processedHtml, 'Dies ist eine Test-Beschreibung')) {
echo "✅ Description wurde korrekt gesetzt\n";
} else {
echo "❌ Description wurde nicht gesetzt\n";
}
if (str_contains($processedHtml, 'og:type" content="website"')) {
echo "✅ OpenGraph Type wurde korrekt gesetzt\n";
} else {
echo "❌ OpenGraph Type wurde nicht gesetzt\n";
}
echo "\n=== Integration Test Abgeschlossen ===\n";