| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | <?phpdeclare(strict_types=1);namespace App\Tests\Entity;use App\Entity\MediaVideo;use PHPUnit\Framework\TestCase;class MediaVideoTest extends TestCase{    /**     * @dataProvider urlsForMedia     */    public function testByUrl(        string $url,        string $expectedUrl,        string $expectedEmbedUrl,        string $expectedType,        string $expectedIdentif,        bool $isPathImageExists    ): void    {        $media = new MediaVideo();        $media->setUrl($url);        $this->assertEquals($expectedUrl, $media->getUrl());        $this->assertEquals($expectedEmbedUrl, $media->embedUrl());        $this->assertEquals($expectedType, $media->getType());        $this->assertEquals($expectedIdentif, $media->getIdentif());        $this->assertNull($media->getId());        $this->assertEquals("<iframe src='".$expectedEmbedUrl."' allowfullscreen></iframe>", $media->video());        if ($isPathImageExists) {            $this->assertIsString($media->image());        } else {            $this->assertNull($media->image());        }    }    /**     * @dataProvider urlsForMedia     */    public function testFromTmdb(        string $url,        string $expectedUrl,        string $expectedEmbedUrl,        string $expectedType,        string $expectedIdentif,        bool $isPathImageExists    ): void    {        $media2 = new MediaVideo();        $media2->setFromTmdb($expectedType, $expectedIdentif);        $this->assertEquals($expectedUrl, $media2->getUrl());        $this->assertEquals($expectedEmbedUrl, $media2->embedUrl());        $this->assertEquals($expectedType, $media2->getType());        $this->assertEquals($expectedIdentif, $media2->getIdentif());        $this->assertNull($media2->getId());        $this->assertEquals("<iframe src='".$expectedEmbedUrl."' allowfullscreen></iframe>", $media2->video());        if ($isPathImageExists) {            $this->assertIsString($media2->image());        } else {            $this->assertNull($media2->image());        }    }    public function urlsForMedia()    {        return [            [                'https://www.youtube.com/watch?v=jZm8eSX7MTc',                'https://www.youtube.com/watch?v=jZm8eSX7MTc',                'https://www.youtube-nocookie.com/embed/jZm8eSX7MTc',                'youtube',                'jZm8eSX7MTc',                true            ],            [                'https://www.dailymotion.com/video/x8efziw',                'https://www.dailymotion.com/video/x8efziw',                'https://www.dailymotion.com/embed/video/x8efziw',                'dailymotion',                'x8efziw',                true            ],            [                'https://vimeo.com/48130434',                'https://vimeo.com/48130434',                'https://player.vimeo.com/video/48130434',                'vimeo',                '48130434',                true            ],            [                'https://video.fdlibre.eu/videos/watch/eb38ccf6-62ce-4b52-874c-beaacc896612',                'https://video.fdlibre.eu/videos/watch/eb38ccf6-62ce-4b52-874c-beaacc896612',                'https://video.fdlibre.eu/videos/embed/eb38ccf6-62ce-4b52-874c-beaacc896612',                'peertube',                'eb38ccf6-62ce-4b52-874c-beaacc896612',                false            ],            [                'https://youtu.be/jZm8eSX7MTc',                'https://www.youtube.com/watch?v=jZm8eSX7MTc',                'https://www.youtube-nocookie.com/embed/jZm8eSX7MTc',                'youtube',                'jZm8eSX7MTc',                true            ],        ];    }}
 |