Mercurial > hg > isophonics-drupal-site
diff core/modules/media/tests/src/Functional/ResourceFetcherTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/media/tests/src/Functional/ResourceFetcherTest.php Thu Feb 28 13:21:36 2019 +0000 @@ -0,0 +1,72 @@ +<?php + +namespace Drupal\Tests\media\Functional; + +use Drupal\media\OEmbed\Resource; +use Drupal\Tests\media\Traits\OEmbedTestTrait; + +/** + * Tests the oEmbed resource fetcher service. + * + * @coversDefaultClass \Drupal\media\OEmbed\ResourceFetcher + * + * @group media + */ +class ResourceFetcherTest extends MediaFunctionalTestBase { + + use OEmbedTestTrait; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $this->useFixtureProviders(); + $this->lockHttpClientToFixtures(); + } + + /** + * Data provider for testFetchResource(). + * + * @return array + */ + public function providerFetchResource() { + return [ + 'JSON resource' => [ + 'video_vimeo.json', + 'Vimeo', + 'Drupal Rap Video - Schipulcon09', + ], + 'XML resource' => [ + 'video_collegehumor.xml', + 'CollegeHumor', + "Let's Not Get a Drink Sometime", + ], + ]; + } + + /** + * Tests resource fetching. + * + * @param string $resource_url + * The URL of the resource to fetch, relative to the base URL. + * @param string $provider_name + * The expected name of the resource provider. + * @param string $title + * The expected title of the resource. + * + * @covers ::fetchResource + * + * @dataProvider providerFetchResource + */ + public function testFetchResource($resource_url, $provider_name, $title) { + /** @var \Drupal\media\OEmbed\Resource $resource */ + $resource = $this->container->get('media.oembed.resource_fetcher') + ->fetchResource($resource_url); + + $this->assertInstanceOf(Resource::class, $resource); + $this->assertSame($provider_name, $resource->getProvider()->getName()); + $this->assertSame($title, $resource->getTitle()); + } + +}