You are here

file_entity.test in File Entity (fieldable files) 7

Test integration for the file_entity module.

File

tests/file_entity.test
View source
<?php

/**
 * @file
 * Test integration for the file_entity module.
 */
class FileEntityUnitTestCase extends DrupalWebTestCase {
  public static function getInfo() {
    return array(
      'name' => 'File entity unit tests',
      'description' => 'Test basic file entity funcitonality.',
      'group' => 'File entity',
    );
  }
  function setUp($modules = array()) {
    $modules[] = 'file_entity';
    parent::setUp($modules);
  }

  /**
   * Regression tests for core issue http://drupal.org/node/1239376.
   */
  function testOggMimeTypeMapping() {
    $this
      ->assertEqual(file_get_mimetype('public://test.ogg'), 'audio/ogg');
  }

}
class FileEntityTokenTestCase extends DrupalWebTestCase {
  public static function getInfo() {
    return array(
      'name' => 'File entity tokens',
      'description' => 'Test the file entity tokens.',
      'group' => 'File entity',
    );
  }
  function setUp($modules = array()) {
    $modules[] = 'file_entity';
    parent::setUp($modules);
  }
  function testFileEntityTokens() {
    $text_files = $this
      ->drupalGetTestFiles('text');
    foreach ($text_files as &$file) {
      $files = file_save($file);
    }
    $tokens = array(
      'type' => 'Text',
      'type:name' => 'Text',
      'type:machine-name' => 'text',
      'type:count' => count($text_files),
    );
    $this
      ->assertTokens('file', array(
      'file' => $text_files[0],
    ), $tokens);
    $image_files = $this
      ->drupalGetTestFiles('image');
    foreach ($image_files as &$file) {
      $files = file_save($file);
    }
    $tokens = array(
      'type' => 'Image',
      'type:name' => 'Image',
      'type:machine-name' => 'image',
      'type:count' => count($image_files),
    );
    $this
      ->assertTokens('file', array(
      'file' => $image_files[0],
    ), $tokens);
  }
  function assertTokens($type, array $data, array $tokens, array $options = array()) {
    $token_input = drupal_map_assoc(array_keys($tokens));
    $values = token_generate($type, $token_input, $data, $options);
    foreach ($tokens as $token => $expected) {
      if (!isset($expected)) {
        $this
          ->assertTrue(!isset($values[$token]), t("Token value for [@type:@token] was not generated.", array(
          '@type' => $type,
          '@token' => $token,
        )));
      }
      elseif (!isset($values[$token])) {
        $this
          ->fail(t("Token value for [@type:@token] was not generated.", array(
          '@type' => $type,
          '@token' => $token,
        )));
      }
      elseif (!empty($options['regex'])) {
        $this
          ->assertTrue(preg_match('/^' . $expected . '$/', $values[$token]), t("Token value for [@type:@token] was '@actual', matching regular expression pattern '@expected'.", array(
          '@type' => $type,
          '@token' => $token,
          '@actual' => $values[$token],
          '@expected' => $expected,
        )));
      }
      else {
        $this
          ->assertIdentical($values[$token], $expected, t("Token value for [@type:@token] was '@actual', expected value '@expected'.", array(
          '@type' => $type,
          '@token' => $token,
          '@actual' => $values[$token],
          '@expected' => $expected,
        )));
      }
    }
    return $values;
  }

}

Classes

Namesort descending Description
FileEntityTokenTestCase
FileEntityUnitTestCase @file Test integration for the file_entity module.