View source
<?php
namespace Drupal\Tests\video_embed_field\Kernel;
class VideoEmbedIFrameTest extends KernelTestBase {
public function videoEmbedIframeTestCases() {
return [
'Default' => [
[
'#type' => 'video_embed_iframe',
],
'<iframe></iframe>',
],
'URL' => [
[
'#type' => 'video_embed_iframe',
'#url' => 'https://www.youtube.com/embed/fdbFVWupSsw',
],
'<iframe src="https://www.youtube.com/embed/fdbFVWupSsw"></iframe>',
],
'URL, query' => [
[
'#type' => 'video_embed_iframe',
'#url' => 'https://www.youtube.com/embed/fdbFVWupSsw',
'#query' => [
'autoplay' => '1',
],
],
'<iframe src="https://www.youtube.com/embed/fdbFVWupSsw?autoplay=1"></iframe>',
],
'URL, query, attributes' => [
[
'#type' => 'video_embed_iframe',
'#url' => 'https://www.youtube.com/embed/fdbFVWupSsw',
'#query' => [
'autoplay' => '1',
],
'#attributes' => [
'width' => '100',
],
],
'<iframe width="100" src="https://www.youtube.com/embed/fdbFVWupSsw?autoplay=1"></iframe>',
],
'Query' => [
[
'#type' => 'video_embed_iframe',
'#query' => [
'autoplay' => '1',
],
],
'<iframe></iframe>',
],
'Query, attributes' => [
[
'#type' => 'video_embed_iframe',
'#query' => [
'autoplay' => '1',
],
'#attributes' => [
'width' => '100',
],
],
'<iframe width="100"></iframe>',
],
'Attributes' => [
[
'#type' => 'video_embed_iframe',
'#attributes' => [
'width' => '100',
],
],
'<iframe width="100"></iframe>',
],
'Fragment' => [
[
'#type' => 'video_embed_iframe',
'#url' => 'https://example.com',
'#fragment' => 'test fragment',
],
'<iframe src="https://example.com#test fragment"></iframe>',
],
'XSS Testing' => [
[
'#type' => 'video_embed_iframe',
'#attributes' => [
'xss' => '">',
],
'#query' => [
'xss' => '">',
],
'#url' => '">',
'#fragment' => '">',
],
'<iframe xss="">" src="">?xss=%22%3E#">"></iframe>',
],
];
}
public function testVideoEmbedIframe($renderable, $markup) {
$this
->assertEquals($markup, trim($this->container
->get('renderer')
->renderRoot($renderable)));
}
}