View source
<?php
namespace Drupal\Tests\media\Unit;
use Drupal\Core\PrivateKey;
use Drupal\Core\Routing\RequestContext;
use Drupal\media\IFrameUrlHelper;
use Drupal\Tests\UnitTestCase;
class IFrameUrlHelperTest extends UnitTestCase {
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,
],
];
}
public function testIsSecure($url, $base_url, $secure) {
$request_context = $this
->createMock(RequestContext::class);
$request_context
->expects($this
->any())
->method('getCompleteBaseUrl')
->willReturn($base_url);
$url_helper = new IFrameUrlHelper($request_context, $this
->createMock(PrivateKey::class));
$this
->assertSame($secure, $url_helper
->isSecure($url));
}
}