diff --git a/typo3/sysext/core/Classes/Resource/Rendering/YouTubeRenderer.php b/typo3/sysext/core/Classes/Resource/Rendering/YouTubeRenderer.php index 1b3593c6723739f7daa7d8c529b24c5355c521be..85e4e952792356e4d9ad6d40767d54ab68a00469 100644 --- a/typo3/sysext/core/Classes/Resource/Rendering/YouTubeRenderer.php +++ b/typo3/sysext/core/Classes/Resource/Rendering/YouTubeRenderer.php @@ -133,10 +133,10 @@ class YouTubeRenderer implements FileRendererInterface ); $attributes = ['allowfullscreen']; - if (is_array($options['additionalAttributes'])) { + if (isset($options['additionalAttributes']) && is_array($options['additionalAttributes'])) { $attributes[] = GeneralUtility::implodeAttributes($options['additionalAttributes'], true, true); } - if (is_array($options['data'])) { + if (isset($options['data']) && is_array($options['data'])) { array_walk($options['data'], function (&$value, $key) { $value = 'data-' . htmlspecialchars($key) . '="' . htmlspecialchars($value) . '"'; }); @@ -148,7 +148,7 @@ class YouTubeRenderer implements FileRendererInterface if ((int)$height > 0) { $attributes[] = 'height="' . (int)$height . '"'; } - if (is_object($GLOBALS['TSFE']) && $GLOBALS['TSFE']->config['config']['doctype'] !== 'html5') { + if (isset($GLOBALS['TSFE']) && is_object($GLOBALS['TSFE']) && $GLOBALS['TSFE']->config['config']['doctype'] !== 'html5') { $attributes[] = 'frameborder="0"'; } foreach (['class', 'dir', 'id', 'lang', 'style', 'title', 'accesskey', 'tabindex', 'onclick', 'poster', 'preload'] as $key) { diff --git a/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php b/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php index c50ac8b669b7b7c955f602fb7aa94ea74c0802bf..b3b1b81020ea87acdc4f330cf1001eb9d643a09c 100644 --- a/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php +++ b/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php @@ -1,4 +1,5 @@ <?php +declare(strict_types = 1); namespace TYPO3\CMS\Core\Tests\Unit\Resource\Rendering; /* @@ -19,17 +20,13 @@ use TYPO3\CMS\Core\Resource\FileReference; use TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\YouTubeHelper; use TYPO3\CMS\Core\Resource\Rendering\YouTubeRenderer; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * Class YouTubeRendererTest */ -class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase +class YouTubeRendererTest extends UnitTestCase { - /** - * Subject is not notice free, disable E_NOTICES - */ - protected static $suppressNotices = true; - /** * @var YouTubeRenderer|\PHPUnit_Framework_MockObject_MockObject */ @@ -99,7 +96,7 @@ class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase $this->assertSame( '<iframe src="https://www.youtube.com/embed/7331?autohide=1&controls=2&loop=1&playlist=7331&enablejsapi=1&origin=http%3A%2F%2Ftest.server.org&showinfo=0" allowfullscreen width="300" height="200"></iframe>', - $this->subject->render($fileResourceMock, '300m', '200', ['loop' => 1]) + $this->subject->render($fileResourceMock, '300m', '200', ['controls' => 2, 'loop' => 1]) ); } @@ -113,7 +110,7 @@ class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase $this->assertSame( '<iframe src="https://www.youtube.com/embed/7331?autohide=1&controls=2&autoplay=1&enablejsapi=1&origin=http%3A%2F%2Ftest.server.org&showinfo=0" allowfullscreen width="300" height="200"></iframe>', - $this->subject->render($fileResourceMock, '300m', '200', ['autoplay' => 1]) + $this->subject->render($fileResourceMock, '300m', '200', ['controls' => 2, 'autoplay' => 1]) ); } @@ -132,7 +129,7 @@ class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase $this->assertSame( '<iframe src="https://www.youtube.com/embed/7331?autohide=1&controls=2&autoplay=1&enablejsapi=1&origin=http%3A%2F%2Ftest.server.org&showinfo=0" allowfullscreen width="300" height="200"></iframe>', - $this->subject->render($fileReferenceMock, '300m', '200') + $this->subject->render($fileReferenceMock, '300m', '200', ['controls' => 2]) ); } @@ -245,7 +242,7 @@ class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase $this->assertSame( '<iframe src="https://www.youtube.com/embed/7331?autohide=1&controls=2&rel=0&enablejsapi=1&origin=http%3A%2F%2Ftest.server.org&showinfo=0" allowfullscreen width="300" height="200"></iframe>', - $this->subject->render($fileResourceMock, '300m', '200', ['relatedVideos' => 0]) + $this->subject->render($fileResourceMock, '300m', '200', ['controls' => 2, 'relatedVideos' => 0]) ); }