Seit 1987 in Köln.

Mehr';
public function testSummarizesHtml(): void
{
$summary = RenderSummary::fromHtml(self::HTML);
self::assertSame([['level' => 1, 'text' => 'Willkommen'], ['level' => 3, 'text' => 'Leistungen']], $summary['headings']);
self::assertSame(['Seit 1987 in Köln.', 'Beratung'], $summary['texts']);
self::assertSame(['text' => 'in Köln', 'href' => '/kontakt'], $summary['links'][0]);
self::assertSame(
[['src' => 'https://k.test/a.jpg', 'alt' => 'Team'], ['src' => 'https://k.test/b.jpg', 'alt' => null]],
$summary['images']
);
self::assertSame(
[
'Sprung in der Überschriftenhierarchie: h1 → h3 ("Leistungen").',
'Bild ohne Alt-Text: https://k.test/b.jpg',
'Link ohne Ziel: "Mehr".',
],
$summary['warnings']
);
self::assertSame([], RenderSummary::fromHtml('')['headings']);
self::assertCount(2, RenderSummary::fromHtml(str_repeat('x
', 5), 2)['texts']); } public function testRendersTheEntryAndAddsNotes(): void { $post = new WP_Post(['ID' => 7, 'post_type' => 'page', 'post_password' => 'geheim']); Functions\when('get_post')->justReturn($post); Functions\when('current_user_can')->justReturn(true); Functions\when('get_permalink')->justReturn('https://k.test/start/'); $schema = Mockery::mock(ContentSchema::class); $schema->allows('isManaged')->andReturn(true); $renderer = Mockery::mock(PageRenderer::class); $renderer->expects('render')->with($post)->andReturn(self::HTML); $ability = new PageRenderSummaryAbility($schema, $renderer); self::assertTrue($ability->permission(['post_id' => 7])); $result = $ability->execute(['post_id' => 7]); self::assertSame(7, $result['post_id']); self::assertSame('https://k.test/start/', $result['url']); self::assertCount(2, $result['headings']); self::assertCount(2, $result['notes']); self::assertTrue($ability->isDirect()); self::assertTrue($ability->annotations()['readonly']); } }