Add integration tests for mixed media in Markdown rendering
Covers image+video coexistence, multiple videos in one paragraph, videos inside list items, wiki link non-interference, YouTube timestamps end-to-end, and audio rendering through renderMarkdown. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,4 +35,45 @@ public function test_vimeo_url_renders_as_iframe(): void
|
|||||||
$this->assertStringContainsString('<iframe', $html);
|
$this->assertStringContainsString('<iframe', $html);
|
||||||
$this->assertStringContainsString('player.vimeo.com', $html);
|
$this->assertStringContainsString('player.vimeo.com', $html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_image_and_video_coexist_in_same_document(): void
|
||||||
|
{
|
||||||
|
$md = "\n\n";
|
||||||
|
$html = Document::renderMarkdown($md);
|
||||||
|
$this->assertStringContainsString('<img', $html);
|
||||||
|
$this->assertStringContainsString('<video', $html);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_multiple_media_in_same_paragraph(): void
|
||||||
|
{
|
||||||
|
$html = Document::renderMarkdown(' and ');
|
||||||
|
$this->assertSame(2, substr_count($html, '<video'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_video_inside_list_item(): void
|
||||||
|
{
|
||||||
|
$html = Document::renderMarkdown("- ");
|
||||||
|
$this->assertStringContainsString('<li>', $html);
|
||||||
|
$this->assertStringContainsString('<video', $html);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_wiki_link_unaffected_alongside_media(): void
|
||||||
|
{
|
||||||
|
$html = Document::renderMarkdown("\n\n[[Other Doc]]");
|
||||||
|
$this->assertStringContainsString('<video', $html);
|
||||||
|
$this->assertStringContainsString('[[Other Doc]]', $html);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_youtube_with_timestamp_in_document(): void
|
||||||
|
{
|
||||||
|
$html = Document::renderMarkdown('');
|
||||||
|
$this->assertStringContainsString('?start=30', $html);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_audio_url_renders_as_audio_tag(): void
|
||||||
|
{
|
||||||
|
$html = Document::renderMarkdown('');
|
||||||
|
$this->assertStringContainsString('<audio', $html);
|
||||||
|
$this->assertStringContainsString('src="/clip.mp3"', $html);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user