You are here

function CDNOriginPullFarFutureTestCase::testFileUrlAlterHook in CDN 7.2

File

tests/cdn.test, line 479
Test CDN.

Class

CDNOriginPullFarFutureTestCase

Code

function testFileUrlAlterHook() {

  // We don't want to test the UFI functionality here.
  $this
    ->variableSet(CDN_BASIC_FARFUTURE_UNIQUE_IDENTIFIER_MAPPING_VARIABLE, '*|perpetual');

  // Provide a very basic CDN mapping.
  $this
    ->variableSet(CDN_BASIC_MAPPING_VARIABLE, 'http://cdn-a.com');
  $filename = 'újjáépítésérol — 100% in B&W.jpg';
  $uri = "public://{$filename}";
  $this
    ->touchFile($uri);
  cdn_file_url_alter($uri);
  $path_info = pathinfo($filename);
  $expected = implode('/', array(
    'http://cdn-a.com' . base_path() . 'cdn/farfuture',
    drupal_hmac_base64('perpetual:forever' . $path_info['filename'], drupal_get_private_key() . drupal_get_hash_salt()),
    'perpetual:forever',
    variable_get('file_public_path', conf_path() . '/files'),
    drupal_encode_path($filename),
  ));
  $this
    ->assertIdentical($uri, $expected, 'cdn_file_url_alter() works correctly.');
}