public function OEmbedIframeControllerTest::testResourcePassedToPreprocess in Drupal 9
Tests that resources can be used in media_oembed_iframe preprocess.
@covers ::render
See also
media_test_oembed_preprocess_media_oembed_iframe()
File
- core/
modules/ media/ tests/ src/ Kernel/ OEmbedIframeControllerTest.php, line 73
Class
- OEmbedIframeControllerTest
- @coversDefaultClass \Drupal\media\Controller\OEmbedIframeController
Namespace
Drupal\Tests\media\KernelCode
public function testResourcePassedToPreprocess() {
$hash = $this->container
->get('media.oembed.iframe_url_helper')
->getHash('', 0, 0);
$url_resolver = $this
->prophesize('\\Drupal\\media\\OEmbed\\UrlResolverInterface');
$resource_fetcher = $this
->prophesize('\\Drupal\\media\\OEmbed\\ResourceFetcherInterface');
$provider = new Provider('YouTube', 'https://youtube.com', [
[
'url' => 'https://youtube.com/foo',
],
]);
$resource = Resource::rich('<iframe src="https://youtube.com/watch?feature=oembed"></iframe>', 320, 240, $provider);
$resource_fetcher
->fetchResource(Argument::cetera())
->willReturn($resource);
$this->container
->set('media.oembed.url_resolver', $url_resolver
->reveal());
$this->container
->set('media.oembed.resource_fetcher', $resource_fetcher
->reveal());
$request = new Request([
'url' => '',
'hash' => $hash,
]);
$content = OEmbedIframeController::create($this->container)
->render($request)
->getContent();
// This query parameter is added by
// media_test_oembed_preprocess_media_oembed_iframe() for YouTube videos.
$this
->assertStringContainsString('&pasta=rigatoni', $content);
}