Mercurial > hg > cmmr2012-drupal-site
diff core/modules/media/tests/src/Unit/IFrameUrlHelperTest.php @ 4:a9cd425dd02b
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:11:55 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/media/tests/src/Unit/IFrameUrlHelperTest.php Thu Feb 28 13:11:55 2019 +0000 @@ -0,0 +1,89 @@ +<?php + +namespace Drupal\Tests\media\Unit; + +use Drupal\Core\PrivateKey; +use Drupal\Core\Routing\RequestContext; +use Drupal\media\IFrameUrlHelper; +use Drupal\Tests\UnitTestCase; + +/** + * @coversDefaultClass \Drupal\media\IFrameUrlHelper + * + * @group media + */ +class IFrameUrlHelperTest extends UnitTestCase { + + /** + * Data provider for testIsSecure(). + * + * @see ::testIsSecure() + * + * @return array + */ + public function providerIsSecure() { + return [ + 'no domain' => [ + '/path/to/media.php', + 'http://www.example.com/', + FALSE, + ], + 'no base URL domain' => [ + 'http://www.example.com/media.php', + '/invalid/base/url', + FALSE, + ], + 'same domain' => [ + 'http://www.example.com/media.php', + 'http://www.example.com/', + FALSE, + ], + 'different domain' => [ + 'http://www.example.com/media.php', + 'http://www.example-assets.com/', + TRUE, + ], + 'same subdomain' => [ + 'http://foo.example.com/media.php', + 'http://foo.example.com/', + FALSE, + ], + 'different subdomain' => [ + 'http://assets.example.com/media.php', + 'http://foo.example.com/', + TRUE, + ], + 'subdomain and top-level domain' => [ + 'http://assets.example.com/media.php', + 'http://example.com/', + TRUE, + ], + ]; + } + + /** + * Tests that isSecure() behaves properly. + * + * @param string $url + * The URL to test for security. + * @param string $base_url + * The base URL to compare $url against. + * @param bool $secure + * The expected result of isSecure(). + * + * @covers ::isSecure + * + * @dataProvider providerIsSecure + */ + public function testIsSecure($url, $base_url, $secure) { + $request_context = $this->prophesize(RequestContext::class); + $request_context->getCompleteBaseUrl()->willReturn($base_url); + $url_helper = new IFrameUrlHelper( + $request_context->reveal(), + $this->prophesize(PrivateKey::class)->reveal() + ); + + $this->assertSame($secure, $url_helper->isSecure($url)); + } + +}